JavaSe
-
变量和运算符:
- 基本数据类型介绍
- java中浮点数精度怎么解决,有了解过实现吗,为什么有精度问题
- BigDecimal,如何判断BigDecimal是否相等。如何进行计算、怎么四舍五入
- 基本类型几种,分别占用空间
- java中浮点数精度怎么解决,有了解过实现吗,为什么有精度问题
- int和Integer区别--包装类,int有几个字节。
- 包装类常量池
- 怎么判断相等的?为什么不用 == ?
- Integer缓存是放在哪里的。缓冲池范围
- integer valueof 和 new有啥区别,谁更快
- Int i =1 和 integer i=1存储区别。
- 如何声明一个int的List(不能,只能声明Integer的List)
- Integer是线程安全的吗,哪些类是线程安全的。是的
- 给Integer最大值+1,是什么结果
- Long 缓存池,包装类
- 数据传输,比如RPC or HTTP,使用数据类型,用基本类型还是包装类型好?
- switch可以放哪些类型
- 基本数据类型介绍
-
Java自动装箱和自动拆箱
-
方法参数传递:
- JAVA中值传递还是引用传递的问题,参数传递都是值传递。
-
面向对象
-
怎么样唯一确定一个类?如果要加载的两个类的全限定名相同怎么办?
-
json 封装:通过private修饰,通过get和set获取。
- 为什么要有封装类
-
static和final区别。
- static表示属于类,只有一个
- final修饰一个对象是什么不变。final关键字使用
- static修饰的字段什么时候初始化
- 对于static变量的理解?static变量分配内存的时候发生在哪个环节?
- static关键字,static加在类上和不加区别,除了修饰类、属性、方法还有吗?(现在想起还有代码块!)
- 写一个static main方法,能调用非静态方法吗?如果要调用要怎么调用?为什么不能不创建对象调用?
- 静态方法和非静态方法的区别
-
final和继承:
- final修饰的对象,如果是变量,和静态变量,在哪里可以赋值。
- Java支持多继承吗?从开发的角度说一下为什么不支持多继承
-
接口和抽象类的区别?应用场景?
- 两者是否可以实例化
- set接口可以定义私有成员变量吗
-
多态用在哪里,有什么用处。
-
实例化:
-
class B { static B t1 = new B(); static B t2 = new B(); { System.out.println("代码块"); } static { System.out.println("静态块"); } } public class Main { public static void main(String[] args) throws Exception { B b = new B(); } } //输出什么
-
-
重载重写,构造方法的重载
-
面向对象的三个特性,三大特性深层次。
- 说一说面向对象编程的特点?和面向过程编程有什么区别?
- 生成一个对象的全过程,对象的组成
- Java权限修饰符
-
编程范式:什么是结构化编程、面向对象编程以及函数式编程?
-
内部类: 匿名内部类访问外部成员变量时编译器会提示需要final修饰为什么
- java原生类中用的最多的类
API
-
Object 类有什么方法,举出常用方法
- == 和equals的区别
- == 判断堆内存地址,指针
- equals是判断引用是否一样。看是否重写。
- 默认使用 ==
- 重写equals 要重写hashcode 自己实现equals要注意什么
- ava底层集合框架中,为了提高查询效率,往往使用hashCode方法来确定元素的保存位置。 hashcode返回值不同。
- String str = "i"; String str2 = new String("i") || 不一样-常量池
- String类里面的equals方法实现看过吗
- 浅拷贝和深拷贝的区别,深拷贝怎么实现,引用拷贝。
- 浅拷贝会在堆上创建一个新的对象。引用类型/值类型
- 基本类型浅克隆可以
- 引用类型在浅克隆后,要对引用的变量再进行嵌套克隆。
- 可以看javaguide,引用/浅拷贝/深拷贝的区别 图
- == 和equals的区别
-
String类
-
7-String 存储结构和API 变更
-
string为什么设计成不可变
- 底层char数组,hash。 final
- 在 Java 9 之后,String 类的实现改用 byte 数组存储字符串
- javaguide
- 私有且final无法继承。
-
String直接赋值 stringpoll 和 new一个对象的区别。
String str = new String("abc")
创建字符串对象 --这里涉及两个对象new String("a") + new String("b")
涉及几个对象- String a = "str_a", String b = new String(a + "str_b"); 创建了几个对象
-
String 的最大长度
-
字符串常量池 --字面量
- 如何设置大小
- intern( )方法
- string的一些题。
- 内存位置,堆中。
- 优化常量池的方法:
-
不可变好处
-
StringBuffer(synchronized)和StringBuilder的区别,和String的区别
-
StringBuilder的方法
-
String是不可变的,那么StringBuffer和StringBuilder是如何实现可变的呢?底层原理是什么? 如果让你来实现StringBuffer和StringBuilder,你会怎么实现?
-
-
java的string类的设计思想,jdk1.9前后区别。String类,底层实现
-
string底层的char[]数组存储都是两个字节,如果我换成不定长的存储数组会有什么问题,比如字符串 "12我是",12占用两个字节,我是占用应该是6个字节,这样存在什么问题?
-
-
-
Arrays类,常用方法
-
DateFormat
- 正则表达式掠过。
集合框架:单列Collection-双列Map
怎么理解随机存放
那定义一个Object[] o, 那它可以存放各种类型的数据,底层怎么存放的呢
Object o = 1L 是怎么存储的
集合和集合概述、特点存储结构红黑树。java常见容器,如何升级成线程安全的容器
-
介绍Java集合,说几个常用的数据结构的底层原理
- 介绍Java里面常见的集合、整体框架,父类之类的
-
Collection--可以看pdf的继承图
- collection的方法:add clear remove
- toArray()
- Collection集合的输出方式:
-
简单讲讲List和Set的区别(都是接口),List和Set都继承了哪个接口,Map继承了上述接口吗
-
List, Set, Queue, Map 四者的区别
- List 和 map的实现类 和各自的底层结构
-
List:
- ArrayList和LinkedList区别,优缺点,底层结构,使用场景。
-
ArrayList:
-
为什么平时都用arraylist,无需同步
-
惰性初始化
-
arraylist扩容机制,底层arraycop
-
-
- ArrayList和LinkedList区别,优缺点,底层结构,使用场景。