自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 问答 (4)
  • 收藏
  • 关注

原创 springboot启动源码分析5——剩余内容

springboot源码分析5——剩余内容

2023-01-06 17:05:26 180

原创 Spring Boot启动源码分析6——refresh的invokeBeanFactoryPostProcessors方法详解

Spring Boot源码分析6——refresh的invokeBeanFactoryPostProcessors方法详解

2023-01-06 17:04:40 320

原创 springboot启动源码分析7——自动配置

springboot源码分析7——自动配置

2023-01-06 17:04:32 248

原创 springboot启动源码分析8——aop

springboot启动源码分析8——aop

2023-01-06 17:02:35 358

原创 springboot启动源码分析4——刷新容器

Springboot启动源码分析4——刷新容器

2023-01-06 16:59:47 371

原创 springboot启动源码分析3-环境配置

springboot启动源码分析3——环境配置

2023-01-06 16:58:42 326

原创 springboot启动源码分析2——run方法分析

springboot源码分析

2023-01-06 16:58:05 359

原创 springboot启动源码分析1——初步初始化

springboot启动过程源码分析

2022-12-16 18:24:48 499

原创 Spring事务在controller层中没用的原因以及解决方法

spring事务在controller中没用的原因以及如何解决

2022-11-15 00:05:36 1339

原创 为什么在Visual VM中的Eden和Old以及Survivor分配内存都不合理?

我使用的是JDK15参数设置-XX:+PrintFlagsFinal-XX:SurvivorRatio=8-Xms600m-Xmx600m-XX:-UseAdaptiveSizePolicy1代码如下:public class ClassNumberTest { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Animal animal = n

2022-05-21 19:59:04 206

原创 try catch中finally和return之间的理解

先上代码,你猜猜会返回什么public class Test { private int i = 0; public int anInt(){ try{ return i; }finally{ i = 520; } }}首先先不看结果,先看字节码上字节码0 aload_0 1 getfield #7 <byteCode/throwComp/Test.i : I>

2022-05-09 21:32:55 78

原创 Integer的装箱和拆箱过程

装箱:int->Integer拆箱:Integer->int装箱在使用 Integer i = 10;的时候会调用 java.lang.Integer.valueOf的方法对其进行装箱操作。注意这里需要装箱的数字大小范围为-128-127之间,如果不在这里面的区间,会直接进行new一个拆箱例如Integer i = 10;int a = i; 上述在对a进行转化的时候会把i进行拆箱操作,调用java.lang.Integer.intValue的方法对其进行拆箱操作,然后再赋值给

2022-05-03 00:40:04 1108

原创 JVM full GC和Major GC的区别

Major GC调用情况用于回收老年代执行major GC之前一定会执行一次Minor GC当老年代空间不足的时候就会执行Major GCMajor GC比Minor GC慢上10倍如果Major GC以后老年代空间还是不够用,就报OOMFull GC调用情况:调用System.gc()的时候会执行大对象转入方法区空间不足老年代的连续空间小于eden区中的对象的大小,如果还是小于,那么就查看是否开启了空间担保机制,如果没有开启,就直接进行full gc,如果开启了,就查看老年代最大

2022-05-01 23:25:23 5115 1

原创 JVM的引用之四大引用介绍

java四大引用强引用(StrongReference):程序代码中普遍存在的赋值,如Object obj = new Object();无论任何情况下,只要强引用还存在,垃圾收集器就永远不会回收掉被引用对象软引用(SoftReference):定义SoftReference softReference = new SoftReference(所要引用的对象),该软引用是在java.lang.ref下的,如果要成功回收软引用,必须要进行第二次回收,就是内存要满的时候就会回收软引用package E

2022-05-01 02:11:33 125

原创 JVM之逃逸分析之标量替换

标量替换首先要明确数据分为聚合量和标量,标量是不可在继续分的,而聚合量是能够继续分的。如果逃逸分析证明一个对象不会被外访问或者引用,并且这个对象是可以分的,那么创建的时候就不会创建这个对象了,而改为使用若干个标量来替换它,这样是为了拆开以后便于标量可以在各个栈上进行分配了。进行逃逸分析//参数如下 -server -Xms100m -Xmx100m -XX:+UseParallelGC -XX:-DoEscapeAnalysis -XX:+UseTLAB -XX:+EliminateAllocatio

2022-05-01 01:53:26 572 2

原创 JVM之使用JHSDB的执行操作分析

public class JHSDBTest { static class Test{ static ObjectHolder staticObj = new ObjectHolder(); ObjectHolder instanceObj = new ObjectHolder(); void foo(){ ObjectHolder localObj = new ObjectHolder(); Syste

2022-04-29 00:40:10 10751

原创 JVM之ZGC的回收介绍

在介绍ZGC之前首先要介绍ZGC所使用的一些技术和内存方式染色指针指将一些少量信息存储在指针上的技术,为什么他可以存储呢?他使用linux下64位指针其中的46位指针(18位不能用来寻址)其中的4位来存放四个标志信息通过这些标记能够进行看到引用对象的三色标记状态,是否进入了重分配集,是否只有通过Finalize()方法才能够进行访问?使用染色指针的优势可以是的Region中的存活对象被移走了以后能够直接回收该Region,供给下一个分配对象进行使用并且能够大幅度减少垃圾收集过程中内存屏障的使用

2022-04-28 00:32:42 732

原创 JVM垃圾回收器G1的回收过程

回收使用的数据结构Remembered Set记忆集CardTable卡表Remembered Set(以下简称RSet)RSet是每一个Region中为了提高垃圾回收扫描的效率所分配的一个区。该区主要记录其他Region引用该Region的信息,然后通过该RSet中的信息找到其他引用该Region的域,这样子的话就可以在回收的时候不用全部扫描整个堆了因为如果没有使用该RSet的话,要知道谁引用了该Region,只能通过扫描所有的堆,然后才能得出,这样的执行效率太低,因此使用了RSet你可以极大地增

2022-04-26 00:37:09 2221

原创 JVM之G1垃圾回收器入门

G1垃圾回收器背景因为我们现在开发使用的程序业务越来越庞大,复杂,传统的GC回收器无法满足现代用户交互的需求,G1回收器横空出世,为了适应多CPU和处理器的数量而设计。使用场景面向服务端应用,能够处理大内存,多处理器的机器。描述该回收器支持并发和并行。并行:垃圾线程同时进行回收工作并发:和用户线程之间在短时间内进行切换,共同执行主要使用“标记-压缩算法”,(不会产生内存碎片),首先提出了引用Region为基本单位的的概念,就相当于把内存分为一定数量的Region(域),每一个Region都

2022-04-24 21:40:53 1397

原创 【无标题】

JVM之CMS垃圾回收器

2022-04-23 21:37:04 321

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除