Java
windsnow263
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【学习笔记】Java内置的关键字jstack/jmap/jstat分析运行服务的内存使用情况
用top来查看机器里cpu使用率最高进程的识别号pid方法,这个我们都会,那么怎么进一步分析呢?jstat:jstat-gcuitl -h10 <pid> 1000 1000查看指定进程的内存使用情况,用于评价当前进程是否有内存无法释放问题,包括(会有缩写)如下:S0C:第一个幸存区的大小 S1C:第二个幸存区的大小 S0U:第一个幸存区的使用大小 S1U:第二个幸存区的使用大小 EC:伊甸园区的大小 EU:伊甸园区的使用大小 OC:老年代大小 OU:老年代使用.原创 2021-01-12 10:41:04 · 350 阅读 · 0 评论 -
【学习笔记】数据库连接池学习
1、由于程序创建和数据库的连接需要开销(JDBC的创建一个Connection),数据库连接池用于存放这些连接,以供应用程序使用。使用完毕之后,重新把连接放进连接池。2、常见的数据库连接池竞品有阿里的Druid和Hibernate、Spring使用的c3p0。3、数据库连接池在整个调用链路中耗时不大,性能关键有两点:LRU缓存算法:LRU是Least Recently Used算法。存在一个有限长的链表,新加入的元素放置于表头,命中缓存的元素会移动到表头。表尾移出的元素被废弃。 PSCache原创 2020-12-28 11:14:48 · 215 阅读 · 0 评论 -
【学习笔记】单例模式
饿汉模式,即认为单例对象在单例所在的类初始化时即实例化了。因此无论该单例对象是否真正的被调用,都会进行实例化。实例化的操作放在静态变量或者静态代码块中。public class HungrySingleton { private HungrySingleton(){}; private final static HungrySingleton hungrySingleton = new HungrySingleton(); public static HungrySin原创 2020-10-16 14:55:47 · 125 阅读 · 0 评论 -
【学习笔记】多线程学习笔记
1、线程开启后并不会立即执行,由CPU来分配。2、并行不一定比串行更快,要注意上下文切换和锁的开销。3、Callable可以定义返回值,可以抛出异常。4、Runnable接口使用静态代理。Thread类本身就实现了Runnable接口。将实现了Runnable接口的线程类的实例作为参数传入Thread的构造方法中,将成为一个代理对象target并由Thread类实例代理。执行Thread实例的start方法,实际执行的就是线程类的run方法。5、扩展,创建线程时,使用Lamda表达式来替代匿名内原创 2020-10-16 14:03:55 · 228 阅读 · 1 评论
分享