![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
钢铁-程序猿
这个作者很懒,什么都没留下…
展开
-
Java工程师面试突击一、消息队列(MQ)
Java工程师面试突击第一季分布式系统、高并发架构、高可用架构原创 2020-02-29 20:33:54 · 63 阅读 · 0 评论 -
AQS(面试)
AQS(面试)AQS的全称是AbstractQueuedSynchronizerAQS内部维护一个状态state,通过原子更新(CAS)这个状态变量可实现加锁解锁操作。如果要实现自己的锁,可以基于AQS,重写tryAcquire,tryRelease,lock(会调用tryAcquire),unlock(tryRelease)方法。...原创 2020-08-21 15:47:54 · 990 阅读 · 0 评论 -
LongAdder详解
文章目录LongAdderadd方法casBaselongAccumulate方法longAccumulate方法详解后面补充LongAdderadd方法public void add(long x) { Cell[] as; long b, v; int m; Cell a; if ((as = cells) != null || !casBase(b = base, b + x)) { boolean uncontended = true;原创 2020-08-08 11:16:02 · 733 阅读 · 0 评论 -
Java集合(总结,面试使用)
文章目录Java容器List一、ArrayListfail-fast(快速失败)序列化和反序列化Vector和ArrayList的相同和不同二、LinkedListLinkedList对于查找的优化三、CopyOnWriteArrayList(有一个属性是ReentrantLock对象)add方法(会加锁)get方法(未加锁)总结Map1.8HashMapLinkedHashMap重要的三个函数总结使用LinkedHashMap实现LRUJava容器List一、ArrayList1、初始大小为10原创 2020-08-01 20:50:39 · 508 阅读 · 0 评论 -
为什么StringBuilder的效率要比String高?
先看一个例子:标题从上面的例子可以看到,StringBuilder的运行时间只有简单字符串拼接的千分之一 ,那是什么原因造成的呢?String在java中是不可变长的,一旦初始化就不能修改长度,简单的字符串拼接其实是创建新的String对象,再把拼接后的内容赋值给新的对象,在频繁修改的情况下会频繁创建对象,而...转载 2020-07-09 08:59:37 · 459 阅读 · 0 评论 -
cyc的JVM以及其他JVM常问面试题
文章目录1、类加载过程1、对象的访问定位的两种方式?(句柄和直接指针)2、谈谈对内存泄漏的理解?举几个内存泄漏的案例?3、被GC判断为“垃圾”的对象一定会被回收吗?4、用的垃圾收集算法有哪些?各自的优缺点是什么?5、为什么要采用分代收集算法?6、对象如何进入老年代7、谈谈对Java引用的理解(4种)?8、什么是浮动垃圾?9、常用的垃圾收集器有哪些?10、CMS(低停顿)11、G1(分代、标记整理、...原创 2020-04-12 23:22:29 · 181 阅读 · 0 评论 -
cyc的Java内存模型
文章目录1、对象的访问定位的两种方式?(句柄和直接指针)2、谈谈对内存泄漏(无法释放,如static)的理解?举几个内存泄漏的案例?3、被GC判断为“垃圾”的对象一定会被回收吗?4、用的垃圾收集算法有哪些?各自的优缺点是什么?5、为什么要采用分代收集算法?6、对象如何进入老年代7、谈谈对Java引用的理解(4种)?8、什么是浮动垃圾?9、常用的垃圾收集器有哪些?10、CMS(低停顿)11、G1(分...原创 2020-04-12 15:33:50 · 194 阅读 · 0 评论 -
cyc并发问题总结
文章目录并发1、线程状态2、创建线程的几种方法Callable创建线程(传给FutureTask,FutureTask再传给Thread)3、Executor框架守护线程(Daemon)yield()4、中断interrupt(设置标志位,设完interrupted()返回true)Executor 的中断操作5、互斥同步同步同一个对象同步一个类6、synchronized和ReentrantLo...原创 2020-04-13 15:06:35 · 238 阅读 · 0 评论 -
cycJava基础以及集合总结
文章目录Java基础1、Integer缓存池2、字符串常量池直接反编译String s = "abc";new String(“abc”)会创建几个对象?String ss = "abc"+"bcd";会创建几个对象String ss = s1+s2;创建了几个对象?3、参数传递4、向下转型(精度会降低。)5、switch(不支持long,Java7开始支持String)6、修饰符7、抽象类和接口...原创 2020-04-13 15:06:49 · 1064 阅读 · 0 评论 -
面试不会问题总结
文章目录Lock和synchronized区别乐观锁和悲观锁悲观锁乐观锁两种锁的使用场景乐观锁的两种实现方式(就是比较当前值和以前是否相等)版本号机制CAS乐观锁的缺点CAS与synchronized的使用情景比较Lock和synchronized区别Lock是java的一个interface接口,而synchronized是Java中的关键字synchronized修饰的代码在执行异常时...原创 2020-04-13 15:17:20 · 235 阅读 · 0 评论