您的位置:首页 > 编程语言 > Java开发

Java基础小知识笔记(自己努力常更新)

2017-12-21 21:27 330 查看
1、基本数据类型及所占用的空间

byte(8bit)、short(16bit)、int(32bit)、long(64bit)、float(32bit)、double(64bit)、char(16bit)、boolean(各有各的说法)

float当数值非常大或者非常小的时候会变得不精确,所以尽量不要用在if判断中

如果double和float都无法达到想要的精度,可以使用BigDecimal类

2、StringBuffer是线程安全的,StringBuilder是非线程安全的

将字符串反转用StringBuffer或StringBuilder的reverse方法

3、MATH类常用的一些函数

1)Pow()幂运算

2)Sqrt()开平方根

3)Round()四舍五入

4)Abs()绝对值

5)Random()随机生成一个0到1之间的随机数

4、接口

1)接口的成员变量声明默认为public static final,所以接口不能有普通成员变量

2)接口中的所有方法必须是抽象中的,默认为public abstract

3)接口没有构造方法,且不能实例化

5、抽象类

1)抽象类可以包含非抽象的普通方法和普通成员变量,但方法不能是private

2)抽象类的函数可以用static修饰,但abstract和static不能共用

3)抽象类不能直接实例化,不能被final修饰

6、异常

1)异常分为编译时异常运行时异常

2)异常处理机制:一、异常捕捉try…catch…finally 二、异常抛出throws

3)用try语句时,catch和finally两者必须存在一个以上

异常捕抓时如果发生异常,return会执行吗?

答:会,有finally就在finally中语句执行后执行,如果没有finally就在catch之后执行

7、集合

Java里的集合框架分为Collection(List和Set)和Map两大接口

List:顺序存储,可以有重复值

Set:无序存储,不能有重复值

Map:以键值对存储数据,无序存储,不能有重复值

8、泛型

使用泛型可以避免出现java.lang.ClassCastException(类转换异常)

类型擦除:Java泛型只能用于在编译期间的静态类型检查,然后编译器生成的代码会擦除相应的类型信息,这样到了运行期间实际上JVM根本就知道泛型所代表的具体类型。

9、多线程

1)实现多线程可以通过继承java.lang.Thread或者实现java.lang.Runnable接口

2)Thread 类中的start() 和 run() 方法有什么区别?

答:start()方法被用来启动新创建的线程,且start()内部调用了run()方法,这和直接调用run()方法的效果不一样。当你调用run()方法的时候,只会是在原来的线程中调用,没有新的线程启动,start()方法才会启动新线程。

反射

未完待更
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: