avatar-decorate
我是祖国的花朵 level
快手_高级Java开发工程师 identity
获赞
1496
粉丝
669
关注
6
看过 TA
411
北京邮电大学
2018
Java
IP属地:北京
暂未填写个人简介
私信
关注
头像
2020-03-11 08:49
已编辑
快手_高级Java开发工程师
大家好,很高兴我们可以继续学习交流Java高频面试题。从本小节开始,我们进入了第三个章节,主要介绍服务端的通用工具,即redis和kafka相关知识点。在我们的日常开发中,经常会需要使用缓存和消息队列。缓存的使用可以减少网络请求或者查询数据库的次数,有效提高访问速度。消息队列的使用可以实现生产者和消费者的解耦,实现异步通信过载保护等功能。 在当今的招聘需求中,即使是校园招聘也对缓存和消息队列有一定的考察要求,不要求大家有多好多深的掌握,但是基本的概念与原理还是需要了解的。可以说,缓存和消息队列的了解与熟悉,对于我们的面试来说是一个极大的加分项。 本小节就业界使用比较广的redis缓存技术进行一...
我是祖国的花朵:关于分布式锁,为了使得加锁操作具有原子性,不可以使用多条命令来完成,我们可以使用带多个参数的set命令来完成,如下所示:jedis.set(String key, String value, String nxxx, String expx, int time) 第一个为key,我们使用key来当锁,因为key是唯一的。 第二个为value,我们传的是requestId,通过给value赋值为requestId,我们就知道这把锁是哪个请求加的了,在解锁的时候就可以有依据。 第三个为nxxx,这个参数我们填的是NX,意思是SET IF NOT EXIST,即当key不存在时,我们进行set操作;若key已经存在,则不做任何操作; 第四个为expx,这个参数我们传的是PX,意思是我们要给这个key加一个过期的设置,具体时间由第五个参数决定。 第五个为time,与第四个参数相呼应,代表key的过期时间。
0 点赞 评论 收藏
分享
头像
2019-12-03 21:00
已编辑
快手_高级Java开发工程师
大家好,上一小节中我们主要介绍了JVM内存机制的基础知识点,包括内存的分配以及回收策略等。本小节我们主要介绍垃圾回收算法以及垃圾收集器,并且对当前使用较广的CMS垃圾收集器做了较为详细的阐述。垃圾回收算法是JVM相关技术考察中的高频考点,希望大家可以有效理解与掌握,在面试中清晰阐述。 有效掌握JVM内存相关技术原理对于我们的日常开发工作也有很大的帮助。好了,让我们一起来学习吧~ (1)JVM垃圾回收算法有哪些?(重点掌握) 答:HotSpot 虚拟机采用了root根搜索方法来进行内存回收,常见的回收算法有标记-清除算法,复制算法和标记整理算法。 标记-清除算法(Mark-Sweep): 标记-...
Ruoji55555:垃圾收集器总结: 最初使用Serial+Serial Old收集垃圾,最简单,两者都是单线程的,所以只适合少内存使用。 随着内存增大,开始使用Parallel Scavenge +Parallel Old , 这两个其实就是前面两个Serial的多线程版本,性能更好一点,在JDK1.6-1.8中作为默认垃圾回收器。 随着内存进一步增大,出现了ParNew+CMS的组合,其中ParNew是Parallel Scavenge为了配合CMS出现的改进版本,CMS是并发标记清除。看似性能更好,实则存在巨大的缺陷:CMS会导致大量的内存碎片, 而内存碎片太多的时候,会使用Serial Old这个单线程的收集器进行垃圾收集(雾).... 从JDK1.7之后出现了G1垃圾收集器,在JDK1.8之后开始完善,它支持更大的内存(大概几百G),特点是逻辑分代,物理不分代,它的stop-the-world时间可以小于200ms。还有一个在JDK11中推出的垃圾回收器ZGC,还正在开发,它的逻辑、物理都不分代,而且能支持16T的内存,传说停顿时间只有1ms(***C++!)
0 点赞 评论 收藏
分享
头像
2020-02-23 19:51
已编辑
快手_高级Java开发工程师
大家好,很高兴我们可以继续学习交流Java高频面试题。本小节是Java基础篇章的第二小节,主要讲述抽象类与接口的区别,注解以及反射等知识点。熟练掌握本小节的知识点,可以帮助大家更好的复习与掌握Java面试中的基础类题目,并且在与面试官的热身题目中占据先机,留下好印象。 (1)抽象类和接口有什么区别? 答:抽象类和接口的主要区别可以总结如下。 抽象类中可以没有抽象方法,也可以抽象方法和非抽象方法共存 接口中的方法在JDK8之前只能是抽象的,JDK8版本开始提供了接口中方法的default实现 抽象类和类一样是单继承的;接口可以实现多个父接口 抽象类中可以存在普通的成员变量;接口中的变量必须是s...
性别男:(1)抽象类是一个类,只能被继承,一次只能继承一个抽象类。而接口可以被一次实现多个。<br /> (2)抽象类可以有构造方法,接口没有。但是这两个都不能有自己的实例对象。<br /> (3)抽象类的修饰符可以是public、private、protect、默认,但接口只能是public(JDK8后添加了关键字default,但这个default不等同于抽象类的默认)。<br /> (4)抽象类中可以有抽象方法也可以没有抽象方法。接口中的方法都是没有方法体的。(JDK1.8后增加了default和static关键字可以在接口中写方法体)<br /> <div> <br /> </div>
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务