Hashtable:
1.无论是key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个Hashtable,效率低
2.初始size为11,扩容:newsize=oldsize*2+1
Hashmap:
1.可以存储null键和null值,线程不安全
2.初始size为16,扩容:newsize =oldsize*2,size一定为2的n次幂
在Java中类中成员的属性有:public, protected, <default>, private,这四个属性的访问权限依次降低。
Collection的四种主要接口是BeanContext、List、Set、SortedSet四种接口
StringBuffer是线程安全,可以不需要额外的同步用于多线程中;
StringBuilder是非同步,运行于多线程中就需要使用着单独同步处理,但是速度就比StringBuffer快多了;
StringBuffer与StringBuilder两者共同之处:可以通过append、indert进行字符串的操作。
常量池是-128---127
封装:隐藏实现细节 并且提拱了访问方式
继承:子类就拥用了父类的属性,方法//这里要注意。final的属性和方法是不能被继承的。 构造涵数不能被继承
多态:就是父类引用变量指向子类
final的特点
一:final
final类不能被继承,没有子类,final类中的方法默认是final的。
final方法不能被子类的方法覆盖。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
static
多个对象在访问或修改static修饰的成员变量时,其中一个对象将static成员变量值进行了修改,其他对象中的static成员变量值跟着改变,即多个对象成员变量)
访问时通过类名直接访问
http协议
HTTP请求报文与响应报文格式
请求报文包含三部分:
a、请求行:包含请求方法、URI、HTTP版本信息
b、请求首部字段
c、请求内容实体
响应报文包含三部分:
a、状态行:包含HTTP版本、状态码、状态码的原因短语
b、响应首部字段
c、响应内容实体
request 请求对象
response 响应对象
pageContext 页面上下文对象
session 会话对象
application 应用程序对象
out 输出对象
config 配置对象
page 页面对象
exception 例外对象
域对象的作用:保存数据,获取数据,共享数据.
page:jsp页面被执行,生命周期开始,jsp页面执行完毕,生命周期结束(jsp当前页面有效)
request:用户发送一个请求,生命周期开始,服务器返回响应,请求结束,生命周期结束(一次请求)
session:用户打开浏览器访问,创建session(生命周期开始),session超时或被声明失效,该对象生命周期结束(一次会话)
application:web应用加载的时候创建,web应用移除或服务器关闭,生命周期结束(当前web应用)
局部代码快 是定义在语句或者方法中的 用{}
构造代码块 是定义在类中 调用构造方法前先调用构造代码块
静态代码块 是定义在成员位置上 只不过他是用static修饰的
javaEE的三层架构
MVC:---- web开发的设计模式
M:Model---模型 javaBean:封装数据
V:View-----视图 jsp:单纯进行页面的显示
C:Controller----控制器 Servelt:获取数据--对数据进行封装--传递数据-- 指派显示的jsp页面
线程同步的方式有两种:
方式1:同步代码块
方式2:同步方法
类加载机制:java源文件经过编译后产生一个字节码文件。Java虚拟机把描述类的数据加载到内存中,对数据进行处理后成为一个对象实例,而这个对象为Class类的实例。
反射机制:运行时加载,使用编译器未知的类获取其中完整构造并生成对象的实体或对其设值调用其中的方法。
Cookie&Session
从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话。