探究Java中的引用

从JDK1.2版本开始,Java把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。本篇就来详细探究一下这四种引用的机制:

  • 强引用

  • 软引用

  • 弱引用

  • 虚引用

  • 详解ReferenceQueue与Reference

Read More

详解Java8的日期时间API

JDK1.0的时候,Java引入了java.util.Date来处理日期和时间;在JDK1.1的时候又引入了功能更强大的java.util.Calendar,但是Calendar的API还是不尽如人意,,存在实例易变、没有处理闰秒等等的问题。所以在JDK1.8的时候,Java引入了java.timeAPI,这才真正修改了过去的缺陷,且更为好用。本篇就详细介绍一下JDK1.8的日期和时间API。
本篇主要包括以下内容:

  • Java8之前的日期和时间API的缺陷
  • java.time类图介绍
    • 概况
    • chrono
    • format
    • temporal
    • zone
  • Java 8日期/时间类
    • Instant
    • Duration
    • Period
    • LocalDate和LocalTime
    • LocalDateTime
  • 日期操作和格式化
  • 时区

Read More

单例模式的八种写法

单例模式作为日常开发中最常用的设计模式之一,是最基础的设计模式,也是最需要熟练掌握的设计模式。
单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
那么你知道单例模式有多少种实现方式吗?以及每种实现方式的利弊呢?

  • 饿汉模式
  • 懒汉模式(线程不安全)
  • 懒汉模式(线程安全)
  • 双重检查模式(DCL)
  • 静态内部类单例模式
  • 枚举类单例模式
  • 使用容器实现单例模式
  • CAS实现单例模式


Read More

Kafka系列3:深入理解Kafka消费者

上面两篇聊了Kafka概况和Kafka生产者,包含了Kafka的基本概念、设计原理、设计核心以及生产者的核心原理。本篇单独聊聊Kafka的消费者,包括如下内容:

  • 消费者和消费者组
  • 如何创建消费者
  • 如何消费消息
  • 消费者配置
  • 提交和偏移量
  • 再均衡
  • 结束消费

Read More

《置身于苦难与阳光之间》摘录

加缪主张正午的思想——地中海的思想:明知世界冰冷,却要尽力地燃烧!
如果说,古希腊人制造了绝望与悲剧的观念,那总是通过美去制造的……。这是最崇高的悲剧,而不是像现代精神那样从丑恶与平庸出发制造绝望。”
这是正午思想的核心所在,反叛者则在这种精神指引下充满激情地生活、斗争。

Read More