No.1
- Hashtable与HashMap的区别是一个是线程安全的,一个是线程不安全的
- Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。
- Vector是实现了List接口,是一个线程安全的List
- Hashtable,HashMap和IdentityHashMap都实现了Map接口
- HashMap中的key-value都是存储在Entry中的。
- HashMap是采用拉链法解决哈希冲突的。
- public class Hashtable extends Dictionary implements Map
- public class HashMap extends AbstractMap implements Map
- Hashtable 中, key 和 value 都不允许出现 null 值。 在 HashMap 中, null 可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为 null 。
- 在 HashMap 中不能由 get() 方法来判断 HashMap 中是否存在某个键, 而应该用 containsKey() 方法来判断。
No.2
String str = “test”; 和 String str = new String(“test”); 的区别。
https://blog.csdn.net/cquptzg/article/details/72160748
No.3
如果父类中的某个方法使用了 synchronized关键字,而子类中也覆盖了这个方法,默认情况下子类中的这个方法并不是同步的,必须显示的在子类的这个方法中加上 synchronized关键字才可。当然,也可以在子类中调用父类中相应的方法,这样虽然子类中的方法并不是同步的,但子类调用了父类中的同步方法,也就相当子类方法也同步了。
No.4
- 列表(List)的元素是有 序、可重复的;
- 集合(Set)的元素是无序、不可重复的。
No.5
一般关系数据模型和对象数据模型之间有以下对应关系:
- 表对应类
- 记录对应对象
- 表的字段对应类的属性
No.6
JAVA 子类重写继承的方法时,不可以降低方法的访问权限,子类继承父类的访问修饰符要比父类的更大,也就是更加开放。
No.7
- 对于外部类来说,只有两种修饰,public和默认(default),因为外部类放在包中,只有两种可能,包可见和包不可见。
- 对于内部类来说,可以有所有的修饰,因为内部类放在外部类中,与成员变量的地位一致,所以有四种可能。
No.8
- 默认的浮点数据类型是double,如果要指明使用float,则需要在后面加f
- 基本数据类型是没有静态方法的,但是基本数据类型的包装类却有
- long和double都占了64位(64bit)的存储空间
No.9
一个文件中可以有多个类,如果没有public类,则可以与任意类名相同,如果有public类则文件名必须与此类名相同,因为一个文件中只能有一个public类。如果文件中只有一个类,则文件名必须与类名相同
No.10
sleep是线程类(Thread)的方法,wait是Object类的方法。
No.11
Swing组件:
- JTextField输入单行文本
- JTextArea输入多行文本
- JButton显示按钮
- JLebel提示信息
No.12
以下来自“牛客294719号 ”:
- session用来表示用户会话,session对象在服务端维护,一般tomcat设定session生命周期为30分钟,超时将失效,也可以主动设置无效;
- cookie存放在客户端,可以分为内存cookie和磁盘cookie。内存cookie在浏览器关闭后消失,磁盘cookie超时后消失。当浏览器发送请求时,将自动发送对应cookie信息,前提是请求url满足cookie路径;
- 可以将sessionId存放在cookie中,也可以通过重写url将sessionId拼接在url。因此可以查看浏览器cookie或地址栏url看到sessionId;
- 请求到服务端时,将根据请求中的sessionId查找session,如果可以获取到则返回,否则返回null或者返回新构建的session,老的session依旧存在,请参考API。