- 接口默认的访问权限都是public。jdk1.8以后可以是default
jdk1.8以前抽象类的默认访问权限都是protect,1.8以后都是default
- byte<char<short<int<float<long<double 高级向低级转换必须强转
- final修饰的类肯定不能被继承,final修饰不能修饰抽象类
- .equals()方法先比较数据类型,再比较值. ==比较的是地址的引用
- Integer是int类型的包装类,是一个类,当Integer与int活用时能在编译时自动的拆箱,装箱。拆箱:Integer.intValue() 装箱:Integer.valueOf(int i); Integer进行赋值时 如果在-128到127之间那么会进行缓存,第二次在赋值相同的数就直接从缓存里拿,不创建新的Integer对象.
- ThreadLocal用于多线程之间数据隔离
- 向上转型后,父类默认调用子类重写的方法
- 创建一个String字符串后会在栈中生成,并存到字符串常量池。再次创建一个新的字符串时,会首先从字符串常量池中查找是否有相同字符串。如果有就直接引用该地址。
- Web容器负责将http请求解析成HttpServletrequest请求
- 构造方法不能被继承,只能被调用
- 引用类型的数组定义完后默认数组的每个元素都是null,基本数据类型的数组默认每个元素都是0
- 没有<<<运算符
- 代码执行顺序:父类静态代码块,子类静态代码块,父类代码块,父类构造方法,子类代码块,子类构造方法
- 导包 只会导入包当前层的所有类,不会导入包下层包中的类
- Iterator接口是Collection接口的父接口
- byte的范围 -128到127
- Thread.yield()是礼让线程,当前线程释放资源,与其他线程重新竞争cpu,可能还是他
- fun(List<? extends Animal> animallist){} fun(List<Dog> doglist)
- super()和this()都只能用在构造器的第一行,都指的是对象,都不能放在static域中
- 定义二维数组,第一维大小必须定义,第二维大小可后定义
- int i=0; i = i++; --> i==0;
- 静态域>构造块>构造方法 静态域{静态变量,静态方法,静态块} 静态域中按顺序加载
- 类的成员变量在堆区,方法的局部变量在栈区
- synchronized既可以保证可见性,又可以保证原子性
- 对象空间被收集之前执行finalize方法。
- cgi在移植性上高于servlet,几乎所有的主流服务器都直接或通过插件支持cgi
- 序列化的是对象 不是类,static修饰的代表类的成员,所以不会被序列化
- ~是为位运算符 ~a == (-a)-1 &是位运算,转化为二进制比较都为1为1.
- Arrays.equals(数组1,数组2) 用来逐个元素比较两个数组
- 万物皆对象,数组是一种对象
- java跨平台性是jvm将.java源代码转化为.class字节码文件可以跨平台运行
- try catch finally中如果finally中有return throw语句会使try catch中的失效
- 线程调度分为:协同式和抢占式。java线程调度运用抢占式,由操作系统分配线程执行时间。协同式线程切换由不同线程协调决定
- catch和finally不能同时存在
- jvm中使用监视器锁实现异步执行,synchronized
- Integer,Float,Double都继承自Number类
- byte,short,char类型 在运算时会自动向上转成Int类型
- javac 将源文件编译成字节码文件
- 内部类默认有四中访问权限 public protected default private
- 两个数进行比较时,如果其中有double,则另一个自动转double。如果其中有long另一个自动转long,如果其中有float,另一个自动转float,否则两个都自动转int
- 匿名内部类,没有构造器
- java.lang包无需导入
- HashTable不允许空key和值
- 一个汉字等于一个字符(char) 一个汉字等于两个字节(byte)
- (表达式1) || (表达式2) 运算符 当表达式1成立时,表达式2不再执行
- 可以把任意八大数据类型赋值给Object类型。 基本数据类型会自动装箱
- 线程安全的集合: Vector HashTable Stack Collections.synchronizedList(new ArrayList())
49.
- String+后边的各种数据类型都会自动变成字符串拼接
- java程序的种类有Application Applet Servlet
- ^表示异或运算(相同是0 不同是1)
- 垃圾回收线程在jvm中优先级很低很低
- 类方法是指static的方法,对象方法是指普通方法
- byte流是字节读入,character流是字符读入
- TCP/IP是远程通信的主要手段
- java8以后 接口中的类用static修饰,default修饰 可以有方法体