深入理解 Java 内存模型 (mp.weixin.qq.com)

【简介】

《深入理解 Java 内存模型》程晓明著,该书在以前看过一遍,现在学的东西越多,感觉那块越重要,于是又再细看一遍,于是便有了下面的读书笔记总结。全书页数虽不多,内容讲得挺深的。细看的话,也是挺花时间的,看完收获绝对挺大的。也建议 Java 开发者都去看看。里面主要有 Java 内存模型的基础、重排序、顺序一致性、Volatile 关键字、锁、final。本文参考书中内容。

点击查看全文 >>

@zhisheng_tian 2019-07-25 09:52分享 / 0个评论
赞过的人: 技术头条 zhisheng_tian
要不要再学学下面的文章?
超干货!Cassandra Java堆外内存排查经历全记录 (yq.aliyun.com)
最近准备上线cassandra这个产品,同事在做一些小规格ECS(8G)的压测。压测时候比较容易触发OOM Killer,把cassandra进程干掉。问题是8G这个规格我配置的heap(Xmx)并不高(约6.5g)已经留出了足够的空间给系统。只有可能是Java堆外内存使用超出预期,导致RES增加,才可能触发OOM。
by @可耐芊小仙女 2019-08-19 15:50 分享 查看详情
阿里毕玄:来测试下你的Java编程能力 (developer.aliyun.com)
整理了下后面准备更系统化写的Java编程进阶的思路,如果仅看里面的词,很多同学会觉得都懂,但我真心觉得没有多少人是真懂的,所以简单的想了一些题目,感兴趣的同学们可以来做做看,看看自己的Java编程水平怎么样。
by @可耐芊小仙女 2019-08-15 15:56 分享 查看详情
那些年,我们见过的Java服务端乱象 (yq.aliyun.com)
查尔斯·狄更斯在《双城记》中写道:“这是一个最好的时代,也是一个最坏的时代。”移动互联网的快速发展,出现了许多新机遇,很多创业者伺机而动;随着行业竞争加剧,互联网红利逐渐消失,很多创业公司九死一生。笔者在初创公司摸爬滚打数年,接触了各式各样的Java微服务架构,从中获得了一些优秀的理念,但也发现了一些不合理的现象。现在,笔者总结了一些创业公司存在的Java服务端乱象,并尝试性地给出了一些不成熟的建议。
by @可耐芊小仙女 2019-08-06 15:07 分享 查看详情
你知道 Java 类是如何被加载的吗? (yq.aliyun.com)
最近给一个非Java方向的朋友讲了下双亲委派模型,朋友让我写篇文章深度研究下JVM的ClassLoader,我确实也好久没写JVM相关的文章了,有点手痒痒,涂了皮炎平也抑制不住。我在向朋友解释的时候是这么说的:双亲委派模型中,ClassLoader在加载类的时候,会先交由它的父ClassLoader加载,只有当父ClassLoader加载失败的情况下,才会尝试自己去加载。这样可以实现部分类的复用,又可以实现部分类的隔离,因为不同ClassLoader加载的类是互相隔离的。
by @可耐芊小仙女 2019-08-05 15:42 分享 查看详情
不好意思,我和 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 分享 查看详情
Knative 基本功能深入剖析:Knative Serving 的流量灰度和版本管理 (yq.aliyun.com)
测试之前我们需要写一段 rest-api 的代码,并且还要能够区分不同的版本。下面我基于官方的例子进行了修改,为了使用方便去掉了 github.com/gorilla/mux 依赖,直接使用 Golang 系统包 net/http 替代。这段代码可以通过 RESOURCE 环境变量来区分不同的版本。
by @可耐芊小仙女 2019-07-22 15:41 分享 查看详情
别在 Java 代码里乱打日志了,这才是正确的打日志姿势 (mp.weixin.qq.com)
使用slf4j



使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。

实现方式统一使用: Logback框架
by @zhisheng_tian 2019-07-15 21:41 分享 查看详情
阿里开源新一代 AI 算法模型,由达摩院90后科学家研发 (developer.aliyun.com)
近日,阿里 AI 开源了新一代人机对话模型 ESIM。该算法模型提出两年多,已被包括谷歌、facebook 在内的国际学术界在200多篇论文中引用,更曾在国际顶级对话系统评测大赛(DSTC7)上获得双料冠军,将人机对话准确率的世界纪录提升至94.1%。
by @可耐芊小仙女 2019-07-10 16:37 分享 查看详情
理解 Web 3.0 技术栈及区块链如何助力 (learnblockchain.cn)
Web 3.0 的技术栈虽然尚未完成开发,但是一个去中心化、透明、安全的 Web 3.0 互联网时代即将来临,而区块链技术将是 Web 3.0 的主要驱动力。
by @Tiny熊 2019-06-20 11:25 分享 查看详情