12 2020 档案
摘要:说明 本篇文章是转载自周志明老师的文章,链接地址:https://www.infoq.cn/article/RQfWw2R2ZpYQiOlc1WBE 今天,25 岁的 Java 仍然是最具有统治力的编程语言,长期占据编程语言排行榜的首位,拥有一千二百万的庞大开发者群体,全世界有四百五十亿部物理设备使
阅读全文
摘要:前言 协程是什么 协程的好处 进程 进程是什么 进程组成 进程特征 线程 线程是什么 线程组成 任务调度 进程与线程的区别 线程的实现模型 一对一模型 多对一模型 多对多模型 线程的“并发” 协程 协程的目的 协程的特点 协程的原理 Java、Kotlin、Go 的线程与协程 Kotlin 的协程
阅读全文
摘要:前言 BeanDefinition BeanFactory 简介 Web 容器启动过程 bean 的加载 FactoryBean 循环依赖 bean 生命周期 公众号 前言 许多文章都是分析的 xml 配置,但是现在 Spring Boot 开发多基于注解。本文从注解的角度分析 Spring IOC
阅读全文
摘要:前言 最近在研究 Spring 源码,Spring 最核心的功能就是 IOC 容器和 AOP。本文定位是以最简的方式,分析 Spring AOP 源码。 基本概念 上面的思维导图能够概括了 Spring AOP,其最重要的是 Spring AOP 只能作用于 Bean,而 AspectJ 能够在编译
阅读全文
摘要:前言 激烈的锁竞争,会造成线程阻塞挂起,导致系统的上下文切换,增加系统的性能开销。那有没有不阻塞线程,且保证线程安全的机制呢?——乐观锁。 乐观锁是什么? 操作共享资源时,总是很乐观,认为自己可以成功。在操作失败时(资源被其他线程占用),并不会挂起阻塞,而仅仅是返回,并且失败的线程可以重试。 优点:
阅读全文
摘要:前言 Java 的锁实现,有 Synchronized 和 Lock。上一篇文章深入分析了 Synchronized 的实现原理:由Java 15废弃偏向锁,谈谈Java Synchronized 的锁机制。 本篇文章深入分析 Lock 的实现,以及对比其与 Synchronized 的不同。 Sy
阅读全文
摘要:Java 15 废弃偏向锁 JDK 15已经在2020年9月15日发布,详情见 JDK 15 官方计划。其中有一项更新是废弃偏向锁,官方的详细说明在:JEP 374: Disable and Deprecate Biased Locking。 具体的说明见:JDK 15已发布,你所要知道的都在这里!
阅读全文
摘要:前言 Java 8 的 Stream 使得代码更加简洁易懂,本篇文章深入分析 Java Stream 的工作原理,并探讨 Steam 的性能问题。 Java 8 集合中的 Stream 相当于高级版的 Iterator,它可以通过 Lambda 表达式对集合进行各种非常便利、高效的聚合操作(Aggr
阅读全文
摘要:前言 最近做了《Kotlin实战》的思维导图笔记,Kotlin真香…… 目录 基础 函数 类、对象 λ表达式 类型 约定 高阶函数、泛型 公众号 coding 笔记、点滴记录,以后的文章也会同步到公众号(Coding Insight)中,希望大家关注^_^ 代码和思维导图在 GitHub 项目中,欢
阅读全文
摘要:JDK 15已经在2020年9月15日发布!详情见 JDK 15 官方计划。下面是对 JDK 15 所有新特性的详细解析! 官方计划 2019/12/12 Rampdown Phase One (fork from main line) 2020/06/11 Rampdown Phase One (
阅读全文
摘要:前言 2018年4月,Oracle Labs新公开了一项黑科技:Graal VM。 这是一个在HotSpot虚拟机基础上增强而成的跨语言全栈虚拟机,可以作为“任何语言”的运行平台使用。 现在网络上关于 Graal VM 的相关资料并不多,还是要看官方文档。本文旨在简要介绍: 什么是 Graal VM
阅读全文
摘要:目录 工具 虚拟机实现 class 文件结构 字节码指令 其他 虚拟机结构 公众号 coding 笔记、点滴记录,以后的文章也会同步到公众号(Coding Insight)中,希望大家关注^_^ 公众号 coding 笔记、点滴记录,以后的文章也会同步到公众号(Coding Insight)中,希望
阅读全文
摘要:对于 Java 开发工程师来说,Maven 是依赖管理和代码构建的标准。遵循「约定大于配置」理念。Maven 是 Java 开发工程师日常使用的工具,本篇文章简要介绍一下 Maven 的依赖树解析。 依赖树结构 在 pom.xml 的 dependencies 中声明依赖包后,Maven 将直接引入
阅读全文
摘要:前言 String 是我们使用最频繁的对象,使用不当会对内存、程序的性能造成影响,本篇文章全面介绍一下 Java 的 String 是如何演进的,以及使用 String 的注意事项。 下面的输出结果是什么? @Test public void testString() { String str1 =
阅读全文
摘要:简介 推荐阅读:Jeffrey Friedl 《精通正则表达式(第3版)》,本文是该书的读书笔记。 定义 正则表达式:regular expression, regex,是用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep
阅读全文