面试精选
面试题复习和总结
!Y_M!
这个作者很懒,什么都没留下…
展开
-
volatile CAS 原子类 的重要知识点,短小精练
volatile 是一种轻量级的同步机制。volatile 具有三个特点可以保证可见性 无法保证原子性 可以防止指令重排JMM(Java内存模型)Java内存模型并非是一种实际存在的东西,它是一个概念。Java内存模型需要保证三个特点:可见性 原子性 有序性1,3特点,都可以依靠volatile实现,第二个特点可以通过JUC包下的原子类来实现。可见性 即当主内存中的共享变量发生改变时,让其它线程可以立即得知该变化,并更新各自工作内存变量的值。...原创 2020-09-13 19:02:18 · 309 阅读 · 0 评论 -
计算机网络面试核心大总结
1 网络基础知识1.1 OSI七层参考模型全称:开放系统互连参考模型(Open System Interconnection Reference Model,OSI/RM)补充:为什么要有一个个层:物理层:010101比特流,设备之间原始数据的传输,数模转换(发送端)和模数转换(接收端)-》传输过程可能出现错码和误码?-------又问题,引入下一层:数据链路层数据链路层:将原始比特流转换成逻辑传输符号,提供纠错编码,格式变为帧-》出现多个网络节点,应该选择哪个...原创 2020-07-28 22:17:51 · 769 阅读 · 0 评论 -
MyBatis中当实体类中的属性名和表中的字段名不一样,怎么办?
解决方法1.写sql语句时起别名2.在MyBatis的全局配置文件中开启驼峰命名规则3.在Mapper映射文件中使用resultMap来自定义映射规则注解方式是spring提供的,此处不列举。在MyBatis的全局配置文件中开启驼峰命名规则在Mapper映射文件中使用resultMap来自定义映射规则...原创 2020-07-21 17:29:15 · 622 阅读 · 0 评论 -
成员变量和局部变量-- 高频面试考点
1 题目描述2 考点就近原则 变量的分类 成员变量: 类变量、实例变量 局部变量 非静态代码块的执行: 每次创建实例对象都会执行 方法的调用规则: 调用一次执行一次2.1 局部变量和成员变量的区别声明的位置 局部变量:方法体中、形参和代码块 成员变量:类中,方法外。 类变量:有static修饰 实例变量,无static修饰 修饰符 局部变量:只能用 final 成员变量:public, protected private fin..原创 2020-07-20 20:23:20 · 151 阅读 · 0 评论 -
方法的参数传递机制 - 高频面试题
1 题目描述就是向方法中传递不同类型的值,看看是否变化。分别传入 :基本类型、字符串、包装类、数值、引用类型2 考点方法的参数传递机制:①形参是基本数据类型 传递数据值 ②实参是引用数据类型 传递地址值 特殊的类型: String、包装类等对象不可变性 Integer 不可变性的说明: 3 价值连城的一张图(详解)配上说明:main方法和change方法分别对应一个栈区,main是橙色的框框内 在进行值传递时,都是传入...原创 2020-07-20 19:47:13 · 154 阅读 · 0 评论 -
高频面试题 - 类初始化和实例初始化
1 题目问:main 方法执行后,最终输出的结果。1.1 结果2 分析本题设计三个方面的知识类的初始化 一个类要创建实例,需要先加载并初始化该类 main方法所在的类需要先加载和初始化 一个子类要初始化,需要先初始化父类 类的初始化就是执行<clinit>() 方法 <clinit>() 方法由静态类变量显示赋值代码和静态代码块组成 类变量显示赋值和静态代码块是从上到下执行的 <clinit>()..原创 2020-07-20 16:58:54 · 334 阅读 · 0 评论 -
编写一个单例模式 - 高频面试题
1 概述单例设计模式,即某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式。 例如:代表JVM运行环境的Runtime类2 要点一是某个类只能有一个实例; 构造器私有化 二是它必须自行创建这个实例; 使用静态变量来保存这个实例 三是它必须自行向整个系统提供这个实例; 向外界提供一个获取该实例的方法。 1.直接暴露(static) , 2. 提供get方法 3 几种实现在我其它文章中有,这里就不赘述,直接给出传送门。设计模式 4 - 单例设.原创 2020-07-20 15:18:39 · 214 阅读 · 0 评论 -
关于 k = i + ++i * i++ 面试题的详解,再也不会错了!
总结:i++ 和 ++i 都是直接该改变局部变量表中的值 i++ 和 ++i 的不同就是,一个是先压入操作数栈再修改局部变量表中的值,一个是先修改局部变量表中的值再压入操作数栈。 赋值= ,最后计算 =右边的从左到右加载值依次压入操作数栈 实际先算哪个,看运算符优先级 自增、自减操作都是直接修改变量的值,不经过操作数栈 最后的赋值之前,临时结果也是存储在操作数栈中 ...原创 2020-07-20 15:12:56 · 1086 阅读 · 0 评论