Loading

摘要: 前言 往往被问到Java与C/C++有什么区别的时候,最先想到的答案就是Java可与自动回收内存垃圾。 在JVM学习中,垃圾回收几乎是最重要的知识点。 那么,自动垃圾回收机制到底是如何实现的呢,下面我们来梳理一遍。 什么是垃圾回收 垃圾回收(Garbage Collection)诞生于1960年 M 阅读全文
posted @ 2021-05-19 08:35 阿dun 阅读(569) 评论(0) 推荐(0) 编辑
摘要: 前言 类装载器子系统是JVM中非常重要的部分,是学习JVM绕不开的一关。 一般来说,Java 类的虚拟机使用 Java 方式如下: Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。 类加载器负责读取 Java 字节代码,并转换 阅读全文
posted @ 2021-05-18 12:31 阿dun 阅读(705) 评论(0) 推荐(0) 编辑
摘要: 前言 现代业务越来越复杂,数据量也越来越大,关系型数据库本身就比较容易形成系统瓶颈,单机存储容量,连接数,处理能力都有限。 当单表的数据量达到一定量级以后,比如1000万,由于查询维度较多,即使添加从库,优化索引,做很多操作时性能还是下降严重。 这个时候要如何提高数据的性能呢? 有人说,可以通过提升 阅读全文
posted @ 2021-05-17 08:54 阿dun 阅读(1817) 评论(0) 推荐(1) 编辑
摘要: 前言 事务(Transaction)是数据库学习中非常重要的一种概念,作为关系型数据库的核心组成,在数据安全方面有着非常重要的作用。 事务在各大数据库中都有非常广泛的应用,并且对于很多业务,例如电商、支付,是保证其可以正常运行的根基。 本文会逐步解析数据库事务的核心特性,以获得对事务更深的理解,主要 阅读全文
posted @ 2021-05-15 12:27 阿dun 阅读(1902) 评论(0) 推荐(0) 编辑
摘要: 前言 对象是Java中最常被提到的概念,也是Java的灵魂,Java中一切皆是对象。 JVM是Java的根基,理解灵魂与根基是如何融合的,对于理解Java本身至关重要。 对象的创建 对象的创建从Java语言层面上,往往就是一个简单的new即可搞定,而深入JVM的底层,可就复杂的多了。 JVM中对象的 阅读全文
posted @ 2021-05-08 18:24 阿dun 阅读(493) 评论(1) 推荐(0) 编辑
摘要: 运行时数据区域 总览 JDK. 1.7 之后版本略有不同 Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。 有必要深入了解这块的内容,因为它将决定服务器性能,除此之外还有助于快速定位虚拟机的相关Error。 首先来对整个运行时区域有一个整体的认识。 如下图 阅读全文
posted @ 2021-05-07 18:18 阿dun 阅读(386) 评论(0) 推荐(2) 编辑
摘要: 前言 本文代码中有用到一些注解,主要是Lombok与junit用于简化代码。 主要是看到一堆代码会很乱,这样理解更清晰。如果没用过不用太过纠结。 对象的拷贝(克隆)是一个非常高频的操作,主要有以下三种方式: 直接赋值 拷贝: 浅拷贝 深拷贝 因为Java没有指针的概念,或者说是不需要我们去操心,这让 阅读全文
posted @ 2021-04-27 10:58 阿dun 阅读(868) 评论(0) 推荐(1) 编辑
摘要: 阅读本文之前建议先了解动态代理,可以参看我的另一篇博客 轻松理解 Java 静态代理/动态代理 Spring AOP 简介 Spring AOP 的基本概念 AOP (Aspect-Oriented Programming),即 面向切面编程, 它与 OOP (Object-Oriented Pro 阅读全文
posted @ 2021-04-14 09:40 阿dun 阅读(2051) 评论(6) 推荐(4) 编辑
摘要: 理解Java动态代理需要对Java的反射机制有一定了解 什么是代理模式 在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。 例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如找女朋友、找保姆、找工作等 阅读全文
posted @ 2021-04-12 10:25 阿dun 阅读(2154) 评论(0) 推荐(3) 编辑
摘要: Spring IoC 概述 IoC:Inverse of Control(控制反转) 控制反转不是一种技术,而是一种思想。 既然说是反转就说先明白什么是正,什么是反 正控:就是我们平时最常见的那种使用形式,要使用某个对象,需要自己去负责对象的创建,属于自力更生。 反控:若要使用某个对象,无需自己创建 阅读全文
posted @ 2021-04-11 18:38 阿dun 阅读(706) 评论(0) 推荐(1) 编辑