简介Epsilon垃圾回收器控制内存分配,但是不执行任何垃圾回收工作。一旦java的堆被耗尽,jvm就直接关闭。目标提供一个完全消极的GC实现,分配有限的内存分配,最大限度降低消费内存占用量和内存吞吐时的延迟时间。一个好的实现是隔离代码变化,不影响其他GC,对小限度的改变其他的JVM代码。误区它不是为了提供给java语言或jvm一个手动管理内存的功能。它不是为了介绍一种新的管理java heap的
转载
2024-01-28 02:28:45
32阅读
获取java方法的ID 在类编译成 class 后,使用 javap –s –p YouClass 即可,比如:# javap -s -p classfile其中 classfile 不需要加 .class 。java 方法的ID是什么?例如下面三行,JNI注册的数组。 第二列红色的字符串,即引号里面的字符串就是 对应的java方法的ID "(I)Landroid/os/I
转载
2023-09-27 11:06:32
124阅读
目录什么是SPISPI(Service Provider Interface),是JDK内置的一种 服务提供发现机制,可以用来启用框架扩展和替换组件,主要是被框架的开发人员使用,比如java.sql.Driver接口,其他不同厂商可以针对同一接口做出不同的实现,MySQL和PostgreSQL都有不同的实现提供给用户,而Java的SPI机制可以为某个接口寻找服务实现类(这个服务实现类往往不在当前项
这是一篇小白笔记,是实现 JNI 的最精简的步骤(能省的步骤就尽可能省,复杂的我也不会)。JNI(Java Native Interface),简单说就是允许运行于 JVM 的 Java 程序调用本地代码(C/C++ 甚至汇编语言的代码)。那废话不多说了。这里实现一个很简单的需求,点击按钮,在 Java 端调用 C 端的方法,C 端返回一个字符串给 Java 端,并显示在界面上,如下图: 
转载
2024-04-10 05:24:36
59阅读
Java使用FFmpeg处理视频文件指南本文主要讲述如何使用Java + FFmpeg实现对视频文件的信息提取、码率压缩、分辨率转换等功能;之前在网上浏览了一大圈Java使用FFmpeg处理音视频的文章,大多都讲的比较简单,楼主在实操过程中踩了很多坑也填了很多坑,希望这份详细的踩坑&填坑指南能帮助到大家;1. 什么是FFmpeg点我了解2. 开发前准备在使用Java调用FFmpeg处理音视
转载
2019-02-18 10:06:00
183阅读
JNI的基本原理
** 在Java中调用C库函数
开发流程
------
在Java代码中通过JNI调用C函数的步骤如下:
第一步: 编写Java代码
第二步: 编译Java代码
第三步: 生成C语言头文件
第四步: 编写C代码
第五步: 生成C共享库
第六步: 运行Java程序
*** 第一步 编写Java代码
JNI方法是在Java代码中声明的。
在Java类
转载
2024-03-11 17:37:01
86阅读
JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的。例如,使用一些旧的库,与硬件、操作系统进行交互,或者为了提高程序的性能。JNI标准至少要保证本地代码能工作在任何Java
转载
2023-08-03 20:32:45
90阅读
[list]
[*][b][size=medium]什么是mmap[/size][/b]
mmap对于c程序员很熟悉,对于java程序员有点陌生。简而言之,将文件直接映射到用户态的内存地址,这样对文件的操作不再是write/read,而是直接对内存地址的操作。
在c中提供了三个函数来实现
[list]
[*]mmap 进行映射
[*]
转载
2023-08-14 17:20:13
111阅读
Java中操作MongoDB的方法MongoDB是一个介于关系数据库和非关系数据库(nosql)之间的产品,是非关系数 据库当中功能最丰富,最像关系数据库的。为什么学习MongoDBMongoDB解决Mysql 的“三高”问题: 1.对数据库高并发写入需求 2.对海量数据高效率存储访问需求 3.对数据库高扩展和高可用的需求 MongoDB 实际应用: 1.社交场景,比如朋友圈,附近的人的地点的存储
转载
2023-08-17 01:56:21
60阅读
java以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能。解决JAVA对本地操作的一种方法就是JNI。JAVA通过JNI调用本地方法,而本地方法是以库文件的形式存放的(在WINDOWS平台上是DLL文件形式,在UNIX机器上是SO文件形式)。通过调用本地的库文件的内部方法,使JAVA可以实现和本地机器的紧密联系,调用系统级的各接口方法
转载
2024-01-07 10:53:20
73阅读
1. 简介在Java开发中,与数据库的交互是常见且重要的一部分。MySQL是一个广泛使用的关系型数据库管理系统,而Java作为一种强大的编程语言,提供了丰富的API和工具,使得与MySQL数据库的结合应用更加便捷和高效。本篇博客将详细介绍在Java中如何使用MySQL进行数据库操作的步骤和技巧,包括安装MySQL驱动、配置数据库连接、执行SQL语句、处理结果集、事务管理、数据库连接池、最佳实践、错
转载
2024-07-03 11:45:38
24阅读
直接上代码吧。package collections;
import java.util.Deque;
import java.util.LinkedList;
/**
* @Package collections
* @date 2017-11-28下午5:53:32
*/
public class DequeTest {
/**
* @param args
转载
2023-08-27 15:33:36
77阅读
Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。Java NIO非堵塞技术实际是采取Reactor
转载
2023-09-08 16:52:22
57阅读
项目需求:对一段动态字符串使用openssl加密,并且将加密后的数据发送给另外一个系统。问题:看了一下openssl enc命令的帮助信息,发现他的【in】参数只能接收一个文件,对这个文件加密后,输出一个新的加密后的文件。并不接收字符串作为加密对象。客户给出的方案是,在磁盘上建立一个文件,将动态的字符串写入文件中,然后调用openssl enc加密,再读取加密后的文件,将加密后的数据发送给另外一个
转载
2023-08-09 15:50:54
101阅读
1.前一篇回顾首先没看过前一篇的,可以先去从上一篇看起。使用zeroc ice框架java快速入门最后也成功调用了另一个工程的方法。但是这种方式耦合太强,代码都写死,所以需要使用到配置文件配置。2. 进阶配置从上一篇完成的工程的基础上进行修改 在ICE Server工程的根目录创建resource目录,这里放配置文件,养成配置文件和代码分开的好习惯
data/registry目录 这里保存gr
转载
2023-12-03 09:48:50
116阅读
做项目的时候碰到一个需求 :用户上传的文件需要在线进行预览(最少要支持word pdf txt excel )的预览。openoffice的下载和使用自行百度吧~先将文档转为swf文件。需要jar包为:转换需要这个东西 (在代码用有注释哪里需要这个地址)ps:用maven的朋友可能找不到 2.2.2的jar 只有2.2.1 但是2.2.1又不能兼容高版本的office文件。我尝试过2种解决方案都可
转载
2024-04-24 09:41:27
249阅读
前提最近发现各个频道推荐了很多ULID相关文章,这里对ULID的规范文件进行解读,并且基于Java语言自行实现ULID,通过此实现过程展示ULID的底层原理。笔者尝试把ULID基于Java实现的代码工程化,见仓库ulid4j,欢迎star或者提交PRULID出现的背景 ULID logo ULID全称是Universally Unique Lexicographically Sortabl
转载
2023-09-18 18:15:25
81阅读
MapReduce Java API
MapReduce是Hadoop的一个核心组成框架一个MapReduce任务主要包括两部分:Map任务和Reduce任务。Map任务负责对数据的获取、分割与处理,其核心执行方法为map()方法;Reduce任务负责对Map任务的结果进行汇总,其核心执行方法为reduce()方法。MapReduce将并行计算过程高度抽
转载
2023-06-03 23:57:10
246阅读
Java 使用RMIJava使用序列化的方式,可以实现远端的方法调用,在分工合作时非常方便。本文记录使用java标准库实现rmi一、服务端结构.├── pom.xml├── src│ ├── main│ │ └── java│ │ └── hello│ │ ├── HelloImpl.java│ │ ...
转载
2021-07-28 17:46:21
506阅读
前提之前很长一段时间关注JDK协程库的开发进度,但是前一段时间比较忙很少去查看OpenJDK官网的内容。Java协程项目Loom(因为项目还在开发阶段,OpenJDK给出的官网https://openjdk.java.net/projects/loom中只有少量Loom项目相关的信息)已经在2018年之前立项,目前已经发布过基于JDK17编译和JDK18编译等早期版本,笔者在下载Loom早期版本的
转载
2023-09-26 08:17:28
61阅读