java面试汇总
面试准备:多看面经、每个公司风格不同
努力好好地站在自己的
1.多看他人面经
2.善于总结自己的面试经验(交流)
java基本数据类型
基本类型都有对应的包装类型,基本类型与其对应的包装类型之间的赋值使用自动装箱(Integer x = 2;)与拆箱(int y = x)完成
Java的三种代理模式
1.1.静态代理
1.2.动态代理(JDK代理,接口代理)
1.3.Cglib代理(基于继承的方式实现)(子类代理)
Integer x = new Integer(123)和Integer z = Integer.valueOf(123)区别
new Integer(123) 每次都会新建一个对象
Integer.valueOf(123) 先判断值是否在缓存池中,如果在的话就直接返回缓存池的内容,多次调用会取得同一个对象的引用
string 和stringbuffer区别
String 为不可变对象,一旦被创建,就不能修改它的值. 对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去 。
String 是final类,因此它不可被继承,内部使用 char 数组存储数据,该数组被声明为 final,因此可以保证其不可变
StringBuffer 是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象,对象被建立以后,在内存中就会分配内存空间.通过它的append方法向其赋值.sb.append(“hello”);
字符串连接操作中StringBuffer的效率要明显比String高
抽象类与接口
抽象类和普通类最大的区别是,抽象类不能被实例化,需要继承抽象类才能实例化其子类
接口可以看成是一个完全抽象的类
java中线程的创建方式
Java程序初始化顺序:
父类的静态代码块
子类的静态代码块
父类的普通代码块
父类的构造方法
子类的普通代码块
子类的构造方法
threadlocalmap使用开放定址法解决haah冲突,hashmap使用链地址法解决hash冲突
面试总结1
自我介绍:
问题:mysql和其他数据库优缺点
链接:https://www.cnblogs.com/cheng88/p/10399772.html
优点:
1.性能卓越,服务稳定
2.软件体积小,安装使用简单且易于维护
3.开放源代码无版本制约
缺点:
1.最大的缺点是其安全系统(主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限才会发生改变)
2…MySQL不支持热备份(系统处于正常运转状态下的备份,在线的备份)
oracle优缺点
开放性、可移植性高,和高生产效率
缺点:
1、对硬件要求很高;
2、价格比较昂贵;
3、管理维护麻烦一些;
4、操作比较复杂,需要技术含量高;
equals()和== 出错详解
1、equals():是超bai类Object中的方法。
2、==:是操作符
1、equals():用来检测两个对象是否相等,即两个对象的内容是否相等。
2、==:一般用于比较基本数据类型。
== 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作
Java过滤器与SpringMVC拦截器之间的关系与区别
1 拦截器是基于java的反射机制的,而过滤器是基于函数回调
2. 过滤器是servlet规范规定的,只能用于web程序中,而拦截器是在spring容器中,它不依赖servlet容器
3. 过滤器可以拦截(包含对静态资源的请求)几乎所有的请求,而拦截器只拦截action请求(不拦截静态资源请求)
4. 拦截器是被包裹在过滤器之中
2021.6.2面试总结
1.MVC的基本概念:
Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
View(视图) - 视图代表模型包含的数据的可视化。
Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开
2.java的输出语句(四种)
换行打印“System.out.println();”,
不换行打印“System.out.print();”,
字节输出“System.out.write();”,
按格式输出“System.out.printf();”。
3.感兴趣的事
跑步
剪视频(自学了PR)
自学了PS