基础知识
会写代码的鱼
技术分享
展开
-
如何优雅的创建一个Java不可变对象类,JDK源码中也是这么干的!
前面有篇文章当介绍了Java的不可变对象的一些特性,以及它的一些好处,但是并没有介绍如何实现一个不可变对象类。今天就来看看如何实现一个不可变对象类。 Java中常用的不可变对象类 String类应该是我们最常使用的不可变对象类。其实除了String以外,在JDK中还定义了很多不可变对象类,比如:基础类型的封装类(Integer、Long等)、时间相关的类(LocalDate、LocalTime等)...原创 2019-04-13 16:28:43 · 581 阅读 · 0 评论 -
线程池异常信息统一处理,从线程异常信息丢失说起
异常信息作为我们平时定位问题的一大法宝,其重要性是不言而喻的。一段代码出现了问题,如果它的异常信息被吃了,那么一个本来很简单的问题,定位起来也会变的很麻烦。 今天我们就从异常信息被吃掉,导致相应信息没有输出到日志的问题说起。 一个简单的例子 首先我们看看如下的代码: public class ThreadLogTestApplication { public static void ma...原创 2019-04-20 11:28:19 · 1483 阅读 · 0 评论 -
Java内存泄漏!为什么会泄漏?如何泄漏?怎么定位?
JVM应该可以算Java中最为核心的部分了,其中开箱即用的内存管理又是JVM中的核心组成部分。我们都知道JVM的内存管理具有垃圾回收功能(Java Garbage Collector),编码时只需要new而无需主动的释放(类似于C++中的delete操作),所以Java中比较少出现内存泄露的情况。比较少出现,并不一定就不会出现,那么Java程序在什么时候会出现内存泄露呢?出现内存泄露该如何排查呢?...原创 2019-04-20 15:05:43 · 2579 阅读 · 1 评论