
java虚拟机
文章平均质量分 93
未曾路过
不忘初心,方得终始!
展开
-
浅谈JVM内存模型
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自不同的用途,以及创建和销毁时间,有些区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。Java虚拟机所管理的内存将会在包括以下几个运行时数据区域,如下图所示: 执行引擎是Java虚拟机最核...原创 2017-10-04 08:32:37 · 18163 阅读 · 2 评论 -
Java对象创建与垃圾收集器实现
Java是一门面向对象的编程语言,在Java程序运行过程中,无时无刻都有对象被创建出来;当对象没被引用时,Java垃圾收集器此时发挥作用,回收没有用的对象,释放对应所占的内存。一、Java对象创建 在语言层面上,java创建对象通常仅仅是一个new关键字而已,而在虚拟机中,对象是如何创建的呢? 虚拟机遇到一条new指令时,首先将去检查这个指令的...原创 2017-10-06 08:08:16 · 2261 阅读 · 0 评论 -
虚拟机类加载机制
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。一、类加载器过程 在Java语言中,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会为Java应用程序提供高度的灵活性,Java里天生可以动态扩展的语言特性是...原创 2017-10-21 10:01:55 · 1432 阅读 · 0 评论 -
浅谈Java内存模型
当多个线程访问同一个对象时,如果不考虑这些线程在运行时环境下的调度和交替运行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获取正确的结果,那这个对象是线程安全的。而出现线程安全问题一般是因为主内存和工作内存数据不一致性和重排序导致的,解决线程安全问题最重要的就是理解这两个问题是怎么来的。那么理解它们的核心在于理解java内存模式。 ...原创 2017-11-03 10:30:17 · 887 阅读 · 0 评论