Wesley13 Wesley13
4年前
java面试题汇总,不断更新中。。。
JVM,并发,锁相关:1.请你谈谈对volatile的理解,volatile是否存在伪共享问题。2.cas你知道吗?3.原子类AtomicInteger的ABA问题谈谈?原子更新引用知道吗?4.公平锁/非公平锁/可重入锁/递归锁/自旋锁谈谈你的理解?请手写一个自旋锁。5.CountDownLatch、CyclicBarrier、S
捉虫大师 捉虫大师
4年前
实现一个比LongAdder更高性能的计数器有多难
本文已收录https://github.com/lkxiaolou/lkxiaolou欢迎star。强悍的LongAdderLongAdder是jdk8引入的适用于统计场景的线程安全的计数器。在此之前,实现一款线程安全的计数器要么加锁,要么使用AtomicLong,加锁性能必然很差,AtomicLong性能要好很多,但是在高并发、多线程下,也显得吃力。
OMG!Java高级开发岗必问知识点
目录1.Mysql2.CHAR与VARCHAR的区别?3.能说下myisam和innodb的区别吗?4.你能说下事务的基本特性和隔离级别吗?5.并发问题脏读、不可重复读、幻读?6.事务的隔离级别?7.说说自增主键、UUID?8.mysql的约束分类?9.drop、delete与tru
Wesley13 Wesley13
4年前
MySQL为什么还有kill不掉的语句?
欢迎关注公众号“码农架构”专注于高可用、高性能、高并发类技术分享!!(https://oscimg.oschina.net/oscnet/499c9a05cfb94e8f99b15729d44c1593.png)在MySQL中有两个kill命令:一个是killquery线程id,表示终止这个线程中正在执行的语句;一
Wesley13 Wesley13
4年前
Java 深入理解volatile关键字
我们知道Java中volatile实现了修饰变量的原子性以及可见性,并且为了实现多线程环境下的线程安全,禁止了指令重排。首先我们先来了解一下happensbefore原则、asifserial语义以及数据依赖性,引用自《Java并发编程的艺术》happensbefore简介从JDK5开始,Java使用新的JSR133内存模型
Wesley13 Wesley13
4年前
Java面试解析总结:Java+Redis+数据库+算法与数据结构+分布式
!(https://oscimg.oschina.net/oscnet/up760e80c47ac2161a4a2fb57889bd590e1ff.png)金九银十即将到来,给大家整理了今年来最经典的面试真题1000道,每个题目都有详细的解答,收集了java基础、RabbitMQ,微服务、MySQL数据库、Java并发、JVM,Redis、设计模
Stella981 Stella981
4年前
ReetrantLock源码分析
ReentrantLock类的大部分逻辑,都是其均继承自AQS的内部类Sync实现的啥是AQS:Java并发编程核心在于java.concurrent.util包而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如「等待队列、条件队列、独占获取、共享获取」等,而这个行为的抽象就是基于AbstractQueuedSynchron
Stella981 Stella981
4年前
Python 浅析线程(threading模块)和进程(process)
    线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务进程与线程什么是线程(threading)?Athreadisanexecutioncontext,whichisall
一个 println 竟然比 volatile 还好使? | 京东云技术团队
前两天一个小伙伴突然找我求助,说准备换个坑,最近在系统复习多线程知识,但遇到了一个刷新认知的问题……小伙伴:EffectiveJAVA里的并发章节里,有一段关于可见性的描述。下面这段代码会出现死循环,这个我能理解,JMM内存模型嘛,JMM不保证stopRe