logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

GC时根可达算法那些是根节点gcroot

现在主流的jdk都采用了gcroot算法,那么哪些可以作为 GC Roots;jvm中判断对象是否清理的一种方法是可达性算法.可达性算法就是采用GC Roots 为根节点, 采用树状结构,向下搜索.如果对象直接到达GC Roots ,中间没有任何中间节点.则判断对象可回收. 而堆区是GC的重点区域,所以堆区不能作为GC roots因为可达性算法的特性,所以可以在gc接触不到的地方作为GC Root

#算法
终于搞清楚了:fullgc是否回收方法区

先说结论:会回收。方法区和永久代的关系很像Java中接口和类的关系,类实现了接口,而永久代就是HotSpot虚拟机对虚拟机规范中方法区的一种实现方式。我们知道在HotSpot虚拟机中存在三种垃圾回收现象,minor GC、major GC和full GC。对新生代进行垃圾回收叫做minor GC,对老年代进行垃圾回收叫做major GC,同时对新生代、老年代和永久代进行垃圾回收叫做full GC。

#java
终于讲清楚了:fullgc会回收方法区(元空间)吗

先说结论:会。原理解析:1、首先方法区和元空间不是一个维度的概念。在1.7中存在方法区,。在1.8中新增了元空间,方法区移到了元空间。根据JVM规范,JVM 内存共分为虚拟机栈,堆,方法区,程序计数器,本地方法栈五个部分。方法区(线程共享)被所有方法线程共享的一块内存区域。主要用于存储类的信息、常量池、方法数据、方法代码等。这个区域的内存回收目标主要针对常量池的回收和堆类型的卸载。2、1.8中的元

#c#
解决JSON parse error: Unrecognized field xxx

出现原因:前后端参数不一致,通常前端多传了参数。可以在接收对象上设置@JsonIgnoreProperties(ignoreUnknown = true)

#json
终于搞清楚了:OpenJDK和Sun/Oracle JDK和hotspot什么关系

历史上的原因是,OpenJDK是JDK的开放原始码版本,OpenJDK是Sun在2006年末把Java开源而形成的项目,这里的“开源”是通常意义上的源码开放形式,即源码是可被复用的,例如IcedTea、UltraViolet都是从OpenJDK源码衍生出的发行版。把这些JRL许可证形式的Sun/OracleJDK源码和对应版本的OpenJDK源码进行比较,发现除了文件头的版权注释之外,其余代码基本

java的List四种排序实现方法

public class TestSort{public static void main(String[] args) {List<Student> studentList= Lists.newArrayList();//第一种调用自身排序studentList.sort(Comparator.comparingInt(Student::getAge));//第二种调用自身排序,自定

#java#list
Idea如何往main方法传参(String[] args)

public static void main(String[] args) {System.out.println(args);for (int i = 0; i < args.length; i++) {System.out.println(args[i]);​​​​​​​​}在idea中添加参数①点击Run下的Edit Configurations②配置Configuration页中的

#idea#java#算法
终于搞清楚了:redis最多能放多少个

2^32大约42亿个,但官方只测试到了2.5亿个,一起来看一下官方文档FAQ – RedisWhat is the maximum number of keys a single Redis instance can hold? and what is the max number of elements in a Hash, List, Set, Sorted Set?Redis can han

#redis
ES查询大于或小于某个值的数据

query -> range 语句 字段是levelgte是大于等于gt是大于lte是小于等于lt是小于GET /user/_search{"query":{"range":{"level":{"gte": 5}}}}

Spring加载bean的顺序

如果是类加载到Spring容器的顺序,默认是按照类名升序的顺序加载。方法,如果没有指定顺序或者优先级规定,@Bean按照代码的顺序来进行加载;如果在某个Bean加载过程中调用还没来得及加载的Bean的方法,则(还没来得及加载的Bean)会懒加载此Bean。@Beanpublic String fun2() {System.out.println("fun2");Api api1 = fun1();

#spring#java#后端
到底了