1. String与StringBuffer、StringBuilder的区别
(1)String是长度不可变的字符序列
(2)StringBuffer和StringBuilder是长度可变的字符序列容器
(3)单线程使用StringBuilder,多线程使用StringBuffer
(4)底层实现上StringBuffer比StringBuilder多了Synchronized同步锁,所以StringBuffer较安全
2. Java创建对象的几种方法
(1)new
Students s1 = new Students()
(2)clone
Students s2 = (Students) s1.clone();
(3)反射
Class clazz = s1.getClass();
Constructor constructor = clazz.getConstructor();
Students s2 = (Students) constructor.newInstance();
(4)对象反序列化
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
out.writeObject(s1); //把s1对象写入到文件中。
ObjectInputStream in = new ObjectInputStream(new FileInputStream(file));
Students s2 = (Students) in.readObject();
(5)使用spring ioc 容器注入了一个对象。没有使用new,内部也是通过反射+xml文档的解析来实现的
创建对象的五种方法,具体如以下博客详细介绍:
3. Http和Https的区别
(1)http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl(安全套接层)加密传输协议。
(2)http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
(3)http 的连接很简单,是无状态的。https协议是由 ssl+http协议构建的可进行加密传输、身份认证的网络协议,比 http 协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。)
(4)https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。