面试专栏
Java中级面试资料集
少儿学编程
记录学习点滴,转载文章如有侵权,请私信告知删除。
22年主攻docker和elk两项,最后到kafka。
后续学习大数据,架构知识。
展开
-
MQ面试题:你们公司为什么要用XXMQ?
个人复习总结,仅供参考.首先得知道消息队列mq的作用,解耦,异步,削峰.其次主流4种mq会选型,至少能说为什么选它,主要记住2点:大数据量选Kafka,小公司RabbitMq.原因:1,kafka单机吞吐量是10万级的,其他三种是万级;2,rabbitmq消息延迟性最低,而且SpringAMQP集成的就是RabbitMq,直接配置使用;然后这里可能会问下,rabbitmq示例:基本消息队列:BaseQueue工作消息队列:WorkQueue广播:Fanou原创 2022-02-16 22:40:37 · 1207 阅读 · 0 评论 -
面试-Java内存模型(JMM)
目录1.概念:2.volatile关键字3.两个线程,for循环100次自增,得到的值为100~200之间.4.JMM数据原子操作:5.MESI缓存一致性协议:6.汇编lock前缀(volatile缓存可见性实现原理):1.概念:是java虚拟机规范定义的,用来屏蔽掉java程序在各种不同的硬件和操作系统对内存的访问的差异,这样就可以实现java程序在各种不同...原创 2020-04-27 22:49:43 · 240 阅读 · 0 评论 -
面试-JVM经典面试题
1,JVM的内存结构方法区和堆是对所有线程共享,栈,本地方法栈和程序计数器是对线程私有的;堆:jvm虚拟机启动过程中,实例化的对象存储在堆,被所有线程共享,是最大的一块区域;方法区(又称静态区):用于存储被jvm虚拟机加载的类信息和静态变量,常量,被所有线程共享;栈:是线程私有的,生命周期与线程同步,虚拟机栈描述的是Java方法执行的内存模型:每个方法被执行的时候都会同时创建一...原创 2020-04-26 22:58:47 · 185 阅读 · 0 评论 -
面试-Redis的数据类型与应用场景
常用的数据类型有五种:字符串String ,哈希hash,集合set,列表list,有序集合stored setString的应用场景:①字符串缓存set或对象缓存mset②计数器incr③共享session或token④分布式锁setnx⑤分布式系统全局唯一序列号incr by key 1000⑥限速 同样用到incr,比如大于多少就限速或返回错误Hash的...原创 2020-04-25 22:41:13 · 156 阅读 · 0 评论 -
面试-synchronized与Lock的区别
①synchronized是Java内置关键字,在jvm层面,lock是个Java类;②synchronized不能主动中断,只能等线程结束或异常,lock可以主动中断interrupt③synchronized不需要释放锁,但是lock必须要在finally处手动释放锁,否则会造成线程死锁;④synchronized的锁可重入,不可中断,非公平,而lock锁可重入,可中断,可公平⑤sy...原创 2020-04-25 21:57:29 · 268 阅读 · 0 评论 -
面试-分布式锁的实现方式
总共有三种方法,分别是通过mysql数据库,通过Redis和通过zookeeper①mysql是创建一个中间表,以记录是否对业务唯一ID上锁,未上锁的--给上锁--处理业务逻辑--最后释放锁,上锁只能返回或者等待;②Redis是通过String类型的setnx(set if not exists)实现的,命令成功返回1执行业务逻辑,命令失败返回0等待释放锁. 底层是因为Redis是单线程的,并...原创 2020-04-25 21:56:27 · 339 阅读 · 0 评论 -
面试--MYSQL的优化,以及InnoDB存储引擎的好处
背景:项目使用的是MariaDB(即MYSQL卖给Oracle后,怕以后会闭源,开发者在5.5分支新扯的分支)。MySQL5.5以后默认选用的是InnoDB存储引擎,5.5以前是myisam。下面这些问题,都是个人觉得典型的,自己整理记录。第一个问题是:InnoDB和myisam的区别?答:1,存储结构的不同,前者在磁盘上是两个文件,即frm(表定义文件)和ibd(数据文件);后者...原创 2020-04-15 11:59:39 · 247 阅读 · 0 评论 -
Redis面试-- 21问,你接得住不?
1.什么是redis?Redis 是一个基于内存的高性能key-value数据库。2.Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Val...转载 2020-04-14 15:14:49 · 159 阅读 · 0 评论 -
Java面试--Java中Comparable和Comparator的区别
Java 中为我们提供了两种比较机制:Comparable 和 Comparator,二者都是用来实现对象的比较、排序。下面分别对Comparable 和 Comparator做具体介绍并总结。ComparableComparable可以认为是一个内比较器,实现了Comparable接口的类有一个特点,就是这些类是可以和自己比较的,至于具体和另一个实现了Comparable...转载 2020-04-14 10:33:40 · 168 阅读 · 0 评论