摘要:[TOC] 1. 概述 很多同学对ThreadLocal并不陌生, 但是可能大多数同学可能是知其然不知其所以然, 所以今天就来分析一下ThreadLocal中的奥妙. 个人知识面不是很广, 很多知识综合不起来, 本文只是针对ThreadLocal的源码进行解析. 2. 实战 先来看一个示例吧. 看起
阅读全文
摘要:[TOC] 1. 概述 作为日常的Java开发者,可能对于Java内存堆有简单的了解,但是也是朦朦胧胧的,一些点不是很明确。本文就把堆内存中的每个空间说清楚,把每个空间内存储的内容说明白。 2. Java内存结构 用一张图片了解Java的内存结构。 其中一些空间是私有或者共享的: 线程私有:PC寄存
阅读全文
摘要:[TOC] 1.概述 与C++不同的是, 在Java中我们无需关心对象占用空间的释放, 这主要得益于Java中的垃圾处理器(简称GC)帮助我们自动的进行对象占用空间的释放. 下面我们带着几个问题来学习: 堆内存是如何分代的? 各分代之间是如何配合工作的? 2.堆内存是如何分代的 用一张图片来描述(面
阅读全文
摘要:1.模式动机 有时候,系统中需要某个类只允许有一个实例。比如 ID 序列生成器,如果存在多个的话,就会出现重复的 ID。 通常这些资源最好在系统启动时预先加载好,以便进行响应处理的时候马上可用。宁可系统启动慢也不要响应慢。 2.模式定义 单例模式:单例模式确保某一个类只有一个实例,而且自行实例化并向
阅读全文
摘要:[TOC] 1.概述 在使用Spring框架的过程中, 依赖注入是必须的, 大多时候会使用Autowried注解来进行依赖注入, 但是也可以使用Resource注解来实现注入. 那么两个注解有什么区别呢? 它们又是如何使用的呢? 2.Autowried 用来装配bean, 可作用于字段上, 也可以作
阅读全文
摘要:[TOC] 概述 MySQL从5.7一下子跳到了MySQL8.0, 其中的变化必然是很大的, 这里就不说了, 本文主要讲解最新版MySQL安装的事情. 下载 下载程序必然去官网下载. 直接给出下载地址: "" 下载完, 解压. 配置环境变量 类似于Java的环境变量配置, 将MySQL同样配置到系统
阅读全文