面试
文章平均质量分 89
桑桑在路上
微信搜一搜【梓莘】关注这个正在成长的程序员,目前从事java后端开发工作,想转数据分析方向,期望得到大家的指点。
zero-->hero理性+理智。记住一句话:越努力,越幸运。犯其至难,图其至远。努力规划,实现自我。↖(^ω^)↗
展开
-
【面试】java并发面试题
面试题整理,持续更新中。1、并发编程三要素?(1)原子性原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。(2)可见性可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他线程可以立即看到修改的结果。(3)有序性有序性,即程序的执行顺序按照代码的先后顺序来执行。2、实现可见性的方法有哪些?synchronized 或者 Lock:保证同一个时刻只有一个线程获取锁执行代码,锁释放之前把最新的值刷新到主内存,实现可见性。3、.原创 2021-03-12 17:43:53 · 144 阅读 · 0 评论 -
【面试】面试必问之jvm与性能优化
面试题整理,持续更新中。1. 描述一下 JVM 加载 Class 文件的原理机制?在面试java工程师的时候,这道题经常被问到,故需特别注意。Java中的所有类,都需要由类加载器装载到JVM中才能运行。类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中。在写程序的时候,我们几乎不需要关心类的加载,因为这些都是隐式装载的,除非我们有特殊的用法,像是反射,就需要显式的加载所需要的类。Java类的加载是动态的,它并不会一次性将所有类全部加载后再运行,而是保证程序运行的基础类(像是.原创 2021-03-12 17:38:34 · 306 阅读 · 0 评论 -
【面试】java8新特性之Lambda表达式
本系列为大厂面试题系列的相关笔记,如有误,欢迎大家指正。Lambda表达式为什么要用Lambda表达式Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码,将代码像数据一样传递,这样可以写出更简洁、更灵活的代码,作为一个更紧凑的代码风格,使Java语言表达能力得到了提升实例代码Lambda表达式最先替代的就是匿名内部类,假设原来我们写一个Comparator比较函数,采用匿名内部类的方式 /** * 原来使用匿名内部类 */ p.原创 2021-03-02 17:16:11 · 2671 阅读 · 0 评论 -
【面试】泛型的类型擦除
本系列为大厂面试题系列的相关笔记,如有误,欢迎大家指正。前言–Java 泛型(Generic)的引入加强了参数类型的安全性,减少了类型的转换,但有一点需要注意:Java 的泛型在编译器有效,在运行期被删除,也就是说所有泛型参数类型在编译后都会被清除掉,看下面一个列子,代码如下:public class Foo { public void listMethod(List<String> stringList){ } public void listMethod(.原创 2021-02-20 17:06:42 · 2669 阅读 · 0 评论 -
【面试】JVM类加载机制
本系列为大厂面试题系列的相关笔记,如有误,欢迎大家指正。JVM类加载机制类加载器虚拟机设计团队把加载动作放到JVM外部实现,以便于引用程序决定如何获取所需的类,JVM提供了三种类加载器启动类加载器Bootstrap ClassLoader,负责加载JAVA_HOME\lib目录中的,或通过-Xbootclasspath 参数指定路径下的,且被虚拟机认可(按文件名识别,如tr.jar)的类扩展类加载器Extension ClassLoader,负责加载JAVA_HOME\lib\ext目录中.原创 2021-02-20 16:58:42 · 2566 阅读 · 0 评论 -
【面试】集群高并发情况下如何保证分布式唯一全局Id生成
本系列为大厂面试题系列的相关笔记,如有误,欢迎大家指正。问题为什么需要分布式全局唯一ID以及分布式ID的业务需求在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识,如在美团点评的金融、支付、餐饮、酒店猫眼电影等产品的系统中数据逐渐增长,对数据库分库分表后需要有一个唯一ID来标识一条数据或信息;特别Ian的订单、骑手、优惠券都需要有唯一ID做标识此时一个能够生成全局唯一ID的系统是非常必要的ID生成规则部分硬性要求全局唯一趋势递增在MySQL的InnoDB引擎中使用的是聚.原创 2021-02-20 09:49:18 · 2676 阅读 · 0 评论