
java面试
进击的波仔和小羊!
念念不忘,必有回响
展开
-
JAVA面试实战-xx云(1.redis篇)
背景今天去xx云面试,回答的不是很好,不过感觉问的很好,这里我分为几次记录下来,每天进步亿点点实战面试题(redis篇)redis如何保证所有数据都是热点数据?redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。redis 提供 6种数据淘汰策略voltile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期原创 2020-07-29 17:10:27 · 274 阅读 · 0 评论 -
hystrix的三种状态
熔断器使我们微服务架构中最后一层保护措施,可以防止一个节点故障而影响到其他节点,我们这里使用hystrix来作为熔断器,hystrix有三个状态。关闭(closed)正常情况下hystrix为关闭状态半打开(half open)当服务接口对应的熔断器状态为open的时候,所有服务调用方调用该服务方法时候都是执行本地降级方法,那么什么时候才会恢复到远程调用呢?Hystrix提供了一种测试策略,即设置了一个时间窗口,从熔断器状态变为open状态开始的一个时间窗口内,调用该服务接口时候都委托服务.原创 2020-07-28 17:35:29 · 2194 阅读 · 0 评论 -
JVM的server与client模式
背景之前在xx云面试的时候被问到过,平时可能不会去关注这个知识点,但了解一下也不亏,甚至还有点赚server vs clientServer 模式: Server模式启动时,速度慢,但是一旦运行起来后,性能将会有很大的提升,原因是当虚拟机运行在-Server的时候,虚拟机采用相对重量级,代号为C2的编辑器,C2比C1编译器编译的相对彻底,启动之后,性能高。Client 模式:client模式在启动的时候使用的是一个代号为C1轻量级编译器。可以通过java -version来查看是哪原创 2020-07-27 17:02:01 · 276 阅读 · 0 评论 -
面试高频问题:JAVA的锁升级
背景在java中,经常会用到synchronized关键字来保证线程安全,那么什么时候会存在线程安全呢?共享数据的修改临界资源访问应用场景修饰普通同步方法:锁当前实例对象;修饰静态同步方法:锁当前的类Class对象;修饰同步代码块:锁Synchronized后面括号里配置的对象,这个对象可以是任意对象;synchronized原理在绝大多数情况下,都只会有一个线程去访问synchronized修饰的代码块,所以synchronized在jdk1.6之后为了提升效率,优化了synch原创 2020-07-22 17:25:36 · 1134 阅读 · 0 评论 -
面试高频问题:java的强引用、软引用、弱引用、虚引用?
背景面试官:什么是强引用、软引用、弱引用、虚引用?我说java中为了控制对象的生命周期,在jdk1.2之后引入了强引用、软引用、弱引用、虚引用来灵活地控制对象的生命周期。强引用强引用就是我们平时直接new出来的对象,举个栗子:Object strongReference = new Object();所谓强引用,就是jvm宁愿抛出OOM也不愿意回收的对象(当然是必须先是可达对象),所以强引用是造成OOM的主要原因之一软引用软引用就是被SoftReference修饰的对象,举个栗子:Sof原创 2020-07-22 17:23:30 · 219 阅读 · 0 评论