2021年12月16日
摘要: 事情回顾 马上就要春节了,2021年12月 11日上午, 大神毛星云选择纵身一跳来结束自己30岁的生命.各大媒体也是争相报道. 1991年出生, 非常年轻,看他的简历在IT行业造诣颇深,成绩斐然, 获得了微软的 MVP 证书, 并在腾讯游戏团队担任 leader . 作为同行,我们深表敬佩, 但对于 阅读全文
posted @ 2021-12-16 10:52 XuHe1 阅读(256) 评论(0) 推荐(0) 编辑
摘要: ​在上篇文章《内存屏障是个什么鬼》提到了内存访问的一些指令。这篇文章就来系统地介绍这些指令。 JMM Java 内存模型类似于高速缓存与主存之间的一个关系。 一句话解释下什么是 JMM: 每个线程执行过程中操作的内存,我们称之为工作内存。线程在操作主存中共享变量时,会将变量 load 到工作内存,执 阅读全文
posted @ 2021-12-16 09:30 XuHe1 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 程序员的焦虑无时无刻不在,尤其是你闲下来的时候,这种焦虑会尤其强烈,并且这种焦虑随着年龄的增加越来越强。 本人没有在巨头公司呆过,但在一些规模上千人的公司呆过,也在几十人的小公司呆过。在小公司里的4年,做过架构,中间有段时间会经常问自己:自己是不是在小公司呆... 阅读全文
posted @ 2021-12-16 09:14 XuHe1 阅读(70) 评论(0) 推荐(0) 编辑
  2021年12月14日
摘要: “人无远虑必有近忧”,虽然目前在一家规模还可以的公司拧螺丝,但是我觉得这不应该是我职业生涯的最终状态,再说了,拧螺丝的工作迟早会被替代掉,一旦公司效益不好,公司一定会优先替换掉我们这群“老程序员”,毕竟工资不低,还做着拧螺丝的活。 所以,我结合在上家公司做技术管理的工作的经历,再加上最近的一些思考写 阅读全文
posted @ 2021-12-14 16:52 XuHe1 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 在写《log4j2 漏洞模拟》时,用到了Java 的 RMI,中间踩到了一些坑,这篇文章给大家详细介绍下。 什么是RMI RMI 是指 Remote Method Invocation 远程方法调用,通过本地端口对外暴露对象,供远程客户端调用,底层基于 TCP 协议实现。 与 RPC、Webserv 阅读全文
posted @ 2021-12-14 11:18 XuHe1 阅读(37) 评论(0) 推荐(0) 编辑
  2021年12月13日
摘要: 一夜之间到处都是 log4j2 的漏洞,公司的群里也收到了紧急通知,要求立刻修复!修复方式相信大家都清楚,升级 log4j2 版本或者通过一些参数来禁用 lookup 功能等,就不过多叙述了,本文主要带大家看一下这个漏洞到底是怎么回事,通过代码来简单模拟下这个漏洞。 lookup 功能 log4j 阅读全文
posted @ 2021-12-13 18:06 XuHe1 阅读(77) 评论(0) 推荐(0) 编辑
  2021年12月10日
摘要: 刚刚跑起来,趁着热,就写进了博客,记录下再这个过程踩过的坑: 官方的文档指出配置HA关键: By default every Eureka server is also a Eureka client and requires (at least one) service URL to locate 阅读全文
posted @ 2021-12-10 14:13 XuHe1 阅读(76) 评论(0) 推荐(0) 编辑
  2021年12月9日
摘要: 微服务体系中,注册中心是不可或缺的组件。承担了服务的管理(注册、发现)的重要职能。 市场上有很多公司使用了不同的注册中心,比如 Netflix 的 eureka、Apache 的 zk、以及国产的 Nacos。但是大家有没有想一想这三个到底哪一个更适合做注册中心。 Eureka eureka 集群采 阅读全文
posted @ 2021-12-09 15:41 XuHe1 阅读(255) 评论(0) 推荐(0) 编辑
  2021年12月8日
摘要: 上篇文章介绍到, MESI 优化后无法保证缓存间的强一致性,这时候如果程序中确实需要强一致性时,该怎么办?答案就是本篇要介绍的内存屏障。 内存屏障,为开发人员提供了一种强一致性的编程接口。内存屏障通常有两种:写内存屏障和读内存屏障。 写内存屏障 cpu 执行到屏障时,会将之前 store-buffe 阅读全文
posted @ 2021-12-08 10:12 XuHe1 阅读(71) 评论(0) 推荐(0) 编辑
  2021年12月6日
摘要: 概念 MESI 协议是高速缓存一致性协议,是为了解决多 cpu 、并发环境下,多个 cpu 缓存不一致问题而提出的协议。 协议规定,缓存行在任何时刻一定处于四个状态之一: Modified: 缓存行已经被修改,但是没有被写回主存;Exclusive: 缓存行与主存相同,并且是主存的唯一拷贝;Shar 阅读全文
posted @ 2021-12-06 17:11 XuHe1 阅读(166) 评论(0) 推荐(0) 编辑