- 博客(27)
- 收藏
- 关注
原创 【Linux日志查询小记】
可以立即开始浏览文件,而不需要等待文件完全加载,相当于直接打开文件,缓慢查看。查询日志最后1000行,并且查询出需要的关键字。查询完毕需要退出,使用control+c。n跳到下一个关键字 N跳到上一个关键字。shirt+g 直接跳到文件底部。cntrol+f 向下移动一屏。control+b向上移动一屏。
2024-05-10 19:28:10
199
原创 【@RequiredArgsConstructor注解】
1.通过 @Autowire、@Resource 等注解注入2.是通过构造器的方式进行依赖注入。3.通过 lombok 的 @RequiredArgsConstructor 注解也可以完成 spring 的依赖注入。
2023-10-24 11:02:34
225
原创 jvm(gc调优)
从性能的角度看,通常关注三个方面(latency)和大多数情况下调优会侧重于其中一个或者两个方面的目标,很少有情况可以兼顾三个不同的角度。当然,除了上面通常的三个方面,也可能需要考虑其他 GC 相关的场景,例如,也可能与不合理的 GC 相关参数有关;或者,,GC 也会是个考虑的方面。
2023-06-13 15:57:32
894
原创 G1垃圾收集器
G1收集器是Java虚拟机的垃圾收集器理论进一步发展的产物G1收集器是基于“标记-整理”算法实现的收集器,也就是说它,这对于长时间运行的应用系统来说非常重要。它可以非常,既能让使用者明确指定在一个长度为M毫秒的时间片段内,消耗在垃圾收集上的时间不得超过N毫秒,具备了一些实时Java(RTSJ)的垃圾收集器的特征。G1收集器可以实现在基本它能够极力地避免全区域的垃圾收集,之前的收集器进行收集的范围都是整个新生代或老年代,而G1将整个Java堆(包括新生代、老年代)划分为多个大小固定的。
2023-06-12 17:23:52
315
原创 JVM垃圾回收器
语句: -XX:+UserSerialGC=serial+SerialOldserial新生代的复制算法SerialOld老年代的标记加整理算法单线程堆内存较小,适合个人电脑。
2023-06-12 10:29:20
96
原创 JVM垃圾回收算法(标记清除、标记整理、复制)
和标记清除一样,标记整理的第一个阶段也是对垃圾对象进行标记,区别主要在第二个步骤,即整理。所谓的整理就是避免之前标记清除时的内存碎片的问题,他就会在清除的过程中,会把可用的对象向前给他移动,这样的话让内存更为紧凑,这就是整理的过程。整理之后,就能发现内存变的更紧凑了,即连续的空间就更多了,这样就不会造成内存碎片。复制算法比较特殊,他把内存区域划分成了大小相等的两块儿区域,左边区域称之为FROM,右边区域称之为TO,其中TO这个区域始终空闲着,即里面一个对象都没有。
2023-06-08 17:44:41
3104
2
原创 JVM《五种引用》强、软、弱、虚、终结器
我们平时在用的所有的引用都属于强引用。比如,new了一个对象,同等号赋值给了一个变量,那么这个变量强引用了刚刚的对象。强引用的特点是,只要沿着GC Root的引用,能够找到他,那么他就不会被垃圾回收。只有【强引用】引用该对象,该对象才能被垃圾回收。
2023-06-08 16:05:33
185
原创 JVM垃圾回收《引用计数法和可达性分析法》
在JVM里面,要判断一个对象是否可以被回收,最重要的是判断这个对象是否还在被使用,只有没被使用的对象才能回收。
2023-06-08 11:09:12
134
原创 JVM直接内存
1.不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域,不受JVM内存回收管理2.直接内存是在Java堆外的、直接向系统申请的内存区间来源于NIO,通过存在堆中的DirectByteBuffer操作Native内存3.通常,访问直接内存的速度会优于Java堆。即读写性能高4.因此出于性能考虑,读写频繁的场合可能会考虑使用直接内存5. Java的NIO库允许Java程序使用直接内存,用于数据缓冲区。
2023-06-08 10:21:43
338
原创 StringTable(字符串常量池)性能调优
1、常量池中的字符串仅是符号,第一次用到时才变为对象例如 String X=“a”;第一次用到的时候会将他存入常量池2、利用串池的机制,来避免重复创建字符串对象例如 String X1=“a”;第二次出现了就不会存到常量池了而是直接用new 出来的放在堆里吗,堆里的a和常量池里的a不相等可以使用方法,主动将串池中还没有的字符串对象放入串池JDK1.8中 将这个字符串对象尝试放入串池,如果有则并不会放入,如果没有则放入串池, 指向堆空间中的String对象并返回这个对象。
2023-06-07 17:23:10
225
1
原创 JVM堆(Heap)
一个JVM实例只有一个堆内存,堆也是Java内存管理的核心区域,堆在JVM启动的时候创建,其空间大小也被创建,是JVM中最大的一块内存空间,所有线程共享Java堆像程序计数器、本地方法栈、虚拟机栈都是线程私有的,而堆(Heap)、方法区都是线程共享的区域。通过new关键字创建的对象都会使用堆内存。
2023-06-06 17:54:08
152
原创 jvm的栈
jvm栈的英文全称是(Java virtual machine stacks)一个栈由多个栈帧组成,一个线程,对应着一个栈,如果是多个线程,就对应多个虚拟机栈
2023-06-06 14:47:39
192
原创 JVM程序计数器
Program Counter Register,又叫程序计数寄存器在物理上程序计数器叫寄存器CPU只有把数据装载到寄存器中才能够正常执行指令。
2023-06-06 10:57:37
334
原创 Java 抽象类理解
Java 抽象类理解在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法。在Java中抽象
2021-03-24 21:31:51
575
5
关于#mysql#的问题,如何解决?
2023-06-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人