05 2023 档案
发表于 2023-05-14 00:07阅读:9评论:0推荐:0
摘要:善用if(!n)表示只有()中条件为真的时候if语句才会执行,根据n的值判断是否为真,n为false的时候就是!n为ture此时可以执行,否则n为true的时候不定执行。
阅读全文 »
发表于 2023-05-13 20:24阅读:268评论:0推荐:0
摘要:jvm中的常量池分为三种(1.6前都在方法区) 1.类文件常量池(Class Constant Pool) 也称静态常量池 2.运行时常量池(Runtime Constant Pool) 3.字符串常量池(String Constant Pool) 1.类文件常量池 我们写的每一个Java类被编译后
阅读全文 »
发表于 2023-05-13 20:22阅读:20评论:0推荐:0
摘要:1、Buffer Pool认识 我们在对数据库执行增删改操作的时候,不可能直接更新磁盘上的数据的,因为如果你对磁盘进行随机读写操作,那速度是相当的慢, 随便一个大磁盘文件的随机读写操作,可能都要几百毫秒。如果要是那么搞的话,可能你的数据库每秒也就只能处理几百个请求了 ! 你在对数据库执行增删
阅读全文 »
发表于 2023-05-13 20:22阅读:44评论:0推荐:0
摘要:下面说的常量池都是指字符串常量池,字符串常量池存在运行时常量池之中(在JDK7之前存在运行时常量池之中,在JDK7已经将其转移到堆中),运行时常量池从永久代移到了元空间中。 String a = new String("ab"); 此时创建了两个对象,常量池中创建了ab对象,堆内存中也创建了ab对象
阅读全文 »
发表于 2023-05-13 20:22阅读:74评论:0推荐:0
摘要:==逃逸分析== 首先我们需要知道,==逃逸分析并不是直接的优化手段,而是而是分码分析手段==。具体而言就是: 逃逸分析是“一种确定指针动态范围的静态分析,它可以分析在程序的哪些地方可以访问到指针”。Java虚拟机的即时编译器会对新建的对象进行逃逸分析,判断对象是否逃逸出线程或者方法。即时编译器判断
阅读全文 »
发表于 2023-05-13 20:22阅读:67评论:0推荐:0
摘要:Minor GC 当年轻代空间不足时,就会触发Minor GC,这里的年轻代满指的是Eden满,Survivor满不会触发GC。(每次Minor GC 会清理年轻代的内存) 因为Java对象大多都具备朝生熄灭的特性,所以Minor GC非常频繁,一般回收速度也比较快。 Minor GC会引发STW,
阅读全文 »
发表于 2023-05-13 20:20阅读:9评论:0推荐:0
摘要:单列模式 一、静态引用变量直接实力例化对象 随着类装载就完成实例化 二、使用代码块,和一一样 三、懒汉式加载 前两个是类装载就完成实例化,不是当需要调用的时候才实例化 四、三的改进,加锁避免线程安全的问题,但是耗时,不高效 五、用静态代码块缩小锁的范围,但是还是会出现线程的问题 六、双重检查解决线程
阅读全文 »