Java基础(一)

1.JDK,JRE,JVM

JDK开发工具包
JRE运行环境
JVM虚拟机

2.数据类型

byte-2^7 ~ 2^7-10
short-2^15 ~ 2^15-10
int-2^31 ~ 2^31-10
long-2^63 ~ 2^63-10
float0.0f
double0.0
char[0,65535]"\u0000"
boolean(0,1)false

3.&&与&的区别

  • &&是短路与,只要第一个表达式满足了整个表达式的数值,后边的不再进行
  • &无论什么情况,后边的表达式都要进行
  • &&比&效率高

4.break和continue区别

  • break跳出整个循环体
  • continue跳出当前次的语句块

5.方法重载的条件

  • 同一个类,同一个方法名
  • 参数列表不同,参数个数,参数顺序,参数数据类型
  • 只要返回值类型不同不构成方法的重载

6.方法重写的条件

  • 父与子之间,必须要有继承
  • 方法名相同,参数列表也相同,方法体不同
  • 访问权限修饰符不能比父类更严格

7.三大基本特征

  • 封装
类内包内子类任意
public
protected
default
private
  • 继承

            子类继承父类中所有的属性和除了构造方法以外的方法

            子类调用父类构造器(创建对象时执行初始化)

            内存中创建对象的顺序,先父后子

  • 多态

            构成多态的条件:有继承,有方法重写,父类引用指向子类对象

            赋值多态:Animal a = new Dog();

            传参多态:public void foo(Animal a){}

8.final

  • 修饰常量不能被二次赋值
  • 修饰类不能被子类继承
  • 修饰方法不能被子类重写

9.抽象类和接口的区别

            抽象类只能单继承,接口可以多实现

10.String,StringBuilder,StringBuffer区别

            效率:String < StringBuffer <StringBulider

            安全:String不可变长字符串

                       StringBuffer可变长数组,线程安全,加了线程锁

                       StringBulider可变长数组,线程非安全

11.ArrayList,LinkeList,Vector区别

  • ArrayList:可变长数组,查询快,增删改慢,操作连续的内存空间,效率高,线程非安全
  • LinkedList:双向循环链表,查询慢,增删改快,操作链表,效率高,线程非安全
  • Vector:可变长数组,效率低,线程安全,极少使用

12.List,Set,Map区别

  • List:添加有序,Iterator it = list.iterator();
  • Set:添加后无序,HashSet由Hash算法实现,Key不重复  add,remove  TreeSet有序
  • Map:key不能重复,遍历的时候使用Set <Entry<k,v>> entrySet = map.entrySet(); put remove

13.遍历List

  • 普通for:for(int i = 0;i<list.size();i++){}   可以循环修改容器中的元素
  • 增强for:for(String value:list){}   只能迭代不能修改
  • iterator迭代器:Iterator<String> it = strList.iterator(); where(it.hasNext()){}
  • forEach:strList.forEach(str -> {})

14.list常用方法

          size(),get(int index),remove(index),clean(),set(index,_)

15.异常

  • 运行时异常

       RuntimeException类及子类,为不检查异常,一般为程序错误

  • 检查性异常

       RuntimeException以外的异常,属于Exception类及子类,必须处理的异常

16.throws,throw区别

  • throws定义在方法名后边,调用者必须用try...catch处理
  • throw定义在方法体内,用来创建异常(自定义异常)

17.多线程实现方法

  • extends thread类,重写run方法
  • implement Runnable接口,重写run方法
  • 实现Callable,重写call方法,配合FutureTask 
  • 基于线程池构建线程

18.Java中线程的状态

  • 操作系统层面:new  Runnable waiting  ready  terminated
  • Java中定义的:new  Runnable  blocked waiting  time_waiting terminated
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值