Java新姿势:

  1. 如何才能写出好的软件设计文档? 做了这么多年的 Java 开发,除了在恶补测试,我想最需要恶补的其实是设计。我们虽然没有设计也做了这么多年的系统,但是没有先行设计,总是缺乏对系统方向的把握。

  2. 哈希碰撞与生日攻击 - 阮一峰的网络日志 虽然不是 Java 语言,但是这个问题存在于任何语言的哈希算法之中,值得一看。

  3. 使用JITWatch查看JVM的JIT编译代码 | 刘正阳 有时候我们对程序 JIT 优化后的情况不太了解,这个工具GitHub - AdoptOpenJDK/jitwatch: Log analyser / visualiser for Java HotSpot JIT compiler. Inspect inlining decisions, hot methods, bytecode, and assembly. View results in the JavaFX user interface.正合适。

新奇工具:

  1. WonderPen | 妙笔 - momothink妙笔,一个新的文档编辑工具,支持多级目录,存储自动增加版本可以支持回退,可以增加笔记备份,有导出功能,作者的用户画像是勤于写作的作家,实际上需要整理笔记的程序员也很适合。缺点是还不支持 sequence 或者 graph 语法。

  2. Commons Weaver – Download Apache Commons Weaver 通过在类中生成(“weaving”)字节码,提供一种简单的方法来增强已编译的 Java 类。

  3. GitHub - snail007/shadowtunnel: secure tunnel which help you protecting your tcp traffic between your machine and your service on remote. goproxy 作者的又一力作,为已有代理增加一个加密的链路。

  4. GitHub - redisson/redisson: Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. State of the Art Redis client Redisson是架设在Redis基础上的一个Java驻内存数据网格(In-Memory Data Grid)。【Redis官方推荐】Redisson在基于NIO的Netty框架上,充分的利用了Redis键值数据库提供的一系列优势,在Java实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。

新闻资讯:

  1. GitHub - rwv/chinese-dos-games: 🎮 Chinese DOS games in browser. 游戏大概有版权问题,但是技术是之前就很火的 WebAssembly 技术。不过这个目前最大的问题是存储没法保留,关闭浏览器存档就丢了。

  2. PhpStorm troubleshooting – ideaVim stops working – William Turrell 这个也是我最近遇到的一个情况,idea 使用的 vim 插件突然就不工作了,编辑器回到了原始的状态,但是看插件是安装的,没有任何问题。原来是插件有个工作开关,默认开关还有快捷键,而且这个快捷键跟 Mac 的粘贴非常接近,囧。

  3. 研究发现:不靠 cookie,网站也能通过 TLS 协议追踪你 - 开源中国 这个新闻有点恐怖,居然可以不用 cookie 而是通过 TLS 协议进行客户端的识别——这个功能对正常的业务来说没什么帮助,客户说关闭浏览器就关闭了;但是对于广告功能来说,完全可以用来短期跟踪客户,甚至对于手机的浏览器来说,完全可以替代 cookie 的作用了。