你知道 Java 类是如何被加载的吗? (yq.aliyun.com)
最近给一个非Java方向的朋友讲了下双亲委派模型,朋友让我写篇文章深度研究下JVM的ClassLoader,我确实也好久没写JVM相关的文章了,有点手痒痒,涂了皮炎平也抑制不住。我在向朋友解释的时候是这么说的:双亲委派模型中,ClassLoader在加载类的时候,会先交由它的父ClassLoader加载,只有当父ClassLoader加载失败的情况下,才会尝试自己去加载。这样可以实现部分类的复用,又可以实现部分类的隔离,因为不同ClassLoader加载的类是互相隔离的。
by @可耐芊小仙女 2019-08-05 15:42 分享 查看详情
从单体到微服务,这些年架构的演变 (insights.thoughtworks.cn)
架构就像一个杂货铺,微服务也只是工具箱,不能有了锤子满世界找钉子。
by @ThoughtWorks 2019-08-02 09:58 分享 查看详情
后端开发实践系列——领域驱动设计(DDD)编码实践 (insights.thoughtworks.cn)
本文是「后端开发实践系列」第二篇,主要介绍了DDD中的应用服务、聚合、资源库和工厂等概念以及与它们相关的编码实践,更着重讲到了软件的读写操作在DDD中的实现方式。
by @ThoughtWorks 2019-07-31 09:37 分享 查看详情
一天写多少行代码才算是好程序员? (zhuanlan.zhihu.com)
一天写多少行代码才算是好程序员?有人说:“平均有20行有效代码每天,就是世界级水平了。绝大部分时间你都在反复改写、修订已有代码。”的确,程序员的编写代码的速度可能也就如此。而在国内某些公司,对于一些熟练的程序员,每天100行代码是才正常的生产率!
by @又拍云 2019-08-22 11:12 分享 查看详情
大法师 (www.jeffjade.com)
基于 Puppeteer 构建简易机器人,非常好的文章,非常好的文章非常好的文章
by @muyakexi619 2019-08-21 15:19 分享 查看详情
后端开发实践系列——事件驱动架构(EDA)编码实践 (insights.thoughtworks.cn)
在本系列的前两篇文章中,我作者分别讲到了后端项目的代码模板和DDD编码实践,在本篇将继续以编码实践的方式分享如何落地事件驱动架构。
by @ThoughtWorks 2019-08-21 09:42 分享 查看详情
编码方法论,赋能你我他 (yq.aliyun.com)
编码也是如此,当多次编写类似的代码时,我们需要考虑是否有一种方法能够提高编码速度。作者多年来致力于敏捷开发,总结了一套编码的方法论,有助于程序员"快速、优质、高效"地进行编码。
by @可耐芊小仙女 2019-08-20 16:07 分享 查看详情
OpenResty 社区王院生:APISIX 的高性能实践 (zhuanlan.zhihu.com)
API 网关的地位越来越重要,它几乎劫持了所有流量,内外之间完成了用户的安全控制、审计,通过自定义插件的方式满足企业自身特定需求,最常见的自由身份认证等。随着服务在数量和复杂度上的不断增长,更多的企业采用了微服务的方式,这时通过 API 网关来完成统一的流量管理和调度就非常有必要。
by @又拍云 2019-08-20 15:21 分享 查看详情
深入理解 Java 内存模型 (mp.weixin.qq.com)
《深入理解 Java 内存模型》程晓明著,该书在以前看过一遍,现在学的东西越多,感觉那块越重要,于是又再细看一遍,于是便有了下面的读书笔记总结。全书页数虽不多,内容讲得挺深的。细看的话,也是挺花时间的,看完收获绝对挺大的。也建议 Java 开发者都去看看。里面主要有 Java 内存模型的基础、重排序、顺序一致性、Volatile 关键字、锁、final。本文参考书中内容。
by @zhisheng_tian 2019-07-25 09:52 分享 查看详情
美团点评基于 Flink 的实时数仓建设实践 (mp.weixin.qq.com)
近些年,企业对数据服务实时化服务需求日益增多。本文整理了常见实时数据组件的性能特点和适用场景,介绍了美团如何通过 Flink 引擎构建实时数据仓库,从而提供高效、稳健的实时数据服务。此前我们美团技术博客发布过一篇文章《流计算框架 Flink 与 Storm 的性能对比》,对 Flink 和 Storm 两个引擎的计算性能进行了比较。本文主要阐述使用 Flink 在实际数据生产上的经验。
by @zhisheng_tian 2019-07-25 09:52 分享 查看详情
不好意思,我和 Java 内存模型杠上了! (mp.weixin.qq.com)
Java内存模型是在硬件内存模型上的更高层的抽象,它屏蔽了各种硬件和操作系统访问的差异性,保证了Java程序在各种平台下对内存的访问都能达到一致的效果。
by @zhisheng_tian 2019-07-25 09:51 分享 查看详情
Java开发最常犯的10个错误,打死都不要犯! (mp.weixin.qq.com)
Array转ArrayList

判断一个数组是否包含某个值

在循环内部删除List中的一个元素

HashTable与HashMap

使用集合原始类型(raw type)

访问级别

ArrayList和LinkedList

可变与不可变

父类和子类的构造方法

“”还是构造方法

未来工作

这个列表总结了10个Java开发人员最常犯的错误。
by @zhisheng_tian 2019-07-25 09:50 分享 查看详情
Flink 灵魂两百问,这谁顶得住? (mp.weixin.qq.com)
两百问一点都不夸张,这才光知识星球从创建到现在的问题总数,另外还有多个微信群的答疑解惑。有时候忍不住想给自己点个赞,咋能这么
by @zhisheng_tian 2019-07-25 09:49 分享 查看详情
看完这篇还不会 Elasticsearch,我跪搓衣板! (mp.weixin.qq.com)
搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分为两种:

结构化数据

非结构化数据



结构化数据:也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。指具有固定格式或有限长度的数据,如数据库,元数据等。
by @zhisheng_tian 2019-07-25 09:49 分享 查看详情
读完这篇文章,5G 就没有秘密了 (zhuanlan.zhihu.com)
提起 5G ,相信各位的第一印象就是高带宽,这的确是最明显的、也是大家最能显著感受到的 5G 网络特点。前段时间,一位北京邮电大学的学生发布了自己测试学校5G 网络的视频。视频中,5G 手机的平均下载速率达到 700Mbps 左右,差不多是 4G 的十倍,下载音乐和应用基本上都是“秒”级,在线播放超高清视频可以随意拖拽进度条,毫无卡顿。
by @又拍云 2019-07-24 10:44 分享 查看详情
MySQL8.0.17 - Multi-Valued Indexes 简述 (yq.aliyun.com)
本文主要简单介绍下8.0.17新引入的功能multi-valued index, 顾名思义,索引上对于同一个Primary key, 可以建立多个二级索引项,实际上已经对array类型的基础功能做了支持 (感觉官方未来一定会推出类似pg的array 列类型), 并基于array来构建二级索引,这意味着该二级索引的记录数可以是多于聚集索引记录数的,因而该索引不可以用于通常意义的查询,只能通过特定的接口函数来使用,下面的例子里会说明。
by @可耐芊小仙女 2019-08-19 15:53 分享 查看详情
你 多久没有跳槽了? (mp.weixin.qq.com)
临近年关,王丽一直惴惴不安,时刻盯着手机,生怕遗漏任何重要的电话。前不久,她去应聘了一家心仪的单位岗位,过五关斩六将,已经通过了两轮面试。本打算年后辞职的,但左等右等,就是没有等来录取的offer,也没有接到不录用的通知。
by @code小生 2019-08-18 23:18 分享 查看详情
这本豆瓣评分 9.7 的操作系统导论竟然是免费的 (mp.weixin.qq.com)
不学习底层知识你依然可以成为一个称职的程序员,但也许会阻碍你成为一个优秀的程序员。
by @code小生 2019-08-18 23:17 分享 查看详情
推荐 15 款编程游戏,从此谁都可以学编程! (mp.weixin.qq.com)
一边玩游戏,一边挑战编程难题。Coding games支持包括PHP、C、JavaScript在内的20多种编程语言。用户界面功能强大,可以定制。
by @code小生 2019-08-18 23:16 分享 查看详情
只需五步,自己动手写一个静态博客 (muxueqz.top)
众所周知,随着Github Pages这样的服务越来越流行,现在像Hexo、Hugo、Pelican这样的静态博客越来越多, 像我以前就是用Pelican的,但因为Pelican的依赖比较多(其实是想自己造轮子), 自从见过Nim就一直很想自己写一个静态博客,但总是觉得比较麻烦,

直到看到 Writing a small static site generator , 才发现原来写一个静态博客竟如此简单。
by @muxueqz 2019-08-18 14:12 分享 查看详情