java基础

  • 线程join,等待线程执行完毕在继续执行,join会调用wait,线程执行完毕会调用notifyall。
  • 内部类、静态内部类创建方法。静态内部类和正常类一样。非静态内部类只能由实例创建。
  • 软引用,内存不足二次垃圾回收会被回收掉。弱引用,虚引用
  • private final方法不能被继承,但是子类可以写一个同名方法。
  • java 标识符必须由 下划线、数字、字母、美元符号构成。
  • Throwable ->Exception->RuntimeException
    ->Error
  • java8 接口新增静态方法和default方法。 、
  • java 泛型是语法糖,运行效率不会有影响。
  • 针对循环的优化,强度削弱,删除归纳变量,代码外提。
  • 赋值语句放在条件里,实际上是将赋值后的结果当作条件。
  • Volatile:保证可见性,但不保证操作的原子性 volatile i; i++;
  • java八种基本数据类型。 整数型 byte、short、int、long,浮点型 float、double,字符型 char,逻辑型 boolean
  • java 浮点数默认为double类型。
  • 局部变量不赋值就使用会编译错误。
  • 重载也算多态一种表现。。
  • 类的静态代码块和非静态代码块 分别在加载和实例化的时候执行。 静态变量和静态代码块 按位置顺序执行
  • java gc线程的优先级低
  • 重载方法返回值可以不同类型,重写方法 返回值类型必须相同,不然编译报错。
  • super并不是父类的引用,只是代表调用父类的方法。super.getClass返回的还是子类。
  • countdownlatch ,cycliBarrier,semaphore,aqs??
  • 精度小于int的数值运算的时候都回被自动转换为int后进行计算
  • jre 判断程序是否执行结束的标准是 前台线程执行完毕,如jvm垃圾回收等线程后台线程
  • java 接口可以多继承,类不可以
  • 常用的StringBuffer 字符串变量(线程安全),StringBuilder 字符串变量(非线程安全)
  • threadLocal 使用了 开放定址法解决哈希冲突。
  • 异或运算,相同则为0,不同则为1
  • java保留关键字goto const。 strictfp transient
  • 接口和抽象类的区别???jdk版本

内部类总结:

 内部类、静态内部类、局部内部类、匿名内部类。
 匿名内部类的使用,传参时new一个接口的实现,或者new X(){}继承某个类。

排序总结

堆排序、快速排序、归并排序、插入排序

java类加载过程

主动应用、被动引用。加载、初始化
类的被动引用(不会发生类的初始化)
当訪问一个静态域时。仅仅有真正声明这个域的类才会被初始化。
通过子类引用父类的静态变量,不会导致子类初始化。
通过数组定义类引用,用不会触发此类的初始化。
引用常量不会触发此类的初始化(常量在编译阶段就存入调用类的常量池中了)
https://www.cnblogs.com/mfrbuaa/p/5321894.html
初始化过程:

  1. 初始化父类中的静态成员变量和静态代码块 ;
  2. 初始化子类中的静态成员变量和静态代码块 ;
    3.初始化父类的普通成员变量和代码块,再执行父类的构造方法;
    4.初始化子类的普通成员变量和代码块,再执行子类的构造方法;

正则表达式

字符编码、字符集

运算符优先级

枚举类原理

队列aqs

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值