草庐IT

concrypt_openjdk_jni

全部标签

Openjdk Btrace--追踪你的程序

背景BTrace是一个基于Java的动态跟踪工具,它可以帮助开发人员在运行时监视和诊断Java应用程序的行为。BTrace可以通过编写简单的脚本,对Java应用程序的方法调用、字段访问、对象创建等进行跟踪和分析。BTrace的主要特点和功能包括:动态跟踪:BTrace可以在Java应用程序运行时动态地对方法调用、字段访问、对象创建等进行跟踪。开发人员可以通过编写BTrace脚本,定义跟踪规则和动作,以监视和记录应用程序的行为。低侵入性:BTrace对被跟踪的应用程序的代码没有侵入性,不需要修改应用程序的源代码。开发人员只需在BTrace脚本中指定需要跟踪的类和方法,BTrace会在运行时自动注

OpenJDK JCov-测试你的代码覆盖率

背景JCov是OpenJDK中的一个工具,用于代码覆盖率分析。它可以帮助开发人员评估测试套件的质量,确定哪些代码路径已经被测试覆盖,哪些代码路径尚未被覆盖。JCov使用使用JCov进行代码覆盖率分析的步骤如下:构建OpenJDK时,使用--with-jcov选项启用JCov支持。在运行Java应用程序时,使用-javaagent选项加载JCov代理。例如:java-javaagent:path/to/jcov.jarMyApplication其中,path/to/jcov.jar是JCov代理的路径,MyApplication是要运行的Java应用程序。运行应用程序的测试套件,以收集代码覆盖率

【Rust笔记】Rust与Java交互-JNI模块编写-实践总结

近期工作中有Rust和Java互相调用需求,这篇文章主要介绍如何用Rust通过JNI和Java进行交互,还有记录一下开发过程中遇到的一些坑。JNI简单来说是一套Java与其他语言互相调用的标准,主要是C语言,官方也提供了基于C的C++接口。既然是C语言接口,那么理论上支持CABI的语言都可以和Java语言互相调用,Rust就是其中之一。关于JNI的历史背景以及更详细的介绍可以参考官方文档在Rust中和Java互相调用,可以使用原始的JNI接口,也就是自己声明JNI的C函数原型,在Rust里按照C的方式去调用,但这样写起来会很繁琐,而且都是unsafe的操作;不过Rust社区里已经有人基于原始的

报错:OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because boots

报错:OpenJDK64-BitServerVMwarning:Sharingisonlysupportedforbootloaderclassesbecausebootstrapclasspathhasbeenappended解决方法:搜索async取消勾选即可

OpenJDK JMH——Java程序的基准测试工具

背景JMH(JavaMicrobenchmarkHarness)是一个专门用于编写、运行和分析Java微基准测试的工具。它是由OpenJDK项目提供的一个开源项目,旨在帮助开发人员准确地测量和评估Java代码的性能。JMH提供了一组注解和API,使得编写微基准测试变得简单和方便。使用JMH,您可以定义和运行各种类型的基准测试,包括方法级别的基准测试、类级别的基准测试和多线程基准测试。JMH还提供了丰富的选项和配置,以控制基准测试的执行方式,如迭代次数、线程数、预热时间等。JMH的主要特点包括:自动优化:JMH会自动优化基准测试,以消除热点代码的影响,并提供准确的性能度量。避免优化:JMH使用黑

Android JNI系列详解之ndk-build工具的使用

一、Android项目中使用ndk-build工具编译库文件之前介绍过CMake编译工具的使用,今天介绍一种ndk自带的编译工具ndk-build的使用。ndk-build目前主要有两种配置使用方式: 如上图所示,第一种方式是Android.mk+Application.mk+gradle的方式生成库文件;第二种方式是Android.mk+Application.mk+命令行的方式生成库文件,接下来就是介绍这两种方式的使用。1、ndk-build配置构建1(Android.mk+Application.mk+gradle)Android.mk:用于向ndk-build编译工具描述源文件和库的信

OpenJDK17-JVM源码阅读-ZGC-并发标记

1、ZGC简介1.1介绍ZGC是一款低延迟的垃圾回收器,是Java垃圾收集技术的最前沿,理解了ZGC,那么便可以说理解了java最前沿的垃圾收集技术。从JDK11中作为试验特性推出以来,ZGC一直在不停地发展中。从JDK14开始,ZGC开始支持Windows。在JDK15中,ZGC不再是实验功能,可以正式投入生产使用了。在最新的JDK开源库中,已经出现了分代收集的ZGC代码,预计不久的将来会正式发布,到时相信ZGC各项表现将会更加优秀。图1分代收集的ZGC如上图,JDK21中已经有了分代ZGC的Feature。1.2ZGC特征低延迟大容量堆染色指针读屏障1.3垃圾收集阶段图2ZGC运作过程如上

JNI之Java实现蓝牙交互

蓝牙概述蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间,通过蓝牙设备之间的无线通信实现数据传输,实现数据传输,音频传输,文件传输,图片传输等多种应用的无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙技术是一种无线数据和语音通信开放的全球规范,它是基于低成本的近距离无线连接,为固定和移动设备建立通信环境的一种特殊的近距离无线技术连接。目前,越来越多的企业采用蓝牙交互技术来实现自己

Android使用android studio配置并运行Jni详细流程

前言:本文章以AndroidStudio为IDE,以手动编译不使用cmake的方式为例,在某个已有普通android项目基础上,创建jni程序并运行。详细介绍以下内容:1、环境配置(AndroidStudio、SDK、JDK、NDK、Gradle)2、创建java中的jni程序3、根据java中的jni程序生成头文件,创建c/c++文件,创建配置文件4、打包生成*.so库文件5、配置项目引用创建好的*.so库文件并运行6、ExternalTools工具的配置和使用准备好了吗?现在开干!1、环境配置:首先电脑环境为Windows1064位操作系统,mac系统暂不涉及。由于AndroidStudi

centos7卸载自带jdk(openjdk)

前提:root模式1、查看自带jdk首先确定我们有自带的jdk,然后搜索jdkjava-versionrpm-qa|grepjdk 2、使用如下命令卸载openjdkrpm-e--nodeps[name]复制带有openjdk的那两行,有的人可能有多行。一条条执行。最后java-version或rpm-qa|grepjdk看看jdk还在不在