
Java Good Practice
java使用时好的优雅的实践方式
spring-hz
a programming engineer
展开
-
创建不可修改集合视图
在实际工作中,有一个集合,我们期望是只读的,不可修改。比如,从远程配置中心中拉取的配置,运行中,我们只可以调用read相关方法,不可调用write相关方法。如何从代码机制上,而不是人为认知上拒绝write误调用呢?创建不可修改集合视图/** * 集合视图 */public class CollectionView { /** * 白名单 */ private Set<String> whiteSet; /** * eg:初始原创 2021-05-01 17:33:39 · 213 阅读 · 0 评论 -
事件驱动解析xml文件
前沿jdk自身的解析xml的工具方式dom解析和sax解析,开发人员应该耳熟能详了。但是对于开发者并不是非常友好,经常要写很长的繁琐代码,现在有一个开源工具基于事件驱动去解析xml文件,使用起来非常清晰易解。就是commons-digester。Commons DegisterApache Commons Digester 一 (基础内容、核心API)官方文档核心思想就是事件驱动, 模式,规则,当解析的文档刚好满足模式时,就会依次执行注册到模式上的规则, begin和body方法按照注册顺序依次原创 2020-12-13 15:15:42 · 389 阅读 · 1 评论 -
巧妙使用位运算
java中的二进制操作很多地方都有很好的使用,比如HashMap源码中就利用了当n等于2的次幂时,"hash%n"和"hash&(n-1)"的特性,下面列举几个巧妙使用位运算的例子。SpacePadder填充固定位假设又一个StringBuffer要求要有n(20或者更多)个字符,如果不足,向右填充空格直到满足为止,一般最简单的方式就是for循环,一个个append直到满足n个字符,但是效率就不高了,牛逼的做法如下public class SpacePadder { final st原创 2020-12-11 00:51:27 · 437 阅读 · 0 评论