易水风萧个人学习

风萧萧兮易水寒,壮士一去兮不复还

从零理解java之虚拟机类加载机制

雨打雪花门外寒,身处卧榻触心寒。西江少女不知罪,却把伤感 心扉湮

Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。与那些在编译时需要进行连接的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略让Java语言进行提前编译会面临额外的困难,也会让类加载时稍微增加一些性能开销,但是却为Java应用提供......

mysql数据库中几种主键策略性能对比

失去的东西,其实从来未曾真正地属于你,也不必惋惜,始终真心真意

一 前提条件四种场景下id的生成方式 mysql自增主键 mysql表结构主键自增但是手动设置雪花ID mysql表结构主键不自增但是手动设置雪花ID mysql表主键为varchar,使用UUID 在数据量级10, 50, 100, 200, 300, 400, 500, 1000, 2000, 3000, 4000, 5000, 10000,20000, 30000, 40000, ......

从零理解java之线程锁

余生千万不要再见,我怕失了体面。”每个人的心情每天都是不同的,伤感,往往是最美的情感,也是我们承受着最痛的伤害

高效并发是从JDK 5升级到JDK 6后一项重要的改进项,HotSpot虚拟机开发团队在这个版本上花费了大量的资源去实现各种锁优化技术,如适应性自旋(Adaptive Spinning)、锁消除(Lock Elimination)、锁膨胀(Lock Coarsening)、轻量级锁(Lightweight Locking)、偏向锁(Biased Locking)等,这些技术都是为了在线程之间......

从零理解java之多线程

滴滴珠泪,缕缕柔肠,更无限凄惶

基于高速缓存的存储交互很好地解决了处理器与内存速度之间的矛盾,但是也为计算机系统带来更高的复杂度,它引入了一个新的问题:缓存一致性(Cache Coherence)。在多路处理器系统中,每个处理器都有自己的高速缓存,而它们又共享同一主内存(Main Memory),这种系统称为共享内存多核系统(Shared Memory Multiprocessors System)。当多个处理器的运算任务......

从零理解java之class文件内容解读

听多了谎话,看够了繁华,别让一句我爱你,只经过口腔,不经过心脏

原始代码内容如下: 123456789101112package org.example;public class Demo { public static void main(String[] args) { int a = 1; int b = 2; int c = a + b; System.out.pr......

从零理解java之内存分配与回收

你的名字,写下来不过几厘米那么短,却贯穿了我那么长的时光

一 内存回收与分配策略对象的内存分配,从概念上讲,应该都是在堆上分配(而实际上也有可能经过即时编译后被拆散为标量类型并间接地在栈上分配)。在经典分代的设计下,新生对象通常会分配在新生代中,少数情况下(例如对象大小超过一定阈值)也可能会直接分配在老年代。对象分配的规则并不是固定的,《Java虚拟机规范》并未规定新对象的创建和存储细节,这取决于虚拟机当前使用的是哪一种垃圾收集器,以及虚拟机中与内......

从零理解java之内存管理

失去的东西,其实从来未曾真正地属于你,也不必惋惜,始终真心真意

一 运行时数据区域 1.1 程序计数器字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。 如果线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址 如果正在执行的是本地(Native)方法,这个计数器值则应为空(Undefined) ......

从零理解java之字符串与二进制数据

笑容可以瞒过别人,可心痛却骗不了自己

一 字符串转为二进制数据如果明确使用UTF-8编码,字符串”中”中的字符数仍然是1,但是占用的字节数会根据编码方式不同而有所变化。 在UTF-8编码中,一个中文字符占用3个字节。因此,字符串”中”在UTF-8编码下占用的字节数是3。 下面是具体的处理代码示例: 123456789101112131415161718192021222324252627282930313233343536373......

JWT、JWE、JWS 、JWK基础概念与应用

有些故事,除了回忆,谁也不会留;有些无奈,除了沉默,谁也不会说;有些东西,除了自己,谁也不会懂

一 基本概念1.1 JWT JSON Web 令牌(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间作为 JSON 对象安全地传输信息 也就是说 JWT 实际上是一种规范,并确定使用 JSON 作为表达,JWS 和 JWE 则是对这种规范的实现以及增强。 1.2 JWS (JSON Web Signature)JWS 使用 Base64 进行编码,......

linux基本常用功能配置

选择最淡的心事,诠释坎坷的人生

一 Ubuntu20.04开启root账户的方法步骤1.1 创建root用户的密码以普通用户登录系统,创建root用户的密码 在终端输入命令:sudo passwd root 然后输入设置的密码,输入两次,这样就完成了设置root用户密码. 1.2 修改 50-ubuntu.conf 文件修改 50-ubuntu.conf 文件 在终端输入命令: 1sudo gedit /usr/share......