2023-05-15
JMM引入JMM与硬件内存结构关系硬件内存结构简介JMM与硬件内存连接 - 引入
JMM与硬件内存连接 - 对象共享后的可见性
JMM与硬件内存连接 - 竞态条件如果两个或多个线程共享一个对象,并且多个线程更新该共享对象中的变量,则可能会出现竞态。
阅读全文
2023-05-15
https://www.pdai.tech/md/java/jvm/java-jvm-struct.html
运行时数据区域总览内存是非常重要的系统资源,是硬盘和 CPU 的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM 内存布局规定了 Java 在运行过程中内存申请、分配、管理的策略,保证了 JVM 的高效稳定运行。不同的 JVM 对于内存的...
阅读全文
2023-05-15
知识体系
学习要点不同的虚拟机实现方式上也有差别,如果没有特别指出,这里的JVM指的是sun的HotSpot不同的JDK版本略有差别,这里主要以1.8为主。
阅读全文
2023-05-15
Java源代码通过编译器编译为字节码,再通过类加载子系统进行加载到JVM中运行。
多语言编译为字节码在JVM运行计算机是不能直接运行java代码的,必须要先运行java虚拟机,再由java虚拟机运行编译后的java代码。这个编译后的java代码,就是本文要介绍的java字节码。
为什么jvm不能直接运行java代码呢,这是因为在cpu层面看来计算机中所有的操...
阅读全文
2023-05-15
类的生命周期其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或晚期绑定)。另外注意这里的几个阶段是按顺序开始,而不是按顺序进行或完成,因为这些阶段通常都是互相交叉地...
阅读全文
2023-05-15
Java泛型这个特性是从JDK 1.5才开始加入的,因此为了兼容之前的版本,Java泛型的实现采取了“伪泛型”的策略,即Java在语法上支持泛型,但是在编译阶段会进行所谓的“类型擦除”(Type Erasure),将所有的泛型表示(尖括号中的内容)都替换为具体的类型(其对应的原生态类型),就像完全没有泛型一样。
为什么会引入泛型泛型的本质是为了参数化类型(在...
阅读全文
2023-05-15
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制在框架设计中极为广泛,需要深入理解。
反射基础RTTI(Run-Time Type Identification)运行时类型识别。在《...
阅读全文
2023-05-11
JDK中Collection和Map相关知识体系概览。
集合框架体系结构
CollectionList
ArrayList
Vector
LinkedList
Set
TreeSet
HashSet
LinkedHashSet
Queue
LinkedList
PriorityQueue
DequeMapTreeMapHashMapHashTableL...
阅读全文
2023-05-10
服务注册发现与负载均衡 - Service如果使用 Deployment 来运行应用服务,Deployment 可以动态的创建和销毁 Pod。每个 Pod 获取其自己的 IP 地址(K8S期待网络插件确保IP地址分配)。对于集群中给定的 Deployment,这一刻运行的这组 Pod 可能不同于下一刻运行应用程序的另一组 Pod。由此引出的的问题是:
如果...
阅读全文
2023-05-09
概念单体应用单体应用是所有的代码都放在同一个工程中、部署在同一个服务器、同一项目的不同模块不同功能互相抢占资源。
单台服务器的压力扛不住的时候,就要用到负载均衡技术,增加多台服务器来抗压,后端的数据库也可以用主从的方式来增加并发量。
微服务微服务就是将工程根据不同的业务规则拆分成微服务,部署在不同的服务器上,服务之间相互调用。
微服务的技术选型Dubbo (...
阅读全文
上一页 1 2 3 4 5 6 … 15 下一页