今天在这里简单的总结一下关于JavaSE的一些基础知识,以备以后复习的时候用,有些在面试或笔试也偶尔会用到。
1.java中的技术架构:javase、javaee、javame
2.jdk与JRE区别:jdk:java开发与运行环境,包含JRE,JRE只是java程序运行环境
3.javac命令:编译,生成class文件,java命令:启动jvm,运行程序
4.java源文件中包含多个类:可以,但只能有一个public且与文件名一致
5.标识符:一般是自定义名词。
6.基本数据类型:byte,short,int,long,float,double,char,boolean
7.int 与 Integer区别:Integer是包装类,默认值为null,而int默认值为0
8.&与&&区别:&:无论左边结果如何,右边都要运算,而&&:左边报错,右边不执行
9.|与||区别:|:两边都运算,而||:左边正确,右边不运算
10.switch:作用在int,short,char,byte,String
11.short s=1; s=s+1;报错,类型不一致,
short s=1;s+=1;不报错,因为编译器会处理
12.final关键字修饰:其变量所指向对象的内容可变
final特点:其修饰的类不可以被继承,修饰的方法不能被重写,其修饰的变量不能改变
13.==与equals区别:==:判断两个对象是否相等,内存地址是否一致
equals:判断两个独立对象的值是否相同
14.静态变量与实体变量:实体变量属于对象的属性,只有创建了实体对象才会被分配空间
静态变量属于类属性,只要类一被加载就会分配空间
static方法内部不可以直接调用非static方法,因为非static还未被创建对象
static方法只能访问静态变量和静态方法
15.Math.round()方法,四舍五入
16.成员变量与局部变量:成员变量存储于堆内存,作用于整个类
局部变量存储于栈内存
17.构造代码块与构造方法:初始化类对象时,先执行构造代码块
18.封装:隐藏实现细节,提供对外访问方法
19.this关键字:代表所属对象的引用
20.static:其修饰的属性和方法,可以被类名直接调用,随着类的加载而加载,优先于对象
21.抽象类特点:不能被创建对象
22. String:
StringBuilder:不是线程安全的,但速度最快
StringBuffer:可变类,线程安全
23.实现线程:继承Thread,实现Runnable接口,使用synchronized关键字修饰同步方法
24.wait():可以不指定唤醒时间,使用notify或notifyAll唤醒,释放执行权,释放锁
sleep():必须指定唤醒时间,释放执行权,不释放锁
25.ArrayList:底层数据结构时数组,线程不同步
LinkedList:底层数据结构是链表,线程不同步
26.HashMap:底层是哈希表数据结构,线程同步,可以存储null
Hashtable:底层是哈希表数据结构,线程不同步,不可以存储null
27.字节流:继承于:inputStream outStream
字符流:继承于:inputStreamReader outStreamWriter
28.heap:堆:一般存储对象,被final修饰的局部变量放入堆中
stack:栈:一般存储方法以及方法中的变量,方法结束时就会被释放
总结:因为是博主自己总结的所以会不全面,希望对各位能有所帮助,如果有错误或不足还望各位指正,多谢。