Java
hh6plus
这个作者很懒,什么都没留下…
展开
-
优秀博文目录
Holis文章:https://www.hollischuang.com/archives/category/javaThreadLocal的实现:http://www.cnblogs.com/dolphin0520/p/3920407.html进程与线程的区别:把进程当做资源分配的基本单元,把线程当做执行的基本单元,同一个进程的多个线程之间共享资源。java线程池中的等待队列,Arr...转载 2019-02-21 23:27:42 · 650 阅读 · 0 评论 -
jvm中的stop the world 在日志中的表现
原文讲述了jvm发生STW可能的原因(不仅是GC),以及在日志中的体现(主要是对gc.log中,total time for which application threads were stopped这行的解释)。链接:https://dzone.com/articles/logging-stop-world-pauses-jvm下附原文。Logging Stop-the-world Pause...转载 2018-06-27 19:54:41 · 1304 阅读 · 0 评论 -
JVM 垃圾回收 Minor gc vs Major gc vs Full gc
原文: Minor GC vs Major GC vs Full GC在Plumbr进行GC暂停检测功能的工作时, 我不得不阅读大量与此相关的文章,书籍和报告。在研究过程中, 对于Minor, Major和Full GC时间我一再的困惑,这也就导致本博文的产生, 希望我能理清我的一些困惑。本文期望读者熟悉JVM内建的垃圾回收的基本原理。JVM的内存堆对 Eden, Surviv转载 2017-08-03 14:37:08 · 727 阅读 · 0 评论 -
关于NoClassDefFoundError和ClassNotFoundException异常
http://wxl24life.iteye.com/blog/1919359java.lang.NoClassDefFoundError 和 java.lang.ClassNotFoundException 都是 Java 语言定义的标准异常。从异常类的名称看似乎都跟类的定义找不到有关,但是还是有些差异。我们先来看一下 java 规范中对这两个异常的说明: java.转载 2017-08-17 20:24:20 · 474 阅读 · 0 评论 -
JVM中Perm区持续上涨问题
http://blog.csdn.net/wisgood/article/details/16344885公司一位大牛在微博上的一条,打算消化一下,毕竟今后Perm区的上涨还是有可能遇到的。“Java应用Perm区一直呈上涨趋势的原因可以用一个简单的办法排查,就是用btrace去跟踪下是什么地方在调用ClassLoader.defineClass,在大多数情况下这招都是管用的。”转载 2017-08-17 11:56:10 · 306 阅读 · 0 评论 -
java关键字:transient
transient是控制序列化字段的关键字。 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。但有时,某个Serilizable类中某些字段我们不愿意序列化,就可以加上transient关键字,这个字段的原创 2017-03-30 21:29:10 · 487 阅读 · 0 评论 -
mac java开发踩过的坑
更换shell后,.bash_profile将不再开机执行:将mac自带bash换为zsh后,执行了chsh命令更换了默认shell。因此,原来的~/.bash_profile将不再执行(包括JAVA_HOME的设置),改为.zshrc每次开启后执行。原创 2016-05-09 00:01:02 · 1698 阅读 · 0 评论 -
枚举类
枚举类是java在jdk5.0加入的语法,通常用于描述 仅包含有限种类型的 变量。 使用enum关键字声明,格式如下。可以在枚举类中自定义内部变量,抽象方法,在枚举值的声明中要实现此抽象方法。(枚举值就是对枚举类的匿名继承) 粗浅理解: 枚举类是父类,声明了抽象方法会自动变更抽象父类。 枚举值是枚举类的匿名实现类,必须实现父类的抽象方法,并继承父类声原创 2017-03-17 19:52:56 · 264 阅读 · 0 评论 -
java类中变量的初始化
普通变量的初始化过程: 1. 默认值(0,false,null)。其中,char也会被作为数值,赋值为0,但不是'0’。 2. 按照在类中声明的顺序,执行初始化语句(赋值语句)和初始化块。(也即这两种初始化方法是并列的) 3. 执行构造方法。 静态变量的初始化过程: 1. 默认值。 2. 按原创 2017-03-17 19:52:53 · 853 阅读 · 0 评论 -
static关键字
static是java中的常见关键字,本意为“静态”,是指被static声明的元素,加载类的时候就会申请内存地址,且其内存地址在整个生命周期中是“静态”的,不变的,所以全局共享。 就我理解,它还有共享、无状态的含义。共享是指被static修饰的成员是属于类的,所有成员共享;无状态是指static修饰的域,不能对对象敏感/依赖任何对象的生成,没有状态。无状态的实现方式为:被static修原创 2017-03-17 19:52:31 · 237 阅读 · 0 评论 -
程序结束时执行任务的常用方法
程序结束时执行任务,常用方式:1. @PreDestroy / destroy-method 使用Spring注解@PreDestroy,在容器销毁该bean之前执行操作。由于是销毁之前执行,可以安全访问bean中的全部元素。使用方式为:在类中某个方法上,打@PreDestroy注解,则Spring在销毁此bean之前会调用该方法。以上是Spring框架下,对自动加载的bean原创 2017-03-17 19:52:25 · 1672 阅读 · 0 评论 -
java编程中的低级错误
Map:map是一种经典的k-v格式存储结构,在使用过程中由于粗心导致了若干问题。1. map的初始化不可以用key-value进行直接的初始化,原创 2016-08-17 16:56:41 · 337 阅读 · 0 评论 -
服务一启动就发生 FGC(jvm gc常见原因)
转载自微信公众号涤生的博客。以下是原文。最近有个同学说他的服务刚启动就收到两次 Full GC 告警, 按道理来说刚启动,对象应该不会太多,为啥会触发 Full GC 呢?带着疑问,还是先看看日志,毕竟日志的信息更多。2.日志可以看到,其实是两次 CMS GC(监控对 Full GC 和 Old GC 不分)。但是你会发现一个奇怪的现象,咦,"CMS-initial-m...转载 2019-07-23 22:29:20 · 6183 阅读 · 0 评论