黑马程序员技术交流社区

标题: Java技术帖分享 [打印本页]

作者: 李淳川    时间: 2019-3-9 23:29
标题: Java技术帖分享

我的手机 2019/3/9 23:13:38

概念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。

概念9:
Java数据类型
java数据类型图:
                                     ┏数值型━┳━整数型:byte short int long
              ┏基本数据类 型<strong>-------</strong>┫        ┗━浮点型:float double
              ┃                     ┣字符型:char                                          
数据类型------╋                     ┗布尔型:boolean              
              ┃                ┏类(class)
              ┗引用数据类型━━╋接口(interface)
                                ┗数组(array)
引用类型 就是在变量中存储的不是值而是一个内存中的地址的数据类型。也就是说 变量中存储了这个变量的值所在内存中的地址 每次调用这个变量都是引用这个地址而得到真正的值 所以叫引用类型。

概念10:
Java常见的异常类型:
数组角标越界,空指针异常类,算术异常,字符串转换为数字异常,类型不存在异常

概念11:
Java中常见的四种监听方式:
(1)让包含“事件源”的容器对象来担任监听者。即jb.addActionListener(this);this指代一个JFrame对象。
(2)定义内部类来担任监听者。
(3)使用匿名内部类来担任监听者。
jb.addActionListener(new ActionListener()
        {

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub               
                System.exit(0);
            }
            
        });
(4)使用外部类来实现监听。
概念12:
Java中为什么会出现空指针异常?
(1)所谓的指针,就是java中的对象的引用。比如String s;这个s就是指针。
(2)所谓的空指针,就是指针的内容为空,比如上面的s,如果令它指向nul了,就是空指针。
(3)所谓的空指针异常,就是一个指针是空指针,你还要去操作它,既然它指向的是空对象,它就不能使用这个对象的方法。比如上面的s假如为null,你还要用s的方法,比如s.wait(1000);那么就会产生空指针异常。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2