
JVM
文章平均质量分 67
michael_ma_
一只大菜鸟。
展开
-
Java内存泄露原因详解
一、Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会监控每个对象的运行状况,对他们的申请、引用、被引用、赋值等状况进行监控,Java会使用有向图的方转载 2014-11-10 23:13:31 · 492 阅读 · 0 评论 -
JVM内存区域浅析
java虚拟机在运行时将会包括以下几个运行时数据区域原创 2014-10-08 09:39:31 · 638 阅读 · 0 评论 -
Java的垃圾回收机制
Java相比起C、C++来说,他在申请、释放内存原创 2014-11-12 23:29:47 · 534 阅读 · 0 评论 -
JVM的类加载机制: 加载、连接、初始化。
在Java语言里面,类型的加载、链接、初始化过程d原创 2014-10-13 16:50:32 · 706 阅读 · 0 评论 -
JVM方法分派:静态多分派、动态单分派
本文主要参考:《深入理解Java虚拟机 jvm的高级特性和最佳实践》 以及原创 2014-10-16 17:58:30 · 1475 阅读 · 0 评论 -
Java虚拟机中对象的创建、存储、访问定位。
Java中,对象的创建与销毁无时无刻不在进行之中,但是原创 2014-11-14 00:09:56 · 773 阅读 · 0 评论 -
类加载器以及异常
参考博客:http://blog.youkuaiyun.com/java2000_wl/article/details/8222876 其中:针对与两种异常:NoClassDefFount和ClassNotFoundException的区别,参考此博客:http://liusu.iteye.com/blog/263443转载 2015-03-14 21:07:26 · 505 阅读 · 0 评论 -
JVM的重排序问题
重排序通常是编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。重排序分为两类:编译期重排序和运行期重排序,分别对应编译时和运行时环境。 特别是多个线程同时修改同一变量时,必须采取可靠的同步或其它措施保障数据被正确地修改,这里的一条重要原则是:不要假设指令执行的顺序,你无法预知不同线程之间的指令会以何种顺序执行。 但是在单线程程序中,通常我们容易假设指令是顺序执行的,否转载 2015-04-20 16:01:48 · 642 阅读 · 0 评论