1116中信笔试
- int, Integer的区别,相等如何判断结果
- Java的异常处理
- 数据库的事务操作
- Redis的基本数据类型
- 问了HashMap底层实现
- TCP协议
- MySQL的隔离级别
- 创建线程的几种方式
- 双亲委派机制 ,它的优点
- linux命令(查看线程) java和数据库
- hashmap安全吗?不安全的话哪个map安全?
- String是基本数据类型吗
- ==和equals的区别
- &&和&的区别
- 技术问了ArrayList和LinkedList的区别
- Cookie和Session的区别
- StringBuffer StringBuilder的区别
- .where和having的区别
- 没有处理过线上内存泄漏
- 面向对象是什么,以及三大特征
- 如何声明一个不被继承的类
- 哈希和equals的区别
- 抽象类和接口的区别
- 常见的异常,如何捕捉异常
- 七层模型,http和https的区别
- 数据库事务,特点,应用场景
- maven如何使用
- sql的聚合函数,如何查连续登陆三天的的用户
int, Integer的区别,相等如何判断结果
nt是Java中的一种基本数据类型,用于表示整数。而Integer是int的封装类,它可以为null。int类型的数据直接存储在内存中的栈中,而Integer类型的数据则存储在堆中的对象中。
- 在比较两个基本类型的值时,可以使用“==”和“!=”运算符。
- 在比较两个包装类型的值时,不能使用“==”和“!=”运算符,而是应该使用equals()方法来比较它们的值是否相等
Java是一种面向对象编程语言,面向对象是一种思想,它要求数据都应该是对象,我们可以使用包装类提供的各种方法,对数据进行操作,如数值转换、比较等。
Java的异常处理
数据库的事务操作
Redis的基本数据类型
问了HashMap底层实现
TCP协议
传输控制协议 (TCP)是面向连接的、可靠的流协议
MySQL的隔离级别
创建线程的几种方式
双亲委派机制 ,它的优点
linux命令(查看线程) java和数据库
hashmap安全吗?不安全的话哪个map安全?
HashTable是线程安全的,HashMap是线程非安全的.在多线程的情况下, HashMap会出现死循环的情况.
HashMap 通过 key 的 hashcode 经过扰动函数处理过后得到 hash 值,然后通过 (n - 1) & hash 判断当前元素存放的位置(这里的 n 指的是数组的长度),如果当前位置存在元素的话,就判断该元素与要存入的元素的 hash 值以及 key 是否相同,如果相同的话,直接覆盖,不相同就通过拉链法解决冲突。
当链表长度大于阈值(默认为 8)(将链表转换成红黑树前会判断,如果当前数组的长度小于 64,那么会选择先进行数组扩容,而不是转换为红黑树)时,将链表转化为红黑树,以减少搜索时间。
String是基本数据类型吗
而 String 类型属于引用类型,它表示一系列字符组成的字符串
==和equals的区别
类重写了 equals()方法:一般我们都重写 equals()方法来比较两个对象中的属性是否相等;若它们的属性相等,则返回 true(即,认为这两个对象相等)。
String 类中使用 final 关键字修饰字符数组来保存字符串
![在这里插入图片描述](https://img-blog.csdnimg.cn/0e68a36f168047248b2ceb01d1e1e963.png
&&和&的区别
&和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假;但是&&当第一个条件不成之后,后面的条件都不执行了,而&则还是继续执行,直到整个条件语句执行完为止。
技术问了ArrayList和LinkedList的区别
ArrayList 和 LinkedList 是 List 接口的两种不同实现,并且两者都不是线程安全的。
ArrayList 是基于动态数组实现的,LinkedList 是基于双向链表实现的。这是最本质的区别。
LinkedList 在插入、添加、删除元素的时候有没有比 ArrayList 更快,
ArrayList随机访问一个元素的时间复杂度为 O(1),
Cookie和Session的区别
StringBuffer StringBuilder的区别
.where和having的区别
没有处理过线上内存泄漏
面向对象是什么,以及三大特征
面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。
封装是指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。
多态:表示一个对象具有多种的状态,具体表现为父类的引用指向子类的实例。
如果子类重写了父类的方法,真正执行的是子类覆盖的方法,如果子类没有覆盖父类的方法,执行的是父类的方法。
如何声明一个不被继承的类
如果一个类被 final 修饰,那么这个类就不可以被继承。如果一个类中的所有方法都没有重写的需要,当前类可以没有子类,那么就可以使用 final 修饰类。