Java中未知的有趣玩意儿
大浪中航行
这个作者很懒,什么都没留下…
展开
-
Shutdown Hooks
Shutdown Hooks可以在JVM shutting down的时候,运行一段代码,如果一些场景需要我们在JVM挂了的时候,执行一些特殊的清理工作,那我们就可以使用它了。但是如果VM是因为外部(例如linux下面的kill -9)或者资源问题(例如out of memory)引起的shutting down,那它也无法被触发。Shutdown Hook使用起来非常简单,我们只需要继承...原创 2018-03-11 11:03:17 · 560 阅读 · 0 评论 -
判断一个属性的修饰词
在阅读Spring源码时发现里面有一个很有意思的方法——ReflectionUtils.isPublicStaticFinal(Field field),这个方法能够判断一个属性是否是public static final修饰的,其源码如下: /** * Determine whether the given field is a "public static final"...原创 2018-04-22 11:30:16 · 330 阅读 · 0 评论 -
Java中引用传递与值传递
基本类型为值传递类、数组、接口为引用传递final类(例如String、Integer、Double等)虽然是引用传递,但是无法在方法内部改变方法外部变量的值,因为final类的实例改变的时候,会重新创建一个对象,然后将方法中参数的引用指向新的地址。引用传递,传递的是引用的copy,final类型会改变参数的引用,因此原值不变。...原创 2018-06-12 11:22:56 · 168 阅读 · 0 评论 -
ThreadLocal概述
转载自http://blog.xiaohansong.com/2016/08/06/ThreadLocal-memory-leak/ThreadLocal与线程同步机制不同,线程同步机制是多个线程共享同一个变量,而ThreadLocal是为每一个线程创建一个单独的变量副本,故而每个线程都可以独立地改变自己所拥有的变量副本,而不会影响其他线程所对应的副本。可以说ThreadLocal为多线程环境...转载 2018-06-13 20:34:33 · 203 阅读 · 0 评论