java知识补漏

Java

1.      运算符先后次序:+-  &和 ^与 |或

2.      Instanceof 判断是否为对象,是返回true,不是返回false

3.      Static,final不能再次被赋值

4.      Public 只能修饰类,方法,成员变量,不能修饰局部变量

5.      一个类中包含抽象方法,该类必须声明为抽象的abstract

6.      子类构造过程:调用父类初始化显氏语句(没有方法名直接在大括号里面实现)和构造函数,如果父类构造函数中有父类方法,且子类没有重写或父类方法修饰符不为private,则调用父类方法.不然调用子类重写的方法。

7.      面向对象特征:抽象,继承,封装,多态

8.      使用oop设计时,1)开闭原则2)依赖倒转原则3)里氏代换原则4)合成/聚合复用原则5)迪米特原则

6)接口隔离原则

9.方法重载:方法名必须一样,其他可以相同或者不同

10.子类继承父类,子类方法不能抛出比父类更多的异常,RuntimeException除外,因为一般都会抛出这个异常,或者缩小访问访问,比如:public->private

11.Throwable是所有错误的超类

12.断言:检查程序的安全性

13.垃圾回收机制:1)只有当对象可以访问适用于垃圾回收对象时,对象同样适用于垃圾回收。2)垃圾回收机制回收垃圾时间不受人为因素影响3)当对象最后一个引用被删除时,该对象被删除4)回收机制制作为一个低优先级的线程在后台运行5)当对象没有任何一个引用对象指向它时,将会被回收。

14.static如果不赋值的话,默认为0,且无法改变

15.final变量必须实例化。{实例化语句}               类初始化的时候先执行静态初始化代码,再执行初始化语句。

16.进程和线程的区别:主要区别是它们是不同的操作系统资源管理方式。

         进程有单独的地址空间,一个进程崩溃后,在保护模式下不会对其他进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉。所以多进程的程序比多线程的程序健壮,但进程切换时,耗费资源较大,效率要差点。

         但对于一些要求同时进行并且共享某些变量的并发操作,只能用线程。

17.线程中没有参数的run是自动调用的,有参数的必须显式调用

18.线程run方法是执行方法,不会创建新的线程。只有调用start方法才会启动,这样才能创建新的调用桟。

19.线程设置优先等级:xx.setPriority();线程同步:synchronized(){}

20.run执行后,线程就会结束

21.每个对象都有notify()用来唤醒线程

22.concat字符串连接

23.StringBuffer.setLength()设置长度

24.==两边的类型必须相同

25.迭代器       Map类都要变成最老的迭代Collection后,才能转换成新的迭代器

         Map map;

         Collection c=map.values();

         Iterator it=c.iterattor();

         While(it.hasNext()){}

26.List可以直接输出     list.next()移到下一个元素,list.previous()移到上一个元素,list.remove()删除特定的元素

27.Collection定义了contains(Objectc),addAll(Collection col),toArray();

28.List.suList(x,x)返回的是子列表试图,如果修改这个子列表,会影响原列表。

29.Map.Entry//减少了map.get(key)获取值

         Map map=new HashMap();

      map.put("hello", "hello");

      Set set=map.entrySet();

      Iterator ite=set.iterator();

      while(ite.hasNext()){

        Map.Entry entry=(Entry) ite.next();

        String a=(String) entry.getKey();

        String b=(String) entry.getValue();

        System.out.println(a+" "+b);

      }

30.获取父文件的路径:(new File(“”)).getParent();

31.new FileOutputStream(“”)清除以前的记录,重新编写。

    NewFileOutputStream(“”,true);不清除以前记录

32.Field应用反射,可以轻松地获得类变量的所有信息

    Private,protected的话,要设置field.setAccessible(true)//设置此变量的可访问性为true

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值