Java面经整理
Java面试题整理
BlankDC
一片空白~~
展开
-
【1年】Java面试题汇总
目录Java基础容器多线程反射对象拷贝Java Web异常网络设计模式Spring/Spring MVCSpring Boot/Spring CloudMybatisRabbitMQMySQLRedisJVMJava基础JDK和JRE有什么区别?答:JDK(Java Development Kit)Java开发工具集,JRE(Java Runtime Environment)Java运行环境。其中JDK包括JRE。JDK用于开发,JR原创 2020-11-13 01:36:56 · 493 阅读 · 0 评论 -
【1年Java面试资料整理】消息中间件
一、消息队列优点 解耦 异步 削峰(这个采用并发mq实现,处理高并发请求) 缺点 降低系统可用性 系统复杂度提高 一致性问题 二、如何保证消息不被重复消费写数据时,判断数据是否存在 数据库唯一键约束 写redis,set操作是天然幂等性的三、如何保证消息可靠性传输以下只针对RabbitMQ生产者:开启confirm模式 MQ:开启RabbitMQ持久化 消费者:关闭RabbitMQ自动ACK四、RabbitMQ有哪些重要组件ConnectionF原创 2020-11-09 23:34:56 · 123 阅读 · 0 评论 -
【1年Java面试资料整理】关系型数据库
一、事务特性ACID原子性:atomic 一致性:consistence 隔离性:isolation 持久性:durability二、数据库隔离级别脏读:事务B读取事务A未提交的数据 不可重复读:事务B读取数据时,事务未结束,事务A修改了这个数据,事务B又读数据时,两次数据可能不一样 幻读:事务在插入已经检查过不存在的记录时,惊奇的发现这些数据已经存在了,之前的检测获取到的数据如同鬼影一般三、Mysql引擎MYISAM 不支持外键、表锁 INNODB 支持外键、行锁原创 2020-11-09 23:34:06 · 114 阅读 · 0 评论 -
【1年Java面试资料整理】多线程
一、实现多线程方式继承Thread类 实现Runnable接口,重写run()方法 实现Callable接口,通过FutureTask包装器创建Thread线程(JDK 1.5),有返回值public interface Callable<V> { V call() throws Exception; }二、CountDownLatch和CyclicBarrierCountDownLatch 减计数方式 计数为0时,释放所有等待的线程 计数为0,无法重置 不可重复原创 2020-11-09 23:32:58 · 73 阅读 · 0 评论 -
【1年Java面试资料整理】Redis-数据缓存
一、持久化机制机制:通过持久化机制把内存中的数据同步到硬盘文件。 持久化方式(默认RDB,两者同时开启时,优先选择AOF恢复) RDB:按一定时间策略保存数据内存快照,dump.rdb 工作原理 Redis forks 子进程写数据到临时RDB文件中 新文件替换老文件 AOF:将每一个写命令追加到文件最后,类似mysql的binlog 二、redis数据结构String:set、get、decr、incr、mget Hash:hg原创 2020-11-09 01:16:40 · 197 阅读 · 0 评论