JUC、数据结构、算法、JVM、Linxu
文章平均质量分 91
ConcurrentProgramming、JUC、数据结构、算法、JVM、Linxu
穿城大饼
离离原上草,一岁一枯荣。
野火烧不尽,春风吹又生。
远芳侵古道,晴翠接荒城。
又送王孙去,萋萋满别情。
展开
-
ConcurrentProgramming:Atomic 原子类
ConcurrentProgramming:Atomic 原子类关键词方法基于CAS实现+自旋AtomicInteger -> Unsafe的对象 -> CAS实现+自旋一、Atomic介绍Atomic 翻译成中⽂是原⼦的意思。在化学上,我们知道原⼦是构成⼀般物质的最⼩单位,在化学反应中是不可分割的。在我们这⾥ Atomic 是指⼀个操作是不可中断的。即使是在多个线程⼀起执⾏的时候,⼀个操作⼀旦开始,就不会被其他线程⼲扰。所以,所谓原⼦类说简单点就是具有原⼦/原⼦操作特征的类原创 2021-10-18 17:39:09 · 131 阅读 · 0 评论 -
面试题:为什么局部变量不赋初始值报错
类加载准备阶段 类变量赋值关键词加载阶段>链接阶段(验证,准备,解析)>初始化阶段在链接得准备阶段进行静态变量得默认值赋值操作一、面试题:请回答,下面两段代码得执行结果public class A { static int a ; public static void main(String[] args) { System.out.println(a); } }public class B { publi原创 2021-09-29 15:19:53 · 1700 阅读 · 0 评论 -
JVM:Java指令源码opcode
JVM:Java指令源码opcode关键词Java 字节码是沟通 JVM 与 Java 程序的桥梁指令( opcode)由操作码和操作数组成JVM 翻译字节码( 将 opcode + 操作数翻译成机器代码、 JIT即时编译 )一、 Java 程序的执行过程Java 程序的执行过程 图示:其中,调用了System.out 等模块,是 JRE 里提供的类库。使用 JDK 的工具 javac 进行编译后,会产生 HelloWorld 的字节码。我们一直在说 Java 字节码是沟通 JV原创 2021-09-27 17:04:37 · 1176 阅读 · 0 评论 -
分布式理论和分布式一致性协议
分布式理论关键词原创 2021-09-22 21:36:01 · 109 阅读 · 0 评论 -
GC:垃圾回收机制及算法
GC垃圾回收关键词原创 2021-09-22 21:33:35 · 1538 阅读 · 0 评论 -
Java虚拟机JVM的内存管理
JVM内存模型关键词原创 2021-09-22 21:32:41 · 511 阅读 · 0 评论 -
JUC:CAS
JUC:CAS关键词CAS 的指令允许算法执行原子操作的 读-修改-写 操作CAS指令(性能上提升)和 synchronized阻塞算法只能保证一个共享变量的原子操作 、循环时间长开销大、ABA问题一、概述1.1 概念CAS,compare and swap的缩写,比较并交换在Doug Lea提供的cucurenct包中,CAS理论是它实现整个java包的基石CAS 操作包含三个操作数内存位置(V)预期原值(A)新值(B)如果内存位置的值与预期原值相匹配,那原创 2021-09-16 17:40:55 · 124 阅读 · 0 评论 -
JUC:ReentrantLock互斥锁
JUC:ReentrantLock原创 2021-09-14 15:55:54 · 221 阅读 · 0 评论 -
ConcurrentProgramming:ThreadLocal(jdk8)
ConcurrentProgramming:ThreadLocal使线程中的某个值与保存值的对象关联起来使用场景:ThreadLocal的使用不是为了能让多个线程共同使用某一对象,而是我有一个线程A,其中我需要用到某个对象o,这个对象o在这个线程A之内会被多处调用,而我不希望将这个对象o当作参数在多个方法之间传递,于是,我将这个对象o放到TheadLocal中,这样,在这个线程A之内的任何地方,只要线程A之中的方法不修改这个对象o,我都能取到同样的这个变量o。案例:有一个银行的BankDAO类原创 2021-09-07 18:09:13 · 152 阅读 · 0 评论 -
JUC:ConcurrentSkipListMap/ConcurrentSkipListSet(并发容器)
JUC:ConcurrentSkipListMap/ConcurrentSkipListSet关键词无锁链表(无锁地实现节点的增加、删除,只在队头、队尾进行CAS操作)并发问题,删除(分两步,在1个CAS操作),Mark节点(删除节点的next指针指向该Marker节点)定位位置;检查,执行了一系列的检查逻辑(检测删除);执行具体操作ConcurrentHashMap 是一种 key 无序的 HashMapConcurrentSkipListMap则是 key 有序的 TreeMap,实原创 2021-09-13 20:07:46 · 366 阅读 · 1 评论 -
JUC:ConcurrentHashMap(并发容器)
JUC:ConcurrentHashMapHashMap通常的实现方式是“数组+链表”,这种方式被称为“拉链法”。ConcurrentHashMap在这个基本原理之上进行了各种优化。首先是所有数据都放在一个大的HashMap中;其次是引入了红黑树。其原理如下图所示:如果头节点是Node类型,则尾随它的就是一个普通的链表;如果头节点是TreeNode类型,它的后面就是一颗红黑树,TreeNode是Node的子类。链表和红黑树之间可以相互转换:初始的时候是链表,当链表中的元素超过某个阈值时,把链表原创 2021-09-10 00:43:08 · 285 阅读 · 0 评论 -
ConcurrentProgramming:volatile/构造方法溢出/禁止重排序
一、64位写入的原子性(Half Write)如,对于一个long型变量的赋值和取值操作而言,在多线程场景下,线程A调用set(100),线程B调用get(),在某些场景下,返回值可能不是100。public class MyClass { private long a = 0; // 线程A调用set(100) public void set(long a) { this.a = a; } // 线程B调用get(),返回值一定是100吗? pu原创 2021-09-09 15:37:39 · 183 阅读 · 0 评论 -
ConcurrentProgramming:interrupt
ConcurrentProgramming:interrupt一、InterruptedException与interrupt()方法1.1 Interrupted异常什么情况下会抛出Interrupted异常(未来修改中断标记的时候,取决于方法是否抛出了中断异常)假设while循环中没有调用任何的阻塞函数,就是通常的算术运算,或者打印一行日志,如下所示。public class MyThread extends Thread { @Override public void r原创 2021-09-07 21:12:39 · 68 阅读 · 0 评论 -
ConcurrentProgramming:wait()和notify()和synchronized
ConcurrentProgramming:wait()和notify()必须和synchronized一起使用?在Java里面,wait()和notify()是Object的成员函数,是基础中的基础。为什么Java要把wait()和notify()放在如此基础的类里面,而不是作为像Thread一类的成员函数,或者其他类的成员函数呢?先看为什么wait()和notify()必须和synchronized一起使用?请看下面的代码: 等待什么?唤醒什么?什么时候等待和唤醒?class MyClass原创 2021-09-07 19:48:36 · 164 阅读 · 0 评论 -
HR⾯试问题汇总2
HR⾯试问题汇总2一、常见面试问题回答技巧1、请你做一下自我介绍?回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、性格中最积极的部分、做过的最成功的事,主要的成就等,这些回答关于学习或者生活都可以,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,要在自我介绍结束后说一句“谢谢”。2、你觉得你最大的优点是什么?回答提示:沉着原创 2021-07-16 00:59:02 · 393 阅读 · 1 评论 -
HR⾯试问题汇总
HR⾯试问题汇总1、请介绍⼀下你⾃⼰这是⾯试官100%会问的问题,⼀般⼈回答这个问题过于平常,只说姓名、年龄、爱好、所学专业等,如果你⽤⼀分钟来重复你的简历,那么,你的印象加分没有了!不妨坦诚⾃信地展现⾃我,重点突出与应聘职位相吻合的优势。你的相关能⼒和素质是企业最感兴趣的信息。因为,在许多情况下,在听取你的介绍时,⾯试官也会抓住他感兴趣的点深⼊询问。所以,在进⾏表述时,要⼒求以真实为基础,顾及表达的逻辑性和条理性,避免冗⻓⽽没有重点的叙述。⼀定要在最短的时间内激发起⾯试官对你的好感。例:我叫XX原创 2021-07-16 00:14:29 · 1092 阅读 · 1 评论 -
Kafka相关面试真题整理( 持续更新... ... )
Kafka相关面试真题整理架构模型(晟茂科技)数据一致性问题(producer、broker、consumer是如何保证的)(晟茂科技/2020/11)消费模式为什么只有pull(晟茂科技/2020/11)log文件的写入(工作原理、buffer刷盘相关)(晟茂科技/2020/11)索引(稀疏索引、内存映射是怎么回事)(晟茂科技/2020/11)__consumer_offsets、log、索引文件关系(晟茂科技/2020/11)写log和写索引机制(主要为buffer、和内存映射的考察)原创 2020-11-06 16:11:51 · 211 阅读 · 0 评论