这是我第一次编写每周分享。这个点子是受到阮一峰阮老师的每周分享启发,考虑到自己每周看了很多消息和工具,正好也能借助这个机会总结留下有价值的资讯。只要能帮助读者了解最新的研发消息,或者某天能用来总结查看,都算是没有白写每周分享。正常情况下我会在周五晚上发出这个系列的文章。(第一期就不正常……)

我的每周分享会包括以下几点内容:本周内学会的一些Java最新的研发知识;发现的新工具;研发人员可能会关注的新闻。其中研发新闻是随缘项目,一方面我也不太关注没有生产力的新闻,一方面也没有太大的留存价值,只有特别关注到的新闻才会分享给大家。Warning:由于我的消息来源也包括阮老师,所以肯定有些内容是来自阮老师的网站,而且如果内容不带有阮老师的观点的话,来源会写真正的消息来源,而不是阮老师的网站;这主要是考虑读者不用多次跳转找出处,而非对阮老师的劳动不尊重,相信阮老师也会见谅的。

下边是8月19日的每周分享:

Java新姿势:

  1. JDK源码阅读-ByteBuffer   木衫大神对 ByteBuffer 的理解。讲真的,当你开始从 Java 业务深入到底层技术的时候,Java 的 IO 系统始终会是需要关注和优化的一个点。这篇文章就是理解 ByteBuffer 设计的绝佳讲解。

  2. JAVA线程和 IO 的同步异步,阻塞非阻塞的个人理解 由于之前跟同事对一段代码是否同步,是否阻塞的看法不一致,所以想深入了解一下同步异步,阻塞非阻塞究竟是什么。个人才疏学浅,也希望有大牛帮忙指正。

  3. CR常见代码问题 - 琴水玉 - 博客园 很多人应该都对 CodeReview 不陌生,这是个非常好的提高能力的机会,也是代码拿出来让大家一起改进的好机会。但是有时候一次 CodeReview 包含的事情太多,没有重点,效果也不会太好。这篇文章就对 CodeReview 应该做什么进行了详细的说明。

新奇工具:

  1. gitea 有些人就是想自己搭建 git 服务器,但是又不想用 gitlab 这样重量级的产品。Gitea 就是这样一款产品,它的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。项目采用 Go 作为后端语言,只要生成一个可执行程序即可。并且它还支持跨平台,支持 Linux、 macOS 和 Windows 以及各种架构,除了x86、amd64,还包括 ARM 和 PowerPC 。

  2. PowerShell Core PowerShell 对于 Windows 用户应该并不陌生,但是这款 Core ,知道的可能就少了,更何况它是开源并且跨平台的。它是微软开源的一个跨平台 (Windows, Linux 和 OS X) 自动化和配置工具(框架),可以和已有的工具友好集成,特别优化用于处理结构化数据 (如 JSON, CSV, XML 等), REST APIs 以及对象模型。它包含一个命令行 Shell、一个关联的脚本语言以及一个用于处理 cmdlets 的框架。

  3. JVM 的 ASM 工具 在OpenJDK里有一个AsmTools项目,用来生成正确的或者不正确的java .class文件,主要用来测试和验证。可能对于普通开发人员来说这个工具没什么用,不过对于 JVM 语言开发来说可能很有价值。

  4. kvn-wang/hp-reflect hp-reflect 是一个高性能的反射工具。它使用字节码技术动态生成 access class。通过不同的 access class,可以高效的获取字段的值,或者调用方法,或者生成实例。 在基础框架中非常实用。

  5. 苦叶子/AutoLink AutoLink是一个开源Web IDE自动化测试集成解决方案,可以帮助你轻易的构建 Web 自动化测试脚本、HTTP 接口自动化测试脚本以及移动自动化测试脚本。

  6. Jumpserver - 开源堡垒机 - 官网完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统。

  7. GitHub - snail007/goproxy goProxy是golang实现的高性能http,https,websocket,tcp,防污染DNS,socks5代理服务器,支持内网穿透,链式代理,通讯加密,智能HTTP,SOCKS5代理,域名黑白名单,跨平台,KCP协议支持,集成外部API。

新闻资讯:

  1. 推荐一下我这周从阮老师那里看到的文章,API 之下。乍看之下似乎是讲软件的,但是其实是猜测未来 AI 普及后财富分配的一个可能的后果,非常有见解。