手记

java中容易被忽视的基本概念

概念1:

try-catch-finally块中,finally块在以下几种情况将不会执行。

(1)finally块中发生了异常。

(2)程序所在线程死亡。

(3)在前面的代码中用了System.exit();

(4)关闭了CPU


概念2:

泛型是什么?

答:泛型主要解决安全和代码重用率的问题,它有自动装箱和拆箱的功能。利用与一个不确定的类型来表示任意一个类型,而且泛型通过一个反射机制可以获得这个类的一系列信息,从而提高代码的优越性。

概念3:

Java中的前期绑定和后期绑定

答:前期绑定指在编译时即能确定的类型。

后期绑定指在编译时不确定类型,在运行时确定类型。

概念4:

面向对象

答:首先:面向对象是一种思想,基于面向过程,可以将复杂问题简单化。其次:它使我们从执行者变为了指挥者,比如说公司现在就是在用面向对象的思维来思考解决问题。公司招人,说明公司在发展壮大,需要一些具备专业编程的人来做事情,从而实现公司的盈利。而我就是那个具备编程能力的对象,所以这就是一种面向对象的思想。

概念5:

static和final变量:

答:static如果没有初值,默认是0;final变量则必须赋初值。

概念6:

String,StringBuffer以及StringBuilder之间的关系

(1)线程安全

StringBuffer 线程安全

StringBuilder 线程不安全

(2)速度

一般情况下,速度从快到慢:StringBuilder>StringBuffer>String,这种比较是相对的,不是绝对的。

(3)总结

如果要操作少量的数据用 = String

单线程操作字符串缓冲区 下操作大量数据 = StringBuilder

多线程操作字符串缓冲区 下操作大量数据 = StringBuffer

概念7:

HTTPS和HTTP的区别

答:超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提 供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息, 比如信用卡号、密码等。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

区别如下:

(1)https协议需要到ca申请证书,一般免费证书很少,需要交费。

(2)http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

(3)http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

(4)http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

概念8:

for循环的判断

(1)for(int i=5, j=10; i<10; i++){ } 此语句不会发生编译错误。

(2)int i;

for(i=5, int j=10; i<10;i++, j++){ } 此语句将发生编译错误。

(3)for(int i=5,j=10; i<10,j>5; i++){ } 此语句将发生编译错误,因为语句2的返回值必须为true或者false



作者:墨雨轩夏
链接:https://www.jianshu.com/p/772a90e9d995


0人推荐
随时随地看视频
慕课网APP