码迷,mamicode.com
首页 > 编程语言 > 详细

Java常见问题

时间:2019-12-31 01:48:01      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:找不到   动态绑定   调用   线程池   www   logs   垃圾回收算法   能力   覆盖   

记录Java中的常见概念和原理

参考:

面对对象的三个特点

  • 封装:封装就是隐藏对象的属性和实现细节,仅对外公开接口,形成一个有机的整体
  • 多态:多态同一个行为具有多个不同表现形式或形态的能力。是指一个类实例(对象)的相同方法在不同情形有不同表现形式。
  • 继承:继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法

多态的使用和原理实现

虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。
多态的底层实现是动态绑定,即在运行时才把方法调用与方法实现关联起来。

  1. 先从操作栈中找到对象的实际类型 class;
  2. 找到 class 中与被调用方法签名相同的方法,如果有访问权限就返回这个方法的直接引用,如果没有访问权限就报错 java.lang.IllegalAccessError ;
  3. 如果第 2 步找不到相符的方法,就去搜索 class 的父类,按照继承关系自下而上依次执行第 2 步的操作;
  4. 如果第 3 步找不到相符的方法,就报错 java.lang.AbstractMethodError ;
    如果子类覆盖了父类的方法,则在多态调用中,动态绑定过程会首先确定实际类型是子类,从而先搜索到子类中的方法。

内存管理

垃圾回收算法

Java多线程

Java线程池

Java常见问题

标签:找不到   动态绑定   调用   线程池   www   logs   垃圾回收算法   能力   覆盖   

原文地址:https://www.cnblogs.com/xlsryj/p/12122185.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!