- 博客(6)
- 资源 (13)
- 收藏
- 关注
原创 Tomcat性能调优技巧
https://www.itworld.com/article/2764170/tomcat-performance-tuning-tips.html 一些适用的一般性能提示。通常,Tomcat在您执行以下操作时表现更好: 使用-Xmx开关启动具有更高堆内存最大值的JVM。你做得越高,Tomcat可以使用的内存就越多。这意味着JVM不需要经常调用垃圾收集器,这意味着服务器可以将更多的CPU时...
2019-04-18 13:33:34
193
1
原创 Minor GC 与 Full GC 分别在什么时候发生?
如果 Eden 空间占满了, 会触发 minor GC。 Minor(Scavenge) GC 后仍然存活的对象会被复制到 S0 (survivor 0)中去。 这样 Eden 就被清空可以分配给新的对象。 又触发了一次 Minor GC , S0 和 Eden 中存活的对象被复制到 S1 中, 并且 S0和 Eden 被清空。 在同一时刻, 只有 Eden 和一个 Survivor S...
2019-02-27 17:45:57
2177
1
原创 JDK8新特性
https://blog.csdn.net/CrankZ/article/details/81355643 Lambda 如果我们提供的这个接口包含一个以上的Abstract Method,那么使用lambda表达式则会报错。 只能有一个 日期 Java 8 在 java.time 包下提供了很多新的 API Local(本地) − 简化了日期时间的处理,没有时区的问题。 Z...
2019-02-12 14:03:31
206
原创 ReentrantLock源码分析-笔记
ReentrantLock的实现原理分析 之所以叫重入锁 是因为同一个线程如果已经获得了锁, 那么后续该线程调用lock方法时不需要再次获取锁, 也就是不会阻塞; 重入锁提供了两种实现, 一种是非公平的重入锁, 另一种是公平的重入锁。 怎么理解公平和非公平呢? 如果在绝对时间上,先对锁进行获取的请求一定先被满足获得锁, 那么这个锁就是公平锁, 反之,就...
2018-12-21 10:46:16
196
原创 volatile
1、volatile 变量对所有线程是可见的(不是立即可见) 2、基于volatile 的变量在多线程下未必是线程安全的 3、volatile 变量每次使用时,运行内存都要刷新下(从主内存读取)来保持一致性 4、即便刷新,该变量带来的并非原子操作,故线程不安全 5、volatile 禁止指令重排序优化 赋值语句和普通语句的执行顺序可能会被优化(赋值语句提前) 6、volatile 的同步...
2018-12-17 21:18:09
130
原创 B~树(B-Tree)与B+树
注意:首先需要说明的一点是:B - 树就是 B ~树,没有所谓的B 减 树 二叉查找树的查找的时间复杂度是O(log N),其查找效率已经足够高了, 那为什么还有B~树和B+树的出现呢? 难道它两的时间复杂度比二叉查找树还小吗? 答案当然不是,原因是因为磁盘IO; 众所周知,IO操作的效率很低,那么,当在大量数据存储中,查询时我们不能一下子将所有数据加载到内存中,只能逐一加载磁盘页,每个...
2018-12-07 11:13:56
377
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人