
jvm
文章平均质量分 92
mid120
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Jvm工作原理学习笔记
一、 JVM的生命周期1. JVM实例对应了一个独立运行的java程序它是进程级别a) 启动。启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的class都可以作为JVM实例运行的起点b) 运行。main()作为该程序初始线程的起点,任原创 2016-06-14 17:59:21 · 467 阅读 · 0 评论 -
eclipse 下调整jdk和tomcat的jvm参数
eclipse 下调试和运行,往往会出现调整java.lang.OutOfMemoryError: Java heap space 产生的原因我猜测是使用了maven,subversion,mylar,wtp等插件,还有就是大文件,对象的操作导致,具体原因还不确定。 在网上找了找相关资料,找到了解决办法:方法(1)操作后没有起作用,不过可以参考其中查看内存的技巧 .具体解决看方法(原创 2016-06-15 11:16:50 · 632 阅读 · 0 评论 -
gc算法
1、引用计数(reference counting) 原理:此对象有一个引用,则+1;删除一个引用,则-1。只用收集计数为0的对象。 缺点:无法处理循环引用的问题。如:对象A和B分别有字段b、a,令A.b=B和B.a=A,除此之外这2个对象再无任何引用,那实际上这2个对象已经不可能再被访问,但是引用计数算法却无法回收他们。 2、复制(copy转载 2017-02-16 17:03:38 · 430 阅读 · 0 评论 -
jvm内存分配、管理小结
首先是概念层面的几个问题:Java中运行时内存结构有哪几种?Java中为什么要设计堆栈分离?Java多线程中是如何实现数据共享的?Java反射的基础是什么?然后是运用层面:引用类型变量和对象的区别?什么情况下用局部变量,什么情况下用成员变量?数组如何初始化?声明一个数组的过程中,如何分配内存?声明基本类型数组和声明引用类型的数组,初始化时,内存分配机制有什么转载 2017-02-09 15:17:31 · 394 阅读 · 0 评论 -
浅析spring中创建的对象如何保证不被回收
浅析spring中创建的对象如何保证不被回收JVM通过可达性分析来判定对象是否存活。这个算法的基本思路就是通过一系列称为 GC Roots的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为 引用链 ,当一个对象到 GC Roots 没有任何 引用链 相连时,则证明此对象是不可用的。如下图中对象object1、object2、object3、objec原创 2017-02-13 18:32:08 · 9189 阅读 · 10 评论 -
java finalize()方法解析
当垃圾回收器将要释放无用对象的内存时,先调用该对象的finalize()方法。如果在程序终止之前垃圾回收器始终没有执行垃圾回收操作,那么垃圾回收器将始终不会调用无用对象的finalize()方法。在Java的Object祖先类中提供了protected 类型的finalize()方法,因此任何Java类都可以覆盖finalize()方法,在这个方法中进行释放对象所占的相关资源的操作。 Ja原创 2017-02-14 16:20:38 · 597 阅读 · 0 评论