【JVM面试题】JVM新生代,老年代,持久代,都存储哪些东西?

持久代主要存放的是Java类的类信息,与垃圾收集要收集的Java对象关系不大。所有新生成的对象首先都是放在年轻代的,年老代中存放的都是一些生命周期较长的对象。  

hapicker 2019年01月14日 15:38:59

【JVM面试题】JVM新生代,老年代,持久代,都存储哪些东西?

持久代主要存放的是Java类的类信息,与垃圾收集要收集的Java对象关系不大。所有新生成的对象首先都是放在年轻代的,年老代中存放的都是一些生命周期较长的对象。  

hapicker 2019年01月14日 15:38:58

【JVM面试题】JVM分为哪些区,每一个区干吗的?

1)方法区(method):被所有的线程共享。方法区包含所有的类信息和静态变量。2)堆(heap):被所有的线程共享,存放对象实例以及数组,Java堆是GC的主要区域。3)栈(stack):每个线程包

hapicker 2019年01月14日 15:38:39

【JVM面试题】GC算法(什么样的对象算是可回收对象,可达性分析),CMS收集器

jvm是如何判断一个对象已经变成了可回收的“垃圾”,一般是两个方法:引用记数法和根搜索算法。引用记数法没办法解决循环引用的问题,所以用根搜索。从一系列的”GC Roots“对象开始向下搜索,搜索走过的

hapicker 2019年01月14日 15:38:17

【JVM面试题】JVM如何加载一个类的过程,双亲委派模型中有哪些方法

类加载过程:加载、验证(验证阶段作用是保证Class文件的字节流包含的信息符合JVM规范,不会给JVM造成危害)、准备(准备阶段为变量分配内存并设置类变量的初始化)、解析(解析过程是将常量池内的符号引

hapicker 2019年01月14日 15:37:44

133个Java面试问题列表

Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别(String 类型和 StringBuffer 类型的主要性能区别其实在于 Stri

hapicker 2019年01月09日 10:04:38

SpringBoot整合RabbitMQ示例

整合RabbitMQ示例RabbitMQ基本概念Broke:可以理解为消息队列服务器的实体,它是一个中间件应用,负责接收消息生产者的消息,然后将消息发送至消息接收者或者其他的Broker;Exchan

hapicker 2018年12月13日 16:50:02

当你使用Object作为HashMap里面的key的时候,哪两个方法需要实现?

为了在 hashMap或者 hashtable中把对象作为key,它必须实现equals和hashcode方法。  

hapicker 2018年12月11日 08:55:25

什么是不可变对象?你可以写一个不可变类吗?

不可变对象是指Java类的对象一单被创建,不能被修改。任何不可变对象对象的修改在创建时候就已经完成,例如,Java中String是不可变的大多数不可变类是final的, 这样可以防止因子类重写方法而导

hapicker 2018年12月11日 08:55:04

双引号直接创建字符串和使用new()创建字符串有什么区别?

使用new()创建String对象,实例被创建在堆中, 不会被添加到String常量池中,当通过字面量 创建时,会被放到堆中的永久区的String常量池中。Stringstr=newString("T

hapicker 2018年12月11日 08:54:45