GeekIBLi

JVM-内存结构

JVM
作为程序员,最常接触到Java虚拟机的部分应该是内存结构这一部分了,同样这一部分的内容很多,面试也是最常被问到的。虽然JDK已经发布了16版本,但是国内大部分企业都还在使用JDK8。 今天学习一下虚拟机的运行时数据区的组成和各个组件的功能。 JDK8官方网站文档链接 – 》 JDK 运行 ...
Read more

JVM-深入理解Java虚拟机

JVM
JVM结构图 知识清单 Java内存结构 Java对象创建 Java内存模型 类加载机制 垃圾回收机制 垃圾收集器 虚拟机调优 学习资料JAVA虚拟机概述Java虚拟机(JVM)工作原理推荐收藏系列:一文理解JVM虚拟机(内存、垃圾回收、性能优化)解决面试中遇到问题Java虚拟机内存管理 ...
Read more

Java并发编程-深入理解volatile

多线程
volatile特性正确理解volatile 多级cache结构 -> 缓存一致性协议(MESI)-> store buffer和invalidate queue -> 内存屏障 可见性volatile的可见性依赖于Java内存模型。 可以参见之前的文章 👉 Jav ...
Read more

Java-synchronized关键字剖析

多线程
之前写过一篇关于synchronized关键字的文章,是当时听马士兵老师的公开课时记录的一些关键笔记📒 链接🔗 下面我们还是要学习和总结一下synchronized synchronized 特性 有序性as-if-serial 不管编译器和CPU如何重排序,必须保证在单线程情况下程序 ...
Read more

分布式-秒杀系统设计

分布式
秒杀系统的挑战高并发秒杀活动的特点就是短时间内聚集大量请求瞬时到达服务端,此时数据库已经无法支撑如此大数据量的请求了。单个的数据库QPS仅有几百,你可能会想,那我是不是可以部署一个数据库集群呢,在数据库集群前使用Nginx分发,将负载平均分摊到每一个数据库不就可以了吗。这种方式一定程度上是可 ...
Read more

JVM-Xms,Xmx和Xss

Java JVM
性能调优参数Xms,Xmx,Xss的含义-Xss规定了每个线程虚拟机栈及堆栈的大小,一般情况下,256k是足够的,此配置将会影响此进程中并发线程数的大小。 -Xms表示初始化JAVA堆的大小及该进程刚创建出来的时候,他的专属JAVA堆的大小,一旦对象容量超过了JAVA堆的初始容量,JAV ...
Read more

JVM-自定义类加载器

JVM
如何自定义类加载器为什么要自定义加载器 原因:1、存放在自定义路径上的类,需要通过自定义类加载器去加载。【注意:AppClassLoader加载classpath下的类】2、类不一定从文件中加载,也可能从网络中的流中加载,这就需要自定义加载器去实现加密解密。3、可以定义类的实现机制,实现类的 ...
Read more

分布式-一致性哈希算法

分布式
一致性哈希算法一致性哈希算法(Consistent Hashing Algorithm)是一种分布式算法,常用于负载均衡。Memcached client也选择这种算法,解决将key- value均匀分配到众多Memcached server上的问题。它可以取代传统的取模操作,解决了取模操作 ...
Read more

分布式-CAP理论

分布式
CAP 原则CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP原则的精髓就是要么AP,要么CP,要么AC,但是不存在CAP。 一致性(C):在分布式系统中 ...
Read more

Mysql-事务特性与实现原理

MySQL
MySQL事务特性与实现原理1. 事务特性 原子性(Atomicity) 事务中的所有操作作为一个整体像原子一样不可分割,要么全部成功,要么全部失败。 一致性(Consistency) 事务的执行结果必须使数据库从一个一致性状态到另一个一致性状态。一致性状态是指:1.系统的状态满足数据 ...
Read more
Prev Next