JAVA体系结构:JAVA设计语言,JAVA Class文件,JAVA API,JAVA虚拟机。一、java虚拟机: 1、java虚拟机的主要任务是装载class我呢间并且执行其中的字节码。java虚拟机包含一个类装载器,他可以从程序和API中装载class文件。 JAVA API中只有程序执行时....
分类:
编程语言 时间:
2015-08-26 17:44:24
阅读次数:
137
网上找了一大圈,对于java虚拟机,还是不清不楚。这张算是比较靠谱的图了。自己参考Java虚拟机规范 Java SE7版,研究了下java虚拟机的结构,浅显理解吧。下面根据这个图,理解下各个部分。...
分类:
编程语言 时间:
2015-08-26 01:57:54
阅读次数:
278
一、Java内存回收机制不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会监...
分类:
编程语言 时间:
2015-08-25 16:23:44
阅读次数:
182
【声明】欢迎转载,但请保留文章原始出处→_→生命壹号:http://www.cnblogs.com/smyhvae/文章来源:http://www.cnblogs.com/smyhvae/p/4748313.html联系方式:smyhvae@163.com本文主要内容:堆的回顾串行收集器并行收集器C...
分类:
编程语言 时间:
2015-08-21 18:51:38
阅读次数:
239
jre\bin\server和jre\bin\clientJVM.DLL众所周知java.exe是java class文件的执行程序,但实际上java.exe程序只是一个执行的外壳。它会装载jvm.dll(windows下),这个动态连接库才是java虚拟机的实际操作处理所在。java.exe程序只...
分类:
其他好文 时间:
2015-08-21 13:27:37
阅读次数:
103
java虚拟机是通过垃圾回收的方式进行内存回收的,C/C++可以通过代码控制内存释放,防止内存泄露,设置不同的垃圾回收方式和参数都会影响垃圾回收的效果,而这对系统的稳定性及单机的支撑能力方面。 jvm指令集里面没有提供垃圾回收的释放操作,所以不能直接释放内存,而要专门的垃圾回收器来完成垃圾回...
分类:
编程语言 时间:
2015-08-21 10:48:57
阅读次数:
145
【IT168 技术】当调用java命令运行某个Java程序时,该命令将启动一条Java虚拟机进程,同一个JVM的所有线程,所有变量都处于同一进程里,它们都是用该JVM进程的内存区。程序运行到最后正常结束。程序运行到使用System.exit()或Runtime().exit()代码结束程序。程序执行...
分类:
编程语言 时间:
2015-08-20 12:58:42
阅读次数:
157
第三部分 虚拟机执行子系统第6章 类文件结构//实现语言无关性的基础仍然是虚拟机和字节码存储格式,使用Java编译器可以把Java代码编译为存储字节码的Class文件,使用JRuby等其他语言的编译器一样可以把程序代码编译成Class文件,虚拟机并不关心Class的来源是什么语言,只要它符合Clas...
分类:
编程语言 时间:
2015-08-20 12:22:08
阅读次数:
143
本文主要内容:GC的概念GC算法 引用计数法(无法解决循环引用的问题,不被java采纳) 根搜索算法 现代虚拟机中的垃圾搜集算法: 标记-清除 复制算法(新生代) 标记-压缩(老年代) 分代收集可触及性Stop-The-World一、GC的概念:GC:G...
分类:
编程语言 时间:
2015-08-20 10:25:50
阅读次数:
169
java虚拟机规范规定的java虚拟机内存其实就是java虚拟机运行时数据区,其架构如下:
其中方法区和堆是由所有线程共享的数据区。
Java虚拟机栈,本地方法栈和程序计数器是线程隔离的数据区。
(1).程序计数器:
是一块较小的内存空间,其作用可以看作是当前线程所执行的字节码的行号指示器,字节码解析器工作时通过改变程序计数器的值来选取下一条需要执行的字节码指令。程...
分类:
编程语言 时间:
2015-08-20 01:34:28
阅读次数:
155