码迷,mamicode.com
首页 >  
搜索关键字:方法区    ( 1707个结果
一文搞懂jvm内存结构
一、jvm是干什么的? 大家都知道java是跨平台语言,一次编译可以在不同操作系统上运行,怎么做到的呢,看下图: javac把写的源代码(java文件),编译成字节码(class文件),字节码部署到linux/windows/..上,被对应的jvm解释成机器码运行,jvm的工作就是这个。 大家都知道 ...
分类:其他好文   时间:2020-02-19 17:21:07    阅读次数:65
jdk1.6与jdk1.8中String的intern()方法区别
我们用如下代码来证明两个版本intern方法的区别。 jdk1.6 String ab = new String("a") + new String("b"); //在堆中创建"a","b","ab"; String ab2 = ab.intern();//先判断常量池中是否有"ab",如果有直接返 ...
分类:其他好文   时间:2020-02-17 14:11:17    阅读次数:165
java虚拟机——垃圾回收
1.如何判定对象为垃圾对象 1.1引用计数法 1.2可达性分析 作为GCROOT的对象 虚拟机栈 本地方法区的类属性所引用的对象 方法区中常量所引用的对象 本地方法栈中引用的对象 2.如何回收 2.1回收策略 1.标记-清除算法 通过可达性分析法标记-->清除 缺点:效率较低、空间问题(出现很多不连 ...
分类:编程语言   时间:2020-02-14 22:59:48    阅读次数:135
简析类加载的过程
1.加载 加载(loading)阶段是“类加载” (Class Loading)过程的一个阶段,在加载阶段,虚拟机需要完成以下三件事情: 1)通过一个类的全限定名来获取定义此类的二进制字节流。 2)将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构 3)在Java堆中生成一个代表这个类的j ...
分类:其他好文   时间:2020-02-14 11:13:37    阅读次数:78
Java虚拟机——内存
参考1 参考2 1.线程独占区 1.1程序计数器 1.2Java虚拟机栈 递归调用方法本身的时候,没用递归出口,就会出现stackOverFlow。 1.3本地方法栈 2.线程共享区 2.1Java堆 2.2方法区 运行时常量 ...
分类:编程语言   时间:2020-02-13 13:23:35    阅读次数:63
4.JVM类加载器深入解析及重要特性剖析
一.回顾完整的加载过程 1.完整过程 2.时序图 类的加载最终产品是位于内存中的Class对象 Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区的数据结构的接口 二.类加载器 1.有两种类型的类加载器 Java虚拟机自带的加载器 根类加载器(Bootstrap):该加 ...
分类:其他好文   时间:2020-02-11 09:39:14    阅读次数:75
2.JVM的类加载器
一.类加载器深入解析与阶段分解 1.在Java代码中,类型(类)的加载、连接与初始化过程都是在程序运行期间完成的。 2.Java虚拟机结束生命周期的情况: 程序执行了System.exit()方法 程序正常执行结束 程序执行中遇到异常或错误而异常终止 操作系统出现错误导致Java虚拟机终止 3.累的 ...
分类:其他好文   时间:2020-02-10 14:10:55    阅读次数:63
内存模型以及分区,需要详细到每个区放什么
内存模型以及分区,需要详细到每个区放什么 整个计算机的内存中的一部分划给了Java程序管理,在执行Java程序的时候,虚拟机会将这部分内存划分为不同区域,都有各自的用途以及生命周期。 分区:程序计数器、虚拟机栈、本地方法栈、堆、方法区(包含运行时常量池) 程序计数器(PCR)它可以看作是当前线程所执 ...
分类:其他好文   时间:2020-02-07 19:08:29    阅读次数:107
python面向对象面试集锦(1-23)
[TOC] 1、简述面向对象三大特性 2、什么是鸭子类型? 3、super作用? 4、mro是什么? 5、什么是C3算法? 6、列举面向对象中带双下线的特殊方法? 7、单下划线与双下划线的作用? 8、实例变量和类变量的区别? 9、静态方法和类方法区别? 10、isinstance、issubclas ...
分类:编程语言   时间:2020-02-07 19:02:41    阅读次数:93
线程的状态及sleep、wait等方法的区别
1、创建状态 使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态直到程序 start() 这个线程。 2、就绪状态 当线程对象调用了start()方法之后,该线程就进入就绪状态。就绪状态的线程处于就绪队列中,要等待JVM里线程调度器的调度。 ...
分类:编程语言   时间:2020-02-06 19:50:21    阅读次数:113
1707条   上一页 1 ... 20 21 22 23 24 ... 171 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!