JVM 垃圾收集算法

这是根据周志明老师的《深入理解Java虚拟机》整理的学习笔记,后续会更新在深入理解Java虚拟机中,希望能够帮到一些需要速成的同学。

从如何判断对象消亡的角度出发,垃圾收集算法可以划分为“引用计数式垃圾收集”(Reference Counting GC)和“追踪式垃圾收集”(Tracing GC)两大类,这两大类也常被称作“直接垃圾收集”和“间接垃圾收集”。

更多

软件架构-缓存技术

软件架构-缓存技术

本文源自并发编程网的翻译邀请,翻译的是 Jakob Jenkov 的 《软件架构》 中关于缓存技术的内容,虽然是 2014 年的文章,但是从软件架构层面上,并不过时。

更多

学非探其花 要自拔其根

学非探其花 要自拔其根

昨天训练营最后一次直播答疑,问了老师一个问题:“课程中很多内容,感觉自己会,但是让自己讲却讲不出来,或者就算讲出来也不够专业,请老师指点一下?”

老师耐心做了解答,主要说了两点:

  1. 不够透彻,没有抓住核心,更深层次的东西,浮于表面,没有把握和底气。
  2. 缺乏实践,想办法用,想办法深入进去。

思考一下转化成自己的理解:

  1. 学非探其花,要深拔其根。想要能够讲出来,必须得抓住核心,而不是流于表面。
  2. 世之奇伟、瑰怪,非常之观,常在于险远,而人之所罕至焉,故非有志者不能至也。想要成长,就得比别人付出更多的努力。

然后就想到自己14年的一篇旧文,这里再翻出来。

更多

我从 HX 辞职了

我从 HX 辞职了

这篇文章早就想写了,结果一直拖到 2020 最后一天,借着年终总结的感觉,记一下流水账,算是给这段经历画上一个句号。

2020 年十一假期后和领导提了离职,思考很久的结果。在这待了整三年,一届高中生毕业了。

更多

SpringBoot 实战:如何优雅的处理异常

SpringBoot 实战:如何优雅的处理异常

前段时间写了一篇关于实现统一响应信息的博文,根据文中实战操作,能够解决正常响应的一致性,但想要实现优雅响应,还需要优雅的处理异常响应,所以有了这篇内容。

作为后台服务,能够正确的处理程序抛出的异常,并返回友好的异常信息是非常重要的,毕竟我们大部分代码都是为了 处理异常情况。而且,统一的异常响应,有助于客户端理解服务端响应,并作出正确处理,而且能够提升接口的服务质量。

更多

SpringBoot 实战:一招实现结果的优雅响应

SpringBoot 实战:一招实现结果的优雅响应

因为最近事比较杂,很多文章都没有连续性,想到哪写到哪,大家海涵,后面理清思绪,会连贯输出,形成系列,供大家找茬。

今天说一下 Spring Boot 如何实现优雅的数据响应:统一的结果响应格式、简单的数据封装。

更多

系统设计系列之如何设计一个短链服务

系统设计系列之如何设计一个短链服务

短链服务的鼻祖是 TinyURL,是最早提供短链服务的网站,目前国内也有很多短链服务:新浪(t.cn)、百度(dwz.cn)、腾讯(url.cn)等等。

不得不问一句,为什么要用短链?这个问题的另外一层意思是,短链服务有必要存在吗?

套用万金油答案:存在即合理。

更多

如何在微服务团队中高效使用 Git 管理代码?

如何在微服务团队中高效使用 Git 管理代码

用了 Git 多年,优势和挑战都是深有体会。

话不多说,直接上问题:如何在微服务团队中高效使用 Git 管理代码?

继续不多话,直接上答案:分支管理。

更多

IPv4 与 int 之间互相转换

目前数据存储设备越来越便宜,已经不存在为了节省空间而引入复杂计算的场景,但是有时候,将 IPv4 这种长字符串数据转换为数字,更加便于比较和查询。

更多

设计模式:建造者模式

Design Patterns

之前说过了单例模式,这周想说说建造者模式,它是另外一个比较常用的创建型设计模式。

每种设计模式的出现,都是为了解决一些编程不够优雅的问题,建造者模式也是这样。

维基百科解释是:建造者模式,Builder Pattern,又名生成器模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。

更多