【Java,JNI】学习汇总

START FROM 2014/5/12 for memory of wenchuan

【1】关于java内存的三篇文章:

1,内存模型http://www.cnblogs.com/aigongsi/archive/2012/04/26/2470296.html

而内存模型就是规定了一个规则,处理器如何同主内存同步数据的一个规则。

2,垃圾回收http://www.cnblogs.com/aigongsi/archive/2012/04/06/2434771.html

要点:jvm采用找root对象的方式确定是否回收。

Strong Reference(强引用) –>Weak Reference (弱引用) -> Soft
Reference(软引用) – > Phantom Reference(引用)

Strong Reference : 只有在引用对象root不可达的情况下才会标识为可回收,垃圾回收才可能进行回收

Weak Reference :即使在root算法中 其引用的对象root可达到,但是如果jvm堆内存
不够的时候,还是会被回收。

Soft Reference : 无论其引用的对象是否root可达,在响应内存需要时,由垃圾回收判断是否需要回收。

Phantom Reference :在回收器确定其指示对象可另外回收之后,被加入垃圾回收队列.

3,volatile关键字http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html

对于volatile修饰的变量,jvm虚拟机只是保证从主内存加载到线程工作内存的值是最新的

【Java,JNI】学习汇总,布布扣,bubuko.com

时间: 2024-08-05 23:41:06

【Java,JNI】学习汇总的相关文章

JAVA JNI学习

JAVA JNI   JNI是Java Native Interface的缩写,中文为JAVA本地调用.从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互.JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了. 设计目的 标准的java类库可能不支持你的程序所需的特性. JNI 或许你已经有了一个用其他语言写成的库或程序,而你希望在ja

java JDK8 学习笔记——助教学习博客汇总

java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Java学习笔记第四章——认识对象 Java学习笔记第五章——对象封装 Java学习笔记第六章——继承与多态 7-10.12.14章 (by吴子怡) Java学习笔记JDK8>学习总结 11.13.15-18章 (by宋宸宁) 第11章 第13章第15章第16章第17章第18章

MINA学习汇总

MINA学习汇总 Apache Mina Server 是一个网络通信应用框架,用于开发高性能和高可用性的网络应用程序.它主要是对基于TCP/IP.UDP/IP协议栈的通信框架(然,也可以提供JAVA 对象的序列化服务.虚拟机管道通信服务等),Mina 提供了事件驱动.异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型. Apache Mina简单理解它是一个封装底层IO操作,提供高级操作API的通讯框架! Mina在整个网通通信结构中位置: Mina处于中间

JNI学习之Invocation API

本文是对链接http://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/invocation.html的学习笔记,限于英文水平和对JNI的理解,可能存在错误. 简介 通过使用Invocation API,使用C/C++开发的本地应用可以访问Java虚拟机提供的特性.为了描述简单,下面提到的VM指的都是Java虚拟机. 创建VM 在本地应用里,调用JNI_CreateJavaVM()方法可以完成初始化.加载VM,并返回指向新VM对象

【转】JNI学习积累之一 ---- 常用函数大全

原文网址:http://blog.csdn.net/qinjuning/article/details/7595104 本文原创,转载请注明出处:http://blog.csdn.net/qinjuning 最近一段时间,在工作方面比较闲,分配的Bug不是很多,于是好好利用这段时间就着源代码看了些许模块, 主要方式 还是贼看贼看代码, 同时利用烧机的便利,加Log观看,基本上都能弄个脸熟 .心里想着该写点什么了?可是水平不够,再加上 包括很多真正实现地方--中间层,基本上没看.于是乎,也就不好卖

关于java jni编译javac javah的问题

这篇文章是在安卓教程网http://android.662p.com那边分享过来的,文章说得还不错的,希望能够帮到大家的学习. javac  编译class文件命令,需要注意的是当类B中import类A时,在编译B时要包含A的路径,如 project  src  com.jl.test  A.java com.jl.test2 B.java B中importA,在编译B时应该  : javac  -cp ~/project/src  B.java       (-cp :classpath简称,

[转载]JNI学习积累之一 ---- 常用函数大全

本文转载于:http://blog.csdn.net/qinjuning 最近一段时间,在工作方面比较闲,分配的Bug不是很多,于是好好利用这段时间就着源代码看了些许模块, 主要方式 还是贼看贼看代码, 同时利用烧机的便利,加Log观看,基本上都能弄个脸熟 .心里想着该写点什么了?可是水平不够,再加上 包括很多真正实现地方--中间层,基本上没看.于是乎,也就不好卖弄了. 花了几天时间研究了下JNI,基本上知道如何使用了.照我的观点JNI还是不难的,难得只是我们一份尝试的心. 学习过程中, 发现关

JNI学习心得(1)

最近由于公司需求,开发Android项目,之前没接触过,了解甚少. Android驱动层的开发流程(个人理解):(自上而下)Android APP =>JNI => HAL => Linux devices Read/Write 据我了解,大致流程就是这样,如有不对,欢迎大礼拍砖. 由于驱动层一般由C/C++开发.需要与JAVA交互需要通过JNI. JNI负责JAVA与其他语言(C/C++)进行交互.类似于windows平台下,不同语言之间用.dll封装,进行交互. JNI最终会生成 .

JAVA native 学习 [持续更新]

最近查看ZipFile的源码,发现了native声明,学习一下,下面是整理的一些资料. java native方法及JNI实例 http://blog.csdn.net/xw13106209/article/details/6989415 JNI学习笔记(七)——异常处理 http://blog.csdn.net/ljeagle/article/details/6728930