java
itsztw
这个作者很懒,什么都没留下…
展开
-
java创建对象过程
java创建对象过程如图所示类检查器虚拟机遇到一条new指令的时候,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个行号引用代码的类是否被加载过、 解析过、初始化过.如果没有,则必须先进行相应的类加载过程.分配内存在类加载检查通过之后,接下来虚拟机将会为新生的对象分配内存. 对象所需要的内存大小在类加载完成之后便会确定,为对象分配内存空间的任务等同于把一块确...原创 2019-08-18 14:43:55 · 272 阅读 · 0 评论 -
JVM如何加载Java类的?
前言我们知道Java语言的类型可以分为两大类:基本类型 「primitive types」和引用类型「reference types」.对于Java的基本数据类型是Java虚拟机定义好的.至于另一大类 「引用数据类型」, Java将其分为四种类型:类接口数组泛型参数由于 「泛型参数」 在编译时期会被擦除, 因此Java虚拟机的类型实际上只有三种.在类、接口、数组当中,「数组」是...转载 2019-08-23 18:10:53 · 152 阅读 · 0 评论 -
Java垃圾回收算法
分类标记-清除算法该算法分为「标记 与「清除」两个阶段.标记-清除算法最基本的回收算法.后序的算法的都是对其不足进行的改进.标记标记出所有需要回收的对象.清除统一回收所有被标记的对象.缺点标记和清除的效率不高.产生大量的内存碎片.(标记-清除之后会产生大量的不连续的内存碎片)这就会导致一种情况发生,即明明有内存空间,但是申请稍微大一些的对象的空间时候无法做到....原创 2019-08-19 16:39:13 · 100 阅读 · 0 评论 -
java代码是如何执行的?
作为一名Java程序员,你应该知道Java有很多种运行方式.比如说可以在开发工具中运行,可以双击jar包运行,可以在网页端运行.当然这些运行方式都离不开JRE「也就是java运行时环境」.实际上, JRE仅仅包含了运行Java程序的必须组件, 包括java虚拟机及核心类库等.Java程序员经常使用的JDK「Java程序开发包」同样包含了JRE, 并且还附带了一些开发、诊断的工具.为什么Java...原创 2019-08-22 18:22:45 · 293 阅读 · 0 评论 -
java常见垃圾收集器
常见垃圾收集器的分类接上篇,如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现.Serial收集器「Serial」(串行)收集器是最基本、历史最悠久的垃圾收集器了.通过名称就可以看出该垃圾收集器是一个单线程收集器了.它的单线程的意义不仅仅意味着它只会使用一条垃圾收集线程去完成垃圾收集工作, 更重要的是它在进行垃圾收集工作 时候必须暂停其它所有的线程「Stop the ...原创 2019-08-21 09:09:56 · 475 阅读 · 0 评论 -
java虚拟机面试之内存划分
java内存区域(运行时数据区)java 虚拟机在执行java程序的时候会将内存划分为若干个不同的数据区域. 这里特别注意一点, jdk1.8(及以后的版本)和之前的版本略有不同.概述jdk 1.8之前:jdk1.8jdk1.8将方法区移除掉了,元空间成为其替代者.内存划分的区域中, 线程共享的有两个区域:方法区堆线程私有的有三个区域:程序计数器(pc寄存器)虚...原创 2019-08-13 19:44:36 · 208 阅读 · 0 评论