![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM技术
iteye_19820
这个作者很懒,什么都没留下…
展开
-
深入JVM——类型的生命周期(一)
[size=medium]类型:类的描述信息,如此类有哪些局部变量、方法以及它的父类是什么等类型存储地址:内存中的方法区[/size][b][size=medium]类型的生命周期的简单描述[/size][/b][size=medium]类型生命周期过程: 装载——>连接——>初始化——>卸载装载:把二进制的java类型(class文件)读入到java虚拟机中连接:把读...2010-09-21 16:40:11 · 62 阅读 · 0 评论 -
深入JVM——栈和局部变量
java栈概述 记得当初我学习java时,常常听见身边的朋友说:“你要记住,当new一个对象时,对象的引用存放在栈里,而对象是存放在堆里的”。当时,听到这句教导时,脑海里立即出现栈的模型——里面存的仅仅是个引用。最近,看了下《深入JVM》,才发现,原来栈并不是我想象的那么简单,它和我想象中的那个栈的结构差别非常大。 每当启用一个线程时,JVM就为他分配一...2010-09-30 13:49:03 · 130 阅读 · 0 评论 -
深入JVM——垃圾收集器(二)
上篇文章主要描述了一下垃圾收集器的收集方式以及收集器的种类。如果对垃圾收集器还不是很了解的朋友可以去网上搜索下资料看看,或直接看《深入JVM》,如果觉得麻烦,可以看看我上篇blog。地址是: http://xtu-tja-163-com.iteye.com/blog/771401 使用垃圾收集器要注意的地方 下面将提出一些有关垃圾收集器要注意的地方和一些面试题的分析。垃圾...2010-09-25 19:41:20 · 84 阅读 · 0 评论 -
深入JVM——垃圾收集器(一)
垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。gc首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。 引用计数收集器 引用计数是垃圾收集器中的早期策略。在这种方法中,堆中每个对象(不是引用)都有一个引用计数。当一个对象被创建时,且将该对象分配给一个变量,该变量计数设置为1。当任何其它变量被赋值为这个对象的引...2010-09-25 18:58:33 · 71 阅读 · 0 评论 -
深入JVM——类加载器(二)
上篇文章主要分析了类加载器的种类以及加载规则。下面,将主要分析下与加载器有关的[b]java程序动态扩展[/b]。 这篇文章只挑了类加载器的一个问题来分析,如果要想了解类加载器的一些常见问题以及自定义类加载要注意的一些细节,可以参考我的上篇文章: [url]http://xtu-tja-163-com.iteye.com/blog/770401[/url]...2010-09-24 15:46:43 · 66 阅读 · 0 评论 -
深入JVM——类加载器(一)
在类生命周期里面分析过,类首先要被加载,形成一个Class实例,然后进行动态连接,然后进行初始化、实例化等,最后在类型不可触及时,被卸载收集。然而类是被什么加载到JVM内存里的呢?当然是类加载器。下面,详细分析下类加载器。文章参考:[url]http://weiwu83.iteye.com/blog/141207[/url] (这位同学排版且整理的比较乱,我重新整理下)...2010-09-24 14:38:16 · 78 阅读 · 0 评论 -
深入JVM——常量池
[size=medium] 上面主要分析了方法区以及方法区中的静态区域,下面将主要分析下常量池。常量池主要涉及到常量池里的内容和常量池解析这两块,这篇文章主要分析下常量池概念,大致说下常量池解析,以加深对常量池的理解。 在方法区中,每个类型都对应一个常量池,常量池中存储了诸如[color=blue]文字字符串、final变量值、类名和方法名常量[/color]。JVM把常量池...2010-09-23 19:12:32 · 87 阅读 · 0 评论 -
深入JVM——方法区
[size=medium] 当JVM使用类装载器装载某个类时,它首先要定位对应的class文件,然后读入这个class文件,最后,JVM提取该文件的内容信息,并将这些信息存储到方法区,最后返回一个class实例。上面是对类的装载过程作了个简单的描述,看了上面一段文字,也许你会问:方法区是什么?里面存了哪些内容?下面我们将对方法区作一个详细的描述。 [b]方法区是什么?有...2010-09-23 19:03:22 · 406 阅读 · 0 评论 -
深入JVM——类型的生命周期(二)
[size=medium]上篇文章已经说了类型生命周期中的装载及连接过程,下面将主要描述下初始化过程。 首先要搞清楚初始化和实例化之间的区别:实例化是根据指定类型,在堆中生成一个实例对象,而初始化则不是,它所作的处理主要是为类变量赋予初始值,这里所说的初始值是相对于连接准备阶段的默认值而言的。 注意类变量和对象变量的区别:类变量是指类的静态变量或静态块,初...2010-09-21 18:36:50 · 84 阅读 · 0 评论 -
讨论:单例和静态方法的深入讨论
常在论坛上看见一些有关单例模式、静态类、静态方法缺点的讨论,说得最多的无非是使用static,破坏了面向对象的多态性,建议除非确定了该对象不会被扩展,否则不要使用单例模式、静态方法等。其中,举例最多的是:[b]辅助类可采用单例、静态方法[/b]。 确实,我在开发中,看见的基本都是如此。但我一直有点疑问,今天在这提出,希望JE上兄弟讨论下: 辅助类使用静态方法就...2011-01-08 11:45:34 · 129 阅读 · 0 评论