- 博客(7)
- 收藏
- 关注
原创 Redis夯实基础系列-Sentinel深入浅出
Sentinel(哨岗、哨兵)是Redis的高可用性(high availability)解决方案:由一个或多个Sentinel实例(instance)组成的Sentinel系统(system)可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。
2023-08-29 15:36:06 168 1
原创 高性能Mysql-Mysql架构详解
MySQL最重要、最与众不同的特性是它的存储引擎架构,这种架构的设计将==查询处理 (Query Processing)系统任务(Server Task)==和数据的存储/提取相分离。这种可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式。
2023-08-29 15:23:59 452 1
原创 Java内存模型与线程-Java内存模型夯实基础系列
Java内存模型的主要目的是定义程序中各种变量的访问规则,即关注在虚拟机中把变量值存储到内存和从内存中取出变量值这样的底层细节。**此处的变量(Variables)与Java编程中所说的变量有所区别,它包括了实例字段、静态字段和构成数组对象的元 素,但是不包括局部变量与方法参数,因为后者是线程私有的,不会被共享,自然就不会存在竞争问题。**为了获得更好的执行效能,Java内存模型并没有限制执行引擎使用处理器的特定寄存器或缓存来和主内存进行交互,也没有限制即时编译器是否要进行调整代码执行顺序这类优化措施。
2023-08-29 15:20:38 105 1
原创 Java并发编程夯实基础系列-共享模型之管程详解
1.共享模型之管程共享带来的问题synchronized解决方案变量的线程安全分析Monitor概念wait和notifypark&unpark线程状态转换活跃性ReentrantLock1.1 共享带来的问题线程出现问题的根本原因是因为线程上下文切换,导致线程里的指令没有执行完就切换执行其它线程了,下面举一个例子static int count = 0;public static void main(String[] args) throws InterruptedE
2023-08-29 15:15:06 195 1
原创 Java并发编程夯实基础系列-Java线程详解
当Context Switch发生时,需要由操作系统保存当前线程的状态,并恢复另一个线程的状态,Java中对应的概念就是程序计数器(Program Counter Register),它的作用是记住下一条jvm指令的执行地址,是线程私有的.保存的线程状态包括程序计数器、虚拟机栈中每个栈帧的信息,如局部变量、操作数栈、返回地址等;默认情况下,java进程需要等待所有的线程结束后才会停止,但是有一种特殊的线程,叫做守护线程,在其他线程全部结束的时候即使守护线程还未结束代码未执行完java进程也会停止。
2023-08-29 14:55:15 58 2
原创 虚拟机夯实基础系列-虚拟机类加载机制深入浅出
本篇文章虚拟机如何加载这些 Class 文件,Class 文件中的信息进入到虚拟机后会发生什么变化。Java 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这个过程被称作虚拟机的类加载机制。在 Java 语言里面,类型的加载、 连接和初始化过程都是在程序运行期间完成的,这种策略让 Java 语言进行提前编译会面临额外的困难,也会让类加载时稍微增加一些性能开销,
2023-08-29 14:42:17 105
原创 虚拟机夯实基础系列-垃圾回收机制深入浅出
垃圾收集(Garbage Collection,简称 GC)需要完成的三件事情:哪些内存需要回收?什么时候回收?如何回收?
2023-08-29 14:00:44 44
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人