笔筒虫
笔筒虫
全部文章
未归档
Java多线程&并发(13)
Java常用类库(5)
Java常识(6)
Java虚拟机(6)
MySQL数据库(7)
《深入理解Java虚拟机》读书小册(8)
《深入理解Java虚拟机》读书笔记(7)
剑指offer题解(13)
算法基础(5)
计算机操作系统(3)
计算机网络(6)
通过UML和小DEMO学习设计模式(10)
归档
标签
去牛客网
登录
/
注册
笔筒虫的博客
全部文章
/ 未归档
(共65篇)
问十五:说说CMS收集器?(翻译自plumbr.io)
CMS收集器 (-XX:+UseConcMarkSweepGC 标记-清除算法) 概述: CMS,全称Concurrent Mark and Sweep,用于对年老代进行回收,目标是尽量减少应用的暂停时间,减少full gc发生的机率,利用和应用程序线程并发的垃圾回收线程来标记清除年老代 C...
2019-04-17
0
554
问十四:谈谈你了解的垃圾回收算法?
附加: 在JDK1.7之后,去除了永久代
2019-04-17
0
471
问十三:如果发现对象不可达,那么它一定会“死”吗?
可达性分析算法中不可达的对象,并非是“非死不可”的,这时候它们暂时处于“缓刑”阶段,要真正宣告一个对象死亡,至少要经历两次标记过程: 1、对象在进行可达性分析后被发现不可达,它将会被第一次标记并进行一次筛选,筛选的条件是此对象是否有必要执行finalize()方法,当对象没有覆盖finali...
2019-04-17
0
487
问十一:JVM调优常用配置参数有哪些?
例如:-Xms20m -Xmx20m -Xss256k jvm配置 XX比X的稳定性更差,并且版本更新不会进行通知和说明。 1、-Xms s为strating,表示堆内存起始大小 2、-Xmx x为max,表示最大的堆内存 (一般来说-Xms和-Xmx的设置为相同大小,...
2019-04-17
0
504
问十:不同JDK版本之间intern()方法的区别?(JDK6 与JDK6+)
区别: 这个会不会是因为StringTable移到 这里判断字符串常量池先前是否创建出该字符串对象的方法是:比较字面值(感觉是equal,留个坑,以后补【感觉是对的,直接看JDK API,还是API靠谱准确些,解析放在附1】) 返回的是true 注:在JDK1.6的时候,字符串常量池是存...
2019-04-16
0
510
问九:元空间(MetaSpace)与永久代(PermGen)的区别是什么?
两者介绍: 在JDK1.8之后,开始将类的元数据Meta信息放到本地堆内存中,这部分内存就称为元空间,这在JDK1.7及以前是属于永久代的,但是在JDK1.8之后,元空间就取代了永久代 它们两个都是用来存储class的相关信息的,比如class的method和field等 它们两个都是方法区的...
2019-04-16
0
688
问八:说说loadClass和forName的区别?
源代码解析: ClassLoader.loadClass 首先是ClassLoader的loadClass(String class_name, boolean resolve)方法,传入了一个resolve的boolean类型 如果为true,则执行resolveClass方法,这个方法...
2019-04-16
0
565
问七:谈谈ClassLoader的双亲委派机制?
原理图: 代码实现: 这段代码的意思是:如果当前类加载器还有父类,就委托父类进行类加载,这个过程一直持续到BootstrapClassLoader这个类中,如果没有则报错。如果某一个父类中有,则加载到内存中,同时findLoadedClass就能够得到加载后的class,直接跳过父类加载...
2019-04-16
0
1642
问五:JVM是如何执行.class文件的?
JVM是如何执行.class文件的? 简略过程: 详细过程: 1.类加载 当我们运行java.exe命令执行某个java程序时,由于java程序本身以.class字节码的形式存在,它不是一个可执行文件,所以需要JVM将类文件加载到内存中。 JVM中有三个类加载器:...
2019-04-16
0
445
问三: JAVA内存模型中堆和栈的区别?
联系: 引用对象、数组时,栈里面定义变量保存堆中目标的首地址 区别:
2019-04-16
0
860
首页
上一页
1
2
3
4
5
6
7
下一页
末页