--------【Java】
文章平均质量分 92
代立冬
StayHungryStayFoolish外功修行内功修神
展开
-
弄明白CMS和G1,就靠这一篇了
在开始介绍CMS和G1前,我们可以剧透几点:根据不同分代的特点,收集器可能不同。有些收集器可以同时用于新生代和老年代,而有些时候,则需要分别为新生代或老年代选用合适的收集器。一般来说,新生代收集器的收集频率较高,应选用性能高效的收集器;而老年代收集器收集次数相对较少,对空间较为敏感,应当避免选择基于复制算法的收集器。 在垃圾收集执行的时刻,应用程序需要暂停运行。 可以串行收集,也可以并行收...转载 2020-04-14 13:38:15 · 2570 阅读 · 0 评论 -
Code Review应该关注哪些点?
Code Review应该关注什么?注意:当我们考虑以下点时,应当始终遵循Code Review标准。设计Code Review中最重要的一个点就是把握住变更中的整体设计。变更中各个部分的代码交互是否正常?整个改动是否属于你负责的代码库?是否和你系统中其他部分交互正常?现在是否是添加整个功能的恰当时间?功能性开发者在这个变更中想做什么? 开发人员打算为该代码的用户带来什么好处?(这里”用...翻译 2019-12-31 20:48:24 · 1313 阅读 · 0 评论 -
jvm疯狂吞占内存,罪魁祸首是谁
分享一篇公司小伙伴的关于jvm占用内存的技术文章导读:JVM是Java Virtual Machine的缩写,中文名为Java虚拟机。它是一种用于计算设备的规范,是一个虚构出来的计算机,主要通过在实际的计算机上仿真模拟各种计算机功能来实现的。在实际运用过程中,易观技术人员注意到一台开发机上各个微服务进程占用内存很高,随即便展开了调查......现象:前段时间发现某台开发机上各个微服务进程占...原创 2018-11-12 14:25:32 · 11659 阅读 · 1 评论 -
jdk8 GC之详解CMS收集过程和日志分析
话题引入让我们先简单的看下整个堆年轻代和年老代的垃圾收集器组合(以下配合java8完美支持,其他版本可能稍有不同),其中标红线的则是我们今天要着重讲的内容:ParNew and CMS"Concurrent Mark and Sweep" 是CMS的全称,官方给予的名称是:“Mostly Concurrent Mark and Sweep Garbage Collector”;年轻代:采用 sto...转载 2018-06-21 18:23:56 · 3421 阅读 · 0 评论 -
java实现极简的LRU算法
import java.util.LinkedHashMap;import java.util.Map; /** * LRU (Least Recently Used) */public class LRUCache extends LinkedHashMap { /*** */private static final long serialVers原创 2015-11-02 23:11:41 · 4498 阅读 · 1 评论 -
序列化对单例的破坏
序列化对单例的影响本文将通过实例+阅读Java源码的方式介绍序列化是如何破坏单例模式的,以及如何避免序列化对单例的破坏。单例模式,是设计模式中最简单的一种。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。关于单例模式的使用方式,可以阅读单例模式的七种写法但是,单例模式真的转载 2016-03-10 17:31:50 · 1432 阅读 · 0 评论 -
深度分析Java的ClassLoader机制(源码级别)
深度分析Java的ClassLoader机制(源码级别)2015-04-18 分类:Java 阅读(972) 评论(0) 写在前面:Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中,JVM在加载类的时候,都是通过ClassLoader的loadClass()方法来加载class的,转载 2015-12-13 15:41:16 · 923 阅读 · 0 评论 -
java远程调试
服务端需在vm arguments一栏下加上 -agentlib:jdwp=transport=dt_socket,server=y,address=8000并以run模式启动如果以debug模式启动服务端,将会报ERROR: Cannot load this JVM TI agent twice, check your java command line for dup原创 2015-08-19 22:17:30 · 2426 阅读 · 0 评论 -
JVM致命错误日志(hs_err_pid.log)分析
JVM致命错误日志(hs_err_pid.log)分析发表于5天前(2015-08-28 17:10) 目录[-]日志头文件导致crash的线程信息所有线程信息安全点和锁信息堆信息本地代码缓存编译事件gc相关记录jvm内存映射jvm启动参数服务器信息当jvm出现致命错误时,会生成一个错误文件 hs_err_pid.log,其中包括了导致jvm crash的重转载 2015-09-02 13:06:38 · 4307 阅读 · 0 评论 -
Math.abs为Integer.Min_VALUE返回错误的值
Math.abs为Integer.Min_VALUE返回错误的值 这段代码:System.out.println(Math.abs(Integer.MIN_VALUE));回报-2147483648这难道不应该返回绝对值2147483648?----------------------------------------------------------------转载 2015-08-10 22:39:36 · 4494 阅读 · 1 评论