随笔分类 -  java

摘要:读取资源文件 参考链接: "Spring Boot get resource file example" 获取 配置项 1. 通过 ; 2. 通过 bean; 参考链接: "Read values from properties file in Spring" 阅读全文
posted @ 2017-04-08 00:12 whilst 阅读(159) 评论(0) 推荐(0) 编辑
摘要:渲染字符串模板 阅读全文
posted @ 2017-04-08 00:11 whilst 阅读(223) 评论(0) 推荐(0) 编辑
摘要:排序 依据自定义对象的某个属性进行排序. Java 8 之前版本的排序方法可参考这里: http://stackoverflow.com/a/2784576 分组 分组是将 中的对象按照某一属性进行分组并做聚合或统计: 分区 将 依据某一标准分割为两组. 将 分割成多个组, 每个组有指定数量的元素( 阅读全文
posted @ 2017-04-07 23:28 whilst 阅读(1868) 评论(0) 推荐(0) 编辑
摘要:为了系统的学习下 JUnit 5, 因此开始翻译 JUnit 5 官方用户手册, 谢谢关注! 本手册翻译自 "5.0.0 M4" 版本. 若感兴趣, 可 star 或 fork 该 "仓库" ! GitHub: "JUnit 5 User Guide" GitBook: "JUnit 5 用户手册" 阅读全文
posted @ 2017-04-05 00:53 whilst 阅读(458) 评论(0) 推荐(0) 编辑
摘要:在 JAVA 程序有时需要获取当前代码位置, 于是就利用 写了下面这个工具类, 用来获取当前执行位置处代码的文件名/类名/方法名/行号. 当然通过 也能得到同样信息, 在处理异常时用这种方法还行, 否则需要 new 一个 Throwable, 感觉有点浪费​:smile:​ 至于为什么 的值是 2 阅读全文
posted @ 2017-04-04 23:04 whilst 阅读(6425) 评论(0) 推荐(0) 编辑
摘要:commons lang3 "maven repository" , "项目主页" fastjson "maven repository" , "项目主页" 是阿里巴巴开源的序列化和反序列化 JSON 库, 相比 , 它有静态的序列化和反序列化方法( 需要新建一个 对象). 并且, fastjson 阅读全文
posted @ 2017-03-10 00:43 whilst 阅读(151) 评论(0) 推荐(0) 编辑
摘要:序列化 假如有 类: 默认情况下, jackson序列化结果为: 简直不能直视... 在添加 JSR 310 模块后, 让 jackson 能够识别出 Java 8 的日期 & 时间类型( ): 然后再启用 "ISO 8601格式化标准" 后效果就好多了( ): 格式化效果: 然而这中样式不太符合日 阅读全文
posted @ 2017-02-27 01:46 whilst 阅读(11518) 评论(0) 推荐(1) 编辑
摘要:线程状态 1. 新创建线程 2. 可运行线程 调用 方法后, 线程处于 runnable 状态. 它可能在运行, 也可能没有运行(等待时间片). 3. 被阻塞线程和等待线程 1. 当一个线程试图获取一个内部的对象锁(而不是 库中的锁), 而该锁被其他线程持有, 则该线程进入 阻塞状态 . 2. 当线 阅读全文
posted @ 2016-11-05 20:40 whilst 阅读(154) 评论(0) 推荐(0) 编辑
摘要:因为 java 在编译源码时, 会进行 类型擦除 , 导致泛型类型被替换限定类型(无限定类型就使用 ). 因此为保持继承和重载的多态特性, 编译器会生成 桥方法 . 本文最后附录所有源码. 是个泛型类, 它具有泛型方法 , 在经过编译时的 类型擦除 后变为 . 是 的实例化子类, 它具有方法 . 在 阅读全文
posted @ 2016-11-05 20:39 whilst 阅读(1499) 评论(0) 推荐(0) 编辑
摘要:java 泛型转换的事实: 虚拟机中没有泛型, 只有普通的类和方法: 因为存在 类型擦除 , 泛型类型被替换为限定类型(无限定类型就使用 Object), 限定类型是指 ``; 所有的类型参数都用它们的限定类型替换; 编译器会生成 桥方法 以保持多态; 为保持类型安全性, 必要时插入强制类型转换; 阅读全文
posted @ 2016-11-05 20:34 whilst 阅读(327) 评论(0) 推荐(0) 编辑
摘要:程序设计语言中将参数传递给方法的几种方式: 1. 按名调用(call by name) : Algol 语言采用此方式, 已成为历史; 2. 按值调用(call by value) : 方法接收到的是调用者提供的 变量值 ; 3. 按引用调用(call by reference) : 方法接受到的是 阅读全文
posted @ 2016-10-27 23:13 whilst 阅读(384) 评论(0) 推荐(0) 编辑
摘要:带资源的 try 语句 如果一个类实现了 接口, 那么可以使用带资源的 语句. 它可以在抛出异常或正常结束两种情况调用 方法. 当正常结束时没什么可说的, 当其它代码抛出异常时: 如果 调用也抛出异常, 那么它的异常会被抑制, 并由 方法添加到原来的异常中, 后续可以通过 方法获取被抑制的异常列表; 阅读全文
posted @ 2016-10-27 23:12 whilst 阅读(170) 评论(0) 推荐(0) 编辑
摘要:equals 方法 方法需要满足的规范: 1. 自反性: 对于任意非空引用 x, 应该返回 ; 2. 对称性: 对于任意引用, 当且仅当 时, ; 3. 传递性: 对于任意引用 x/y/z, 如果 和 , 则 ; 4. 对于任意非空引用 x, ; 编写 方法的建议: 1. 添加 注解, 重载父类 方 阅读全文
posted @ 2016-10-27 23:10 whilst 阅读(2019) 评论(0) 推荐(0) 编辑
摘要:java 类的 数据域 初始化顺序: 1. 所有数据域被初始化为默认值(数值类型值为 0, 布尔类型值为 false, 对象引用值为 null); 2. 按照在类声明中出现的次序, 依次执行所有域的初始化语句和初始化块; 3. 如果构造器第一行(也只能是第一行)调用了第二个构造器(包括父类构造器), 阅读全文
posted @ 2016-10-27 23:08 whilst 阅读(327) 评论(0) 推荐(0) 编辑