1 stringbuilder速度快,线程不安全
2、顺序插入和随机访问比较多的场景使用ArrayList,元素删除和中间插入比较多的场景使用LinkedList
3-HashSet,底层是hashMap,无序,不可重复,查找快。list有序,可重复,查找慢
4:Map和Collection是两个不同接口,没太大关系
5:应用层 HTTP,HTTP服务
传输层TCP 三次握手 UDP,RPC服务
网络层Ip 不可靠
6:ArrayList查找快,jdk1.7之后,初始数组容量为0,之后按1.5倍扩容
和linkedList 增删快。它俩线程都不安全,但是效率高。
vector线程安全,每次增加1倍扩容
7:spring中,Exception不会事物回滚,RuntimeException才会事物回滚
8:window.parent.document.getElement
9.datetime占用8字节,范围大,不依赖时区,可以null。timestamp占4字节,范围小,依赖时区,默认非空。
10.堆栈本身就是栈。
11.synchronized 用法
它的修饰对象有几种:
(1).修饰一个类,其作用的范围是synchronized后面括号括起来的部分,作用的对象是这个类的所有对象。
(2).修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;
(3).修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象;
(4).修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;
12. hashMap是支持null键值的。默认的初始化大小为16之后每次扩充为原来的两倍。如果在创建时给定了初始化大小,那么hashmap会将其扩充二的幂次方大小。线程不同步,不安全。hashtable已经被淘汰了,不要再新的代码中在使用它。如果需要线程安全,使用concurrentHashMap
13.实现Runnable接口比继承Thread类更好
14.如果两个对象相同equals,那么它们的haahcode一定要相同。
如果两个对象的hashcode相同,他们equals并不一定相同。
15.拦截器类似于fileter ,也是拦截用户的请求,不同的是,它不需要在web.xml中配置,不随WEB应用的启动而启动,只有调用相应的方法时才会调用,在面向切面编程中应用的,就是在你的service或者一个方法前调用一个方法,或者在方法后调用一个方法。是基于JAVA的反射机制和动态代理。
过滤器基于servlet容器,是函数的调用。拦截器基于spring框架
16.ThreadLocal设计的目的就是为了能够在当前线程中有属于自己的变量,并不是为了解决并发或者共享变量的问题
17.Oracle 用 Date 这个内置的数据类型来存储日期和时间。和 MS SQL Server 一样,日期和时间是存储在一个数据类型里的,没有只存储时间或只存储日期的单独的时间和日期数据类型。DATE 数据类型存储年月日和时分秒。