笔筒虫
笔筒虫
全部文章
分类
Java多线程&并发(13)
Java常用类库(5)
Java常识(6)
Java虚拟机(6)
MySQL数据库(7)
《深入理解Java虚拟机》读书小册(8)
《深入理解Java虚拟机》读书笔记(7)
剑指offer题解(13)
未归档(65)
算法基础(5)
计算机操作系统(3)
计算机网络(6)
通过UML和小DEMO学习设计模式(10)
归档
标签
去牛客网
登录
/
注册
笔筒虫的博客
全部文章
(共154篇)
问十四:谈谈你了解的垃圾回收算法?
附加: 在JDK1.7之后,去除了永久代
2019-04-17
0
471
问十三:如果发现对象不可达,那么它一定会“死”吗?
可达性分析算法中不可达的对象,并非是“非死不可”的,这时候它们暂时处于“缓刑”阶段,要真正宣告一个对象死亡,至少要经历两次标记过程: 1、对象在进行可达性分析后被发现不可达,它将会被第一次标记并进行一次筛选,筛选的条件是此对象是否有必要执行finalize()方法,当对象没有覆盖finali...
2019-04-17
0
487
问十二:对象被判断为垃圾的标准是什么?
可以通过以下算法来判断对象是否为垃圾:在java中,实际上是通过第二种方法来判断 就会出现内存泄露 在JAVA语言中,可作为GC Roots的对象包括下面几种: 1、虚拟机栈中引用的对象(栈帧中的本地变量表) 2、方法区中类静态属性引用的对象 3、方法区中常量引用的...
2019-04-17
0
529
问十一: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
问六:ClassLoader有什么用?写一个?
需要了解: 回答: 手写一个ClassLoader package com.liu.socket; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStr...
2019-04-16
0
446
问五:JVM是如何执行.class文件的?
JVM是如何执行.class文件的? 简略过程: 详细过程: 1.类加载 当我们运行java.exe命令执行某个java程序时,由于java程序本身以.class字节码的形式存在,它不是一个可执行文件,所以需要JVM将类文件加载到内存中。 JVM中有三个类加载器:...
2019-04-16
0
445
首页
上一页
7
8
9
10
11
12
13
14
15
16
下一页
末页