分类目录 : Java虚拟机

浅谈JVM虚拟机内存区域

相信Java编程人员都或多或少了解变量在JVM内存中的分配情况,如基本数据类型、对象以及常量池。多数情况下可能我们比较关心的是堆内存和栈内存,某些开发人员比较常见的一种说法是基本数据类型一般存储在栈区,对象存储在堆区,常量分配在常量池。其实上面这种说法是很片面的,又如局部变量在多线程并发编程中是否需要使用同步锁等之类的问题。这些问题就是在接下来两篇博文中将要讨论介绍的,如果说你已经很明确知道上述描 [...]

Java类加载器二

有关类加载的内容前面已经介绍了两篇博文,但是仍然没有介绍到类加载的在平常开发中的使用场景,包括如何自定义类加载器。本篇文章继续介绍类加载器的相关内容,包括如何自定义类加载器,并通过简单示例介绍一下类加载器的应用。最后在介绍一下线程上下文类加载器以及类加载器在Web容器和OSGi中的应用。 Class.forName Class.forName()是一个静态方法,同样可以加载类。Class.fo [...]

Java类加载器一

类加载器介绍 在前面已经有一篇笔记简单介绍了Java类加载机制,但是限于篇幅所以将类加载器单独新启一篇继续介绍。Java类加载器处于类加载机制的第一个阶段,如果在这个阶段对类文件做任何更改都将会对运行产生重大影响。由于类加载都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会给java应用程序提供高度的灵活性。 本文所有示例都是基于JDK1.8.0_111,虚拟机版本 [...]

Java类加载机制

所谓的类加载机制就是JVM使用类加载器将编译生成的Class文件动态加载到JVM的内存空间中,最终形成可以被JVM使用的Java类型。一般情况下,Java应用开发人员不需要直接同类加载器进行交互,Java虚拟机提供的默认类加载器就已经能够满足大多数情况了。但是,如果想要往更深方向延伸,如热修复或者热部署,了解Java类加载机制则是必经之路。本文所有示例都是基于JDK1.8.0_111,虚拟机版本J [...]
共 1 页 1