Java
东京易冷
这个作者很懒,什么都没留下…
展开
-
Java-IO流关闭误区
之前学习IO流的时候,有一个写法InputStream is = null;InputStreamReader isr = null;BufferedReader br = null;try { is = new FileInputStream("filepath"); isr = new InputStreamReader(is, "utf-8"); br ...原创 2018-06-19 22:39:59 · 4507 阅读 · 0 评论 -
Java8 Optional
OptionalOptional是JDK1.8新增的,用于避免NullPointerException的工具类。Optional提供以下几类方法,通过下面的方法,可以链式的处理对象,无需判断是否存在of 使用目标对象得到Optional对象present 判断对象是否为空filter 对对象进行筛选map 将对象映射得到其他OptionalorElse、get 得到对象of...原创 2019-03-28 00:21:58 · 198 阅读 · 0 评论 -
Java工具 :SQL解析
最近发现了一款好用的SQL解析工具,开发SQL处理类型的插件可以用到。Git地址:https://github.com/JSQLParser/JSqlParser原创 2019-01-14 20:47:32 · 3097 阅读 · 0 评论 -
Java反射-桥接方法
桥接方法Method.isBridge()JDK1.5引入泛型时加入的方法。原因如下:泛型类在编译时会泛型擦除,以SuperClass为例// 泛型擦除前public interface SuperClass<T>{ void method(T t);}// 泛型擦除后public interface SuperClass{ void method(Ob...原创 2018-12-20 15:37:08 · 176 阅读 · 0 评论 -
lombok @Accessors用法
@Accessors翻译是存取器。通过该注解可以控制getter和setter方法的形式。fluent 若为true,则getter和setter方法的方法名都是属性名,且setter方法返回当前对象。@Data@Accessors(fluent = true)class User { private Integer id; private String name; // ...原创 2018-10-04 14:30:37 · 185127 阅读 · 42 评论 -
内存溢出与内存泄漏
内存溢出 out of memory 指程序申请内存时,没有足够的空间。内存泄漏 memory leak 指程序中动态分配的堆内存,由于某些原因未释放或者不能释放,造成系统内存的浪费,导致程序运行速度减慢,甚至系统崩溃,最终的结果解释内存溢出。 检测工具:1.MAT(http://www.eclipse.org/mat/)2.LeakCanary 常见原因:...原创 2018-08-29 21:40:35 · 136 阅读 · 0 评论 -
Java基础-注解
摘要正文1 元注解1.1 @Documented1.2 @Retention1.3 @Target1.4 @Inherited2 注解定义3 注解的使用摘要 注解是JDK1.5引入的、符合JSR175规范的用来修饰元数据的工具。正文1 元注解 JDK1.5提供了四种元注解,用来修饰其他注解。@Documented@Re...原创 2018-08-25 15:37:25 · 188 阅读 · 0 评论 -
Java解析html文本
公司是前后端分离的架构,有个功能前端使用了富文本编辑器,通过该富文本编辑器得到的html文本与实际要求有一定差距,但是前端又处理不了,因此该处理只能由我们后端处理了。 第一想法是通过处理XML文档的方式处理前端传来html文本,由于前端传来的html文本并不是规范的XML,因此只能考虑其他方法。 后来发现Jsoup可以解析html文本,解决了问题。class Test { ...原创 2018-08-28 21:07:53 · 6641 阅读 · 2 评论 -
Java8 Map computeIfAbsent方法说明
computeIfAbsent// 方法定义default V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) { ...}// java8之前。从map中根据key获取value操作可能会有下面的操作Object key = map.get("key");if...原创 2018-07-20 11:29:02 · 222957 阅读 · 22 评论 -
Java volatile关键字
为了提高处理速度,处理器不直接和内存通信,会将系统内存的数据读取到内部缓存再操作,操作完成后写入内存的时机未知因此对于多线程操作的共享变量,如:单例对象、状态标记变量(flag),可以使用volatile修饰保证其多线程环境的可见性volatile是轻量级的synchronized可见性当一个线程修改一个变量时,另一个线程可以读到修改后的值。对volatile写操作:JMM(Java M...原创 2019-04-22 00:45:38 · 122 阅读 · 0 评论