摘要:        
四、实战调优 1、你在项目中都使用了哪些参数打印GC? 具体的参数名称记不清楚了,但是我一般在项目中输出详细的 GC 日志,并加上可读性强的 GC 日志的时间戳。特别情况下我还会追加一些反映对象晋升情况和堆详细信息的日志,这些会单独打到gc.log文件中用来排查问题。另外,OOM 时自动 Dump     阅读全文
posted @ 2022-04-15 11:30
zydbky
阅读(326)
评论(0)
推荐(0)
        
            
        
        
摘要:        
三、GC垃圾回收 1、GC是什么?为什么要GC GC:垃圾收集,GC能帮助我们释放jvm内存,可以一定程度避免OOM问题,但是也无法完全避免。Java的GC是自动工作的,不像C++需要主动调用。 当new对象的时候,GC就开始监控这个对象的地址大小和使用情况了,通过可达性分析算法寻找不可达的对象然后    阅读全文
posted @ 2022-04-15 11:28
zydbky
阅读(98)
评论(0)
推荐(0)
        
            
        
        
摘要:        
二、Java内存区域 1、Java内存结构 程序计数器 当前线程所执行字节码的行号指示器。若当前方法是native的,那么程序计数器的值就是undefined。 线程私有,Java内存区域中唯一一块不会发生OOM或StackOverflow的区域。 虚拟机栈 就是常说的Java栈,存放栈帧,栈帧里存    阅读全文
posted @ 2022-04-15 11:23
zydbky
阅读(82)
评论(0)
推荐(0)
        
            
        
        
摘要:        
缓存雪崩 对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请求,但是缓存机器意外发生了全盘宕机。缓存挂了,此时 1 秒 5000 个请求全部落数据库,数据库必然扛不住,它会报一下警,然后就挂了。此时,如果没有采用什么特别的方案来处理这个故障,DBA 很着    阅读全文
posted @ 2022-04-15 11:14
zydbky
阅读(58)
评论(0)
推荐(0)
        
            
        
        
摘要:        
随着cpu核数越来越多,不可避免的利用多线程技术以充分利用其计算能力。所以,多线程技术是服务端开发人员必须掌握的技术。 线程的创建和销毁,都涉及到系统调用,比较消耗系统资源,所以就引入了线程池技术,避免频繁的线程创建和销毁。 在Java中有一个Executors工具类,可以为我们创建一个线程池,其本    阅读全文
posted @ 2022-04-15 10:27
zydbky
阅读(71)
评论(0)
推荐(0)
        
            
        
        
摘要:        
在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。 介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的    阅读全文
posted @ 2022-04-15 10:17
zydbky
阅读(174)
评论(0)
推荐(0)
        
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号