java知识点总结

来源:互联网 发布:一维数组杨辉三角java 编辑:程序博客网 时间:2024/05/10 06:27
什么是事务:事务是应用程序一系列严密的操作,所有操作必须全部成功,否则所做的操作也会被撤销
事务的四个特性:ACID
原子性:事务中的许多操作要么全做,要么全不做
一致性:事务执行的结果必须是使数据库从一个一致性的状态变到另一个一致性的状态
隔离性:一个事务的执行不能受到其他事务的影响
持续性:一旦事务提交,他对数据库的改变是永久的


static{}静态代码块 > 构造代码块 > 构造方法
只在程序中执行一次  >只要创建对象就执行 > 不用说了


http和https的区别:
1:https安全,http不安全
2:https端口号是443,http端口号是80
3:https工作在传输层,http工作在应用层
4:https对传输的数据进行加密,http无法加密
5:https需要CA机构颁发的SSL证书,http无需证书


long>int>short>byte = 8>4>2>1字节=8位(byte)(00000000)
double>float>char = 8>4>2字节=16位(byte)(00000000 00000000)


Hibernate的工作原理:ORM映射以及jdbc的轻量级封装


什么是序列化:它是一种用来处理对象流(将对象的内容进行流化)的机制,可以对流化的对象进行读写操作,也可以将流化的对象传输于网络间


序列化解决的问题:解决在对对象流进行读写操作时所引发的问题


序列化的实现:将需要被序列化的类实现serializable接口,该接口没有需要实现的方法,写它只是为了标注该对象是可被序列化的,将一个对象
     写入到另一个地方,然后再读取它就可以了


创建对象的几种方法:
1:使用new关键字
TestTwo t1 = new TestTwo();
System.out.println(t1);
2:使用clone方法
需要实现Cloneable接口,而且需要借助对象t1
TestTwo t5 = (TestTwo) t1.clone();
System.out.println(t5);
3:反射机制
TestTwo t2 = TestTwo.class.newInstance();
System.out.println(t2);
TestTwo t3 = (TestTwo)Class.forName("com.TestTwo").newInstance();
System.out.println(t3);
4:反序列化
需要实现serializable接口,先将一个对象写入到文件中,然后再读取这个文件,需要借助对象t1
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("c://text.txt"));
objectOutputStream.writeObject(t1);
ObjectInput input=new ObjectInputStream(new FileInputStream("c://text.txt"));
TestTwo t4 = (TestTwo) input.readObject();
System.out.println(t4);


javascript的数据类型:Number(数字类型),String,boolean,null,undefined,function(函数),object(对象)


char(n)和nchar(n)和varchar(n)和nvarchar(n)区别
char(n):定长,不够补空格;超了会截取超出的字符(1,8000)
nchar(n):存储的是Unicode数据类型的字符(1,4000),输入的字符无论中文还是英文都占两个字节
varchar(n):长度为n个字节的可变长度且非unicode字符数据,n的值在(1,8000)之间,存储大小为输入数据的字节的实际长度,而不是n
nvarchar(n):包含n个字符的可变长度的unicode字符数据,n的值在(1,4000)之间,输入的字符无论中文还是英文都占两个字节
如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar;当然了,char和varchar也可以存储中文


请求转发:URL不变,速度快,服务器行为(顺丰)
请求重定向:URL转变,速度慢,客户端行为(韵达)


overflow属性:当前内容溢出元素时发生的事情
visible:将内容呈现在元素框之外,默认
hidden:将内容隐藏
scroll:显示滚动条
auto:由浏览器决定,若需要,则显示滚动条


display:none使div隐藏;display:block使div出现


log4j5种正常级别:debug(默认)< info < warn < error < fatal(致命)


this关键字作用:
1:调用本类中的属性,即类中的成员变量
2:调用本类的其他方法
3:调用本类的其他构造方法,调用时要放在构造方法的首行


volatile关键字:使一个变量在多个线程之间可见


TCP连接要经过3次握手和4次分手
第一次握手:客户端发送syn包(低电平)到服务器,进入syn_send状态,等待服务器确认
第二次握手:服务器收到syn包,向客户端发送两个包,一个是收到的syn包(改成高电平),另一个是syn包(低电平),服务器进入syn_recv状态
第三次握手:客户端收到两个包之后,向服务端发送第二个syn包(高电平),发送完,客户端和服务端进入established状态,完成3次握手

差一个分手
Socket连接


自动装箱:int转化为Integer;自动拆箱:Integegr转为int


一个接口可以实现多个接口,也可以继承多个接口 即interface A extends B,C,D{}(B,C,D均为接口);


/**
* 抽象类:如果一个类中没有包含足够的信息来描述一个具体的对象,这样的类就是抽象类

* 1:都不能直接实例化对象,如果要实例化,抽象类必须指向实现所有方法的子类对象,接口必须指向实现所有接口方法的类对象
  2:抽象类要被子类继承,接口要被实现
  3:接口只能声明方法,抽象类既可以声明也可以实现方法
  4:接口里面的变量只能是公共的静态变量,抽两类中的变量是普通的变量
  5:抽象方法只能声明不能实现
  6:抽象类里面可以没有抽象方法,但是有抽象方法的类一定是抽象类
  7:抽象方法需要被实现,所以他不是私有的也不是静态的
  8:接口可以继承多个接口,但是抽象类只能单根继承
  9:抽象方法必须被子类所实现,如果子类不能全部实现父类的抽象方法,那么该子类只能是抽象类;实现一个接口时,如果不能全部实现
          接口方法,那么该类也只能是抽象类
*/