摘要: 一、ReentrantLock功能详解 1.1 ReentrantLock是可重入且互斥的 1 public class Test3 { 2 static class RunnableTest implements Runnable{ 3 private ReentrantLock lock = n 阅读全文
posted @ 2020-11-07 13:10 Aidan_Chen 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 一、并发控制 1.1 读写锁 读写锁,即共享锁(shared lock)和排他锁(exclusive lock),读锁是共享的,相互之间不阻塞,多个用户在同一时刻可以同时读取同一个资源,而互不干扰;写锁则是排他的,一个写锁会阻塞其他的写锁和读锁,在同一给定时间里,只有持有锁的用户能执行写入,并防止其 阅读全文
posted @ 2020-10-11 14:09 Aidan_Chen 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 一、MySQL逻辑架构 图1.1 MySQL服务器逻辑架构 整体架构分为三层,最上层负责如连接处理、授权认证、安全等问题;第二层集中了大多数核心功能,包括查询解析、分析、优化、缓存以及所有的内置函数,所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等;第三层包含了存储引擎,存储引擎负责My 阅读全文
posted @ 2020-10-11 14:08 Aidan_Chen 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 本章主要介绍应用程序所需的网络服务、客户和服务器、进程和运输层接口。其中会涉及到的几种网络应用程序,包括Web、DNS、对等文件分发和视频流。 一、应用层协议 研发网络应用程序的核心是写出能够运行在不同端系统和通过网络彼此通信的程序。 1.1 网络应用程序体系结构 应用程序体系结构不同于网络的体系结 阅读全文
posted @ 2020-09-28 17:02 Aidan_Chen 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 一、什么是因特网1.1 描述因特网的两种方式1.1.1 从基本硬件和软件组件描述我们将桌面PC、Linux服务器、手机电视等与因特网相连的设备称之为主机(host)或者端系统(end system)。端系统通过通信链路(communication link)和分组交换机(packet switch)连接到一起。通信链路是由不同类型的物理媒体组成,包括同轴电缆、铜线、光纤和无线电频谱。不同的链路能够... 阅读全文
posted @ 2020-09-17 21:13 Aidan_Chen 阅读(484) 评论(0) 推荐(0) 编辑
摘要: (本篇内容均出自《高性能MySQL》一书,是一篇粗略的笔记,有幸遇见建议直接观看书中第五章) 一、概述 索引是存储引擎用于快速查找记录的一种数据结构,它对性能的影响非常关键,尤其是当表中数据量越来越大的时候。因此索引优化是提高查询性能的有效手段,查询和索引也需要配合使用。本文将介绍索引的种类,索引策 阅读全文
posted @ 2020-09-05 16:08 Aidan_Chen 阅读(641) 评论(0) 推荐(0) 编辑
摘要: 一、synchronized的使用 官方文档对其解释是,synchronized关键字可以实现一个简单的策略来防止线程干扰和内存一致性错误,如果一个对象对多个线程是可见的,那么对该对象的所有读或者写都将通过同步的方式来进行。 synchronized的使用方式有三种: 修饰静态方法,对class进行 阅读全文
posted @ 2020-09-03 20:50 Aidan_Chen 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 一、概述 本章将详细介绍任务在线程池中的执行情况、空闲线程的回收过程、默认提供的四种拒绝策略、线程池关闭以及个人觉得比较有意思的地方。 二、任务在线程池中的执行过程 线程池的一个重要作用是管理线程,实现线程的复用,避免反复创建和销毁线程所带来的资源消耗,我们通过new方法创建线程,start( )方 阅读全文
posted @ 2020-08-29 17:21 Aidan_Chen 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 一、对象与序列化 Java对象在创建后,只要程序还需要,它就会存在,但随着程序的终结,它一定会消失。Java的对象序列化是将实现了Serializable接口的对象转化为一个字节序列,并在以后这个字节序列能完全恢复成原来的对象。这里Serializable只是一个标记接口,其中并没有方法,若一个类没 阅读全文
posted @ 2020-07-20 01:31 Aidan_Chen 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 知识关联: CPU Cache模型与JMM JMM与并发三大特性 (示例使用jdk1.7) volatile关键字是基于MESI缓存一致性协议的,协议的主要内容是多个CPU从主存读取数据到缓存,当其中某个CPU修改了缓存中数据,该数据会立刻同步回主存,其他CPU通过总线嗅探机制可以感知到数据的变化, 阅读全文
posted @ 2020-05-17 00:25 Aidan_Chen 阅读(229) 评论(0) 推荐(0) 编辑