摘要: 1 mysql逻辑架构 mysql逻辑架构图: Mysql服务器、存储引擎 是两个独立的组件,彼此通过api交互 第一层:连接处理、授权认证、安全管理 第二层:核心服务功能 查询解析、分析、优化、缓存以及所有的内置函数(日期、时间、数学、加密函数等) 跨存储引擎的功能:存储过程、触发器、视图等。 第 阅读全文
posted @ 2023-03-09 14:48 拿了桔子跑-范德依彪 阅读(85) 评论(4) 推荐(0) 编辑
摘要: 1 TreeMap基本介绍 Java TreeMap实现了SortedMap接口,也就是说会按照key的大小顺序对Map中的元素进行排序 key大小的评判可以通过其本身的自然顺序(natural ordering),也可以通过构造时传入的比较器(Comparator)。 TreeMap底层通过红黑树 阅读全文
posted @ 2023-02-17 18:57 拿了桔子跑-范德依彪 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 特别:下文的“容量”、“数组长度”,“capacity” 都是指底层数组长度,即 table.length 1 一般数据结构及特点 数组:占用连续内存的数据结构,查找容易[O(1)],插入困难[O(n)] 链表:由一组指向(单向或者双向)的节点连接的数据结构,内存不连续,查找困难,但插入删除容易 哈 阅读全文
posted @ 2023-02-17 16:23 拿了桔子跑-范德依彪 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 特别说明: monitor在中文书籍有多种翻译,本文档统一使用:对象锁 | 书籍 | 中文翻译 | | | | | 《java编程思想(第4版)》 | 监视器、对象的锁 | | 《深入理解Java虚拟机(第3版)》 | 对象的锁 | | 《Java虚拟机规范(Java SE 8版)》 | 同步锁 | 阅读全文
posted @ 2022-12-29 23:57 拿了桔子跑-范德依彪 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 1 基本类型 Java里面只有八种原始类型,其列表如下: 实数:double、float 整数:byte、short、int、long 字符:char 布尔值:boolean 复杂类型和基本类型的内存模型本质上是不一样的,简单数据类型的存储原理是这样的:简单数据类型不存在“引用”的概念,都是直接存储 阅读全文
posted @ 2022-12-27 15:48 拿了桔子跑-范德依彪 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 1 String不可变性 String类被声明为 final,因此它不可被继承。 内部使用char数组存储数据,该数组被声明为final,这意味着value数组初始化之后就不能再指向其它数组。 String内部没有改变value数组的方法 String类中所有修改String值的方法,如果内容没有改 阅读全文
posted @ 2022-12-26 23:29 拿了桔子跑-范德依彪 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 1 final基本用法 final:“这是无法改变的" final可以修饰:变量、参数、方法、类 1.1 final修饰变量 修饰变量(变量、局部变量),当变量类型为: 基本类型,一旦被赋值,该值不能被改变。 引用类型,一旦引用被初始化指向一个对象,就不能指向别的对象,但对象内容可以被修改 数据类型 阅读全文
posted @ 2022-12-19 19:27 拿了桔子跑-范德依彪 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 1 锁优化历史 synchronized 从 JDK1.0到JDK1.5 ,效率低 JDK1.5到JDK1.6,JVM团队对synchronized进行深度优化,加入了:适应性自旋、锁消除、锁膨胀、轻量级锁、偏向锁 等优化技术 JDK1.5 开始,加入java.util.concurrent,提供A 阅读全文
posted @ 2022-12-16 20:05 拿了桔子跑-范德依彪 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 1 线程安全定义 含糊的定义:如果一个对象可以安全地被多个线程同时使用,那它就是线程安全的 严谨的定义: 当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那就称这个对 阅读全文
posted @ 2022-12-16 15:10 拿了桔子跑-范德依彪 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 1 线程的实现 主流操作系统都提供线程的实现,在这基础上,上层应用可以构建自己的线程实现方式(Java、php、go的线程实现各不一样)。 三种线程实现方式:内核线程实现(1:1实现),用户线程实现(1:N实现), 用户线程加轻量级进程混合实现(N:M实现) 1.1 内核线程实现 内核线程:直接由操 阅读全文
posted @ 2022-12-15 20:25 拿了桔子跑-范德依彪 阅读(91) 评论(0) 推荐(0) 编辑