高性能MySQL第二章 高性能MySQL笔记第二章为什么需要基准测试?因为基准测试是唯一方便有效的、可以学习系统再给定的工作负载下会发生什么的方法。 验证基于系统的一些假设,是否复合实际情况 重新系统中的某些异常 测试当前系统的运行情况 模拟比当前系统更高的负载 规划业务增长,可以评估项目在未来的负载下,需要什么样的环境条件 测试应用适应可变环境的能力 测试不同硬件、软件组合时的表现 验证新采购设备是否配置正确 基准 2021-11-05 读书笔记 #数据库 #MySQL
高性能MySQL读书笔记 MySQL笔记第一章MySQL架构与历史MySQL的架构图 MySQL三层架构,最上面那一层负责客户端和MySQL服务器端的连接处理、授权认证、安全等方面。可以理解负责管理登录到MySQL这个服务器的过程。 第二层-大多数MySQL的核心都在这里,包括查询解析,分析,优化,缓存和所有的内置函数,储存过程、触发器、视图等 第三层-存储引擎。存储引擎负责对数据的存储和提取,就像Linux下的各种文 2021-11-03 读书笔记 #数据库 #MySQL
散列表和HashMap源码 本次分析难度有点大了,我曾经以为还算是了解HashMap了,但是具体分析了源码和看了别人的文章,我才发现还是差太多了。本文估计会非常非常长,而且在JDK1.8以后HashMap增加了使用红黑树来储存,所以应该会用两篇文章来处理了HashMap 散列表什么是散列表官方定义: 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关 2021-10-28 源码分析 #集合框架
链表和LinkedList源码分析 本文需要你具备一些简单的Java知识,主要是在LinkedList这个集合框架有一定的使用经验,特别提醒,如果你看过这篇的前一篇关于ArrayList的源码分析会更好理解。如果你没有太多经验,可以查看该网站之前有关于集合框架的文章中LinkedList的内容,本文JDK版本为1.8 链表什么是链表链表用官方的回答就是: 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表 2021-10-20 源码分析 #集合框架
数组和ArrayList源码分析 本文需要你具备一些简单的Java知识,主要是在ArrayList这个集合框架有一定的使用经验,如果你没有太多经验,可以查看该网站之前有关于集合框架的文章中ArrayList的内容,本文JDK版本为1.8 数组什么是数组用非常官方的话来说: 数组(Array)是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下 2021-10-19 源码分析 #集合框架
Java反射 通过反射查看类信息通过反射获得一个类每个类被加载之后,系统会为该类生成对应的Class对象。Java程序中获得Class对象通常有以下三种方式。 使用Class类的forName(String className)静态方法。该方法需要传入该类的全限定类名(包括包的信息) 调用某个类的class属性来获得该类对应的Class对象。 调用某个对象的getClass()方法。该方法是Object类中的 2021-09-10 理论深入 #Java疯狂讲义
Java多线程入门3 如果你还不了解Java多线程相关的知识,建议去看我的上一篇Java多线程入门2,如果你还没有开始了解Java,那么可以从我的知乎开始:知乎传送门 线程池池的概念 对于共享资源的情况,有一个通用的涉及模式:资源池,用于解决资源频繁创建消失所造成的资源浪费。所以初始化一些共享资源里,使用这些资源结束并不会让他们消失,而且会交接给下一个调用的人使用。这些资源通称为池的概念。 系统启动一个新线程的成本是很 2021-09-01 理论深入 #Java疯狂讲义
Java多线程入门2 如果你还不了解Java多线程相关的知识,建议去看我的上一篇Java多线程入门2,如果你还没有开始了解Java,那么可以从我的知乎开始:知乎传送门 线程同步在线程同步方面有一个比较经典的例子是银行取钱之类的。他们的逻辑也只有一个,那就是保证不会出现负数的物品或者是负数金额。而在多线程的程序中,线程的执行是随机的,而且会同时访问某个对象,如果不加处理,可能会出现数据错误的问题。 同步代码块1234sy 2021-08-12 理论深入 #Java疯狂讲义
Java多线程入门1 Java多线程入门(1)假如你没有一点Java多线程的基础,可以花10分钟看看我之前在知乎写的关于多线程的知识点:多线程简单入门 线程概述多线程,简单来说就是多个线程(哈哈哈哈哈啊)。当我们使用计算的时候,可以同时打开QQ音乐和QQ和微信。这几个程序可以理解为多个进程,而一个进程又可以存在多个线程。实际应用中,对线程是非常游泳的,一个浏览器必须能同时下载多个照片;一个web服务器必须能同时响应多个 2021-07-29 理论深入 #Java疯狂讲义
java NIO Java NIO 之前我们讲过JavaIO,我们曾把JavaIO比喻为从一个竹筒中取水,一滴滴地输入或者输出。新的IO方式使用了不同的方式来处理输入与输出,新IO采用内存映射文件的方式来处理输入和输出,新IO将文件或者文件的一段区域映射到内存中,这样就可以像访问内存一样来访问文件了。 **Channel(通道)和Buffer(缓冲)**是新IO中两个核心对象。新IO系统中所有数据都需要通过通道来传 2021-07-28 理论深入 #Java疯狂讲义