个人Java面试常见题目记录
2021-01-06 15:32
标签:知识 hone 中间件 速度 检查 数据表 block 重写 老年 下面是本人在面试Java实习的过程中碰到的一些面试题,当然,只是自己记得的印象较深的一些题,还有很多的其他的技术问题,也包括一些非技术问题,后续还会继续记录。 包括JavaSE、多线程、并发、集合和JVM等常见问题 (1)java中有哪些基本数据类型? 整数类型:byte short int long 浮点数类型:float double 字符型:char 布尔型:boolean 注意:java还为每一种基本类型提供了相应的包装类,基本类型与包装类型的主要区别在于1、包装类型允许值为空,而基本类型不允许为空;2、包装类型是一个对象,需要消耗更多的内存,也给GC带来了更大的压力,所以在性能上稍差一截。 (2)如何控制多个线程按一定顺序执行? (3)创建线程有哪几种方式? (4)实现线程安全的方式有哪些? (5)什么时候会触发GC? (6)同一个类中,普通方法和静态方法在获取锁上有什么区别? (7)volatile和syncyronized的区别 (8)类加载机制 包括Netty、Redis、kafka、spring、springboot等框架和中间件相关的常见问题 包括数据结构和常用算法、计算机网络基础知识、常用网络协议等相关知识问题 (1)如何优化数据库性能? 个人认为,优化数据库的性能的目的主要是为了提高SQL响应速度。所以,数据库性能的优化可以从下面的步骤进行: (2)数据库中常见的索引有哪些? (3)聚簇索引和非聚簇索引的区别是什么? 解答: 个人Java面试常见题目记录 标签:知识 hone 中间件 速度 检查 数据表 block 重写 老年 原文地址:https://www.cnblogs.com/kuangdw/p/12976087.htmlJava高频面试问题总结
Java基础
Thread thread1 = new Thread(new Runnable(){
@Override
public void run(){
//自定义代码块
}
})
Thread thread2 = new Thread(new Runnable(){
@Override
public void run(){
threa1.join() //保证该线程在thread1之后执行
//自定义代码块
}
})
ThreadPoolExecutor threadpool = new ThreadPoolExecutor(各个初始参数);
Thread thread1 = new Thread(线程对象参数);
Thread thread2 = new Thread(线程对象参数);
Thread thread3 = new Thread(线程对象参数);
threadpool.submit(thread1);
threadpool.submit(thread2);
threadpool.submit(thread3);
框架和中间件
数据结构及计算机网络
数据库
算法