-
什么是 Java 程序的主类 应用程序和小程序的主类有何不同
-
Java 应用程序与小程序之间有那些差别
-
自动装箱与拆箱
-
在一个静态方法内调用一个非静态成员为什么是非法的
加载顺序
- 在 Java 中定义一个不做事且没有参数的构造方法的作用
无参构造方法的作用,父子类情况下super() 作为起始语句
-
import java 和 和 javax 有什么区别
-
堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。
-
对象创建方法,对象的内存分配,对象的访问定位。
-
GC 的两种判定方法:
- 引用计数: java虚拟机内部有一个引用计数器,当一个类被使用计数器+1,当一个类不再使用(或引用失效)计数器-1 , GC 回收计数器为0的类(对象)
- 根搜索算法
-
SafePoint 是什么
-
GC 收集器有哪些?CMS 收集器与 G1 收集器的特点。
-
Minor GC 与 Full GC 分别在什么时候发生?
-
几种常用的内存调试工具:jmap、jstack、jconsole、jhat
-
JVM 内存分哪几个区,每个区的作用是什么?
-
简述 java 垃圾回收机制?
-
java 中垃圾收集的方法有哪些?
-
java 内存模型
-
java 类加载过程?
-
简述 java 类加载机制?
-
类加载器双亲委派模型机制?
-
什么是类加载器,类加载器有哪些?
-
简述 java 内存分配与回收策率以及 Minor GC 和Major GC
-
什么是 Redis?简述它的优缺点?
-
Redis 和 Redisson 有什么关系?
-
Jedis 与 Redisson 对比有什么优缺点?
-
Redis 集群的主从复制模型是怎样的?
-
Redis 集群会有写操作丢失吗?为什么?
-
Redis 集群如何选择数据库?
-
Redis 如何做内存优化?
-
MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据?
-
Redis 集群方案什么情况下会导致整个集群不可用?
-
什么是 Spring 框架?Spring 框架有哪些主要模块?
-
使用 Spring 框架能带来哪些好处?
-
什么是控制反转(IOC) ?什么是依赖注入?
- IoC : 通过spring 容器来进行Bean管理.
- DI : 在一个系统运行中动态的向一个或多个对象提供他需要的对象.
- 请解释下 Spring 框架中的 IoC ?
Spring Ioc 负责管理对象的生命周期&对象之间的关系
- BeanFactory 和 和 ApplicationContext 有什么区别?
ApplicationContext 是BeanFactory的子接口
- Spring 有几种配置方式?
xml , java
- 如何用基于 XML 配置的方式配置 Spring ?
<bean></bean>
-
如何用基于 Java 配置的方式配置 Spring ?
-
怎样用注解的方式配置 Spring ?
@Bean @Service 等注解形式
- 请解释 Spring Bean 的生命周期?
- 实例化Bean
- 属性注入
- 前置处理器
- 初始化方法
- 后置处理器
- 使用Bean
- 关闭前进行摧毁方法
- Spring Bean 的作用域之间有什么区别?
scope属性
- singleton 全局唯一
- prototype 每次调用产生一个
- request 每次请求产生
- session 每一个用户产生一个
-
什么是 Spring inner beans ?
-
Spring 框架中的单例 Beans 是线程安全的么?
-
请举例说明如何在 Spring 中注入一个 Java Collection ?
-
如何向 Spring Bean 中注入一个 Java
-
请解释 Spring Bean 的自动装配?
autowrite : byType 、 byName
-
请解释自动装配模式的区别?
-
如何开启基于注解的自动装配?
-
请举例解释
@Required
注解? -
请举例解释
@Autowired
注解?
自动装配
- 请举例说明
@Qualifier
注解?
不可单独使用,配合AutoWrite 使用达到 byName 、byType
-
构造方法注入和设值注入有什么区别?
-
Spring 框架中有哪些不同类型的事件?
-
FileSystemResource 和 和 ClassPathResource 有何区别?
-
Spring 框架中都用到了哪些设计模式?
-
RabbitMQ 中的 broker 是指什么?cluster 又是指什么?
-
RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
-
什么是 ActiveMQ?
-
Kafka 判断一个节点是否还活着有那两个条件?
-
Kafka 消息是采用 Pull 模式,还是 Push 模式?
-
数据库三范式是什么?
-
MySQL什么情况下不走索引
- 模糊查询
- 计算
- or 没有出现索引列
-
有哪些数据库优化方面的经验?
-
请简述常用的索引有哪些种类?
-
以及在 mysql 数据库中索引的工作机制是什么?
-
MySQL 的基础操作命令
-
mysql 的复制原理以及流程。
-
mysql 支持的复制类型?
-
mysql 中 中 varchar 与 与 char 的区别以及 varchar(50) 中的 50 代表的涵义?
-
表中有大字段 X (例如:text 类型),且字段 X 不会经常更新,以读为为主,将该字段拆成子表好处是什么?
-
MySQL 中 中 InnoDB 引擎的行锁是通过加在什么上完成(或称实现)的?
-
分布式系统怎么做服务治理
-
对分布式事务的理解
-
如何实现负载均衡,有哪些算法可以实现?
-
分布式集群下如何做到唯一序列号
-
什么是进程
-
什么是线程
-
线程和进程有什么区别
-
多线程的几种实现方式
-
多线程中忙循环是什么
-
为什么要用线程池?
-
在java中守护线程和本地线程区别?
-
Java中用到的线程调度算法是什么?
-
为什么使用Executor框架?
-
什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?
-
Java Concurrency API中的Lock接口(Lock interface)是什么?对比同步它有什么优势?
-
什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?
-
什么是并发容器的实现?
-
多线程同步和互斥有几种实现方法,都是什么?
-
为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?
-
什么是不可变对象,它对写并发应用有什么帮助?
-
Java中ConcurrentHashMap的并发度是什么?
-
JVM中哪个参数是用来控制线程的栈堆栈小的?
-
你如何在Java中获取线程堆栈?
-
volatile 变量和 atomic 变量有什么不同?