Littlehui's Notes

古代有一位将军喝酒成瘾,将军啊将军,他越喝越有型。


  • 首页

  • 关于

  • 标签

  • 分类

  • 搜索

【JVM深入理解系列1】JVM底层加载

发表于 2021-05-10 | 分类于 java , jvm
类的加载过程加载加载是指查找并加载类的字节码文件,并将其转换为 JVM 内部的数据结构,即 Class 对象。Java 中的类加载器负责查找类文件,一般有三种类加载器:引导类加载器、扩展类加载器和应用程序类加载器。 在HotSpot中具体是三个步骤: 通过类的全限定名获取存储该类的class文件。 ...
阅读全文 »

【深入理解并发编程系列5】抽象队列同步器AQS Lock详解

发表于 2021-04-01 | 分类于 java , 并发
背景为了提升锁性能引入了 锁粗化技术。 锁粗化:多个同步都加统一个对象。反复不停进出一个对象。JVM会对这样的代码进行逃逸分析。对整个代码块进行扫描。如果符合这种特征代码的话,会将多个同步块合并成一个大的同步快,变粗了。 锁消除:如果对象不可能被多个对象访问到。通过逃逸分析,会对锁进行消除。比如只加 ...
阅读全文 »

【深入理解并发编程系列4】JVM内置锁 synchronized关键字详解

发表于 2021-03-29 | 分类于 java , 并发
ReentrantLock历史:李二狗看到Synchronized效率太低,自己实现了一套基于AQS的锁。支持可重入,公平,非公平等特性。 Synchronized历史:1.6之前效率低下,重量锁。1.6之后进行了升级,追加了锁的升级过程。 偏向锁->轻量级锁->重量级锁。 效率和Ree ...
阅读全文 »

【深入理解并发编程系列3】JMM-CPU缓存一致性协议MESI

发表于 2021-03-26 | 分类于 java , 并发
volatile可见性实现的原理编译后的汇编会增加一个lock前缀 CPU指令 lock前缀是总线锁 CPU访问内存必须通过总线桥访问。lock前缀加了总线锁,其他CPU就无法通过总线桥获取内存数据。 这个是古老的CPU用的。这种方式会降低多核性能。 MESI M:modifyE:独占S:shar ...
阅读全文 »

【深入理解并发编程系列2】JVM内存模型

发表于 2021-03-24 | 分类于 java , 并发
内存模型Java原生支持多线程,这种模型是为了适配不同操作系统架构。屏蔽掉系统和底层硬件的差异。工作模型如下: JVM的内存模型是JVM定义抽象的定义。工作内存对应的JVM哪一个模块不重要因为,不同的JVM实现,实现的也不一样。 数据八大原子操作 lock: 作用于主内存的变量,把一个变量标记为一 ...
阅读全文 »

【深入理解并发编程系列1】操作系统与虚拟机

发表于 2021-03-21 | 分类于 java , 并发
概要 冯诺依曼计算机模型 cpu缓存结构剖析。 操作系统内存管理与线程模型。 虚拟机指令集架构详解。 冯诺依曼计算机体系 CPU缓存架构 多级缓存: L1 cache 数据缓存和指令缓存,逻辑独占。一般 256K L2 cache 物理核独占,逻辑核共享。 一般1M左右 L3 cache, 所有 ...
阅读全文 »

谈判的四大金刚

发表于 2020-08-25 | 分类于 技术之外
一个单体的个人对外界信息的反馈可以分为 梦想型 计划型 恋人型 勇士型 梦想型,主导方向(激励)。计划型,做逻辑预算(基于自我表达)。恋人型,拉近距离(共情)。勇士型,坚毅行动(直接的怼)。 不同的场景应用以上不同的组合兵来将挡,水来土掩。一切的故事从针锋相对开始,到化干戈为玉帛结束。 ...
阅读全文 »

设计模式系列:访问者模式

发表于 2020-04-07 | 分类于 java , 设计模式
概念 访问者模式有点复杂。一般不轻易使用。他的主要任务是通过不同的访问器,访问问相同的对象,得到不同的信息生成不同的报表等。 实现类图 代码 Coputer被访问者 12345678910111213141516171819202122/** * @Description TODO * @C ...
阅读全文 »

设计模式系列:中介者模式

发表于 2020-04-07 | 分类于 java , 设计模式
概念 定义一个中介者对象, 封装一系列对象的交互关系, 使得各对象不必显示的相互引用,从而使其耦合松散, 而且可以独立的改变它们的交互. 实现以智能家居为例,小爱控制只能家居。 类图 代码 SmartDevice 智能设备抽象 12345678910111213141516package c ...
阅读全文 »

设计模式系列:解释器模式

发表于 2020-04-07 | 分类于 java , 设计模式
概念 解释器模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 实现类图 代码 Expression 123456789101112package com.littlehui.design;/** * @Description TODO * @C ...
阅读全文 »
1…789…16
Littlehui

Littlehui

将军啊将军,我要像将军那样喝酒。

157 日志
48 分类
123 标签
RSS
GitHub 简书
© 2024 Littlehui
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4