java基础

来源:互联网 发布:ubuntu嵌入式工控机 编辑:程序博客网 时间:2024/05/29 16:22

一、java虚拟机的工作原理

  答:1、Java虚拟机由五个部分组成:一组指令集、一组寄存器、一个栈、一个无用单元收集堆(Garbage-collected-heap)、一个方法区域。

        2、类加载过程:委派模式:从自定义类加载器开始检查类(自底向上)是否已经加载,从Bootstrap到自定义类加载器开始尝试加载类。(自顶向下)。

       3、分配内存区域:当运行一个虚拟机的时候,系统会为它分配一块区域并让虚拟机自己管理,划分为:Java栈、程序计数寄存器(PC寄存器)、本地方法栈(Native Method Stack)、Java堆、方法区域、运行常量池(Runtime Constant Pool)。在类的加载过程中,会完成类信息和基本的初始化工作。

      4、执行引擎:当类加载完成后,机器并不能识别java字节码,需要把字节码转化为机器能识别的机器吗,这个由解析器负责执行。执行会对字节码进行机器无关的优化。这样就可以实现java无关性了。


二、java的三大特性:

        1、封装:指把同一类事物的共性(包括行为和属性)抽象出来,封装成一个类;同事,封装也称为信息隐藏:指使用抽象数据类型 把 数据和基于数据的操作封装城一个不可分割的整体,只对外提供访问该抽象数据类型的接口,达到保护内部数据。用户无需关心其内部实现,通过接口访问该对象即可。

             好处:实现了对象操作行为的划分和重用,团队协作时,各程序员间可以直接用;隐藏不想让用户知道的细节

     2、继承:子类继承父类,把具有相同属性和行为的一组事物的共性抽象出来,封装成父类,实现了代码的复用。

     3、多态:以封装和继承为基础。相同的一类事物,使用相同的操作,但表现的行为不一样(动态绑定)。在上一个抽象层面上   抽象一个统一的特征操作。但在具体的实现中有不同的实现。从而表现的行为也不一样。

三、设计类的六大原则

       1、单一职责原则:一个类只负责一项职责

       2、里氏替换原则:尽量不重写父类非抽象方法,可增加子类特有方法

   1.子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。

   2.子类中可以增加自己特有的方法。

   3.当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。

   4.当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。

      3、依赖倒置原则:高层模块不应该依赖底层模块,二者都应该依赖抽象,抽象不依赖细节,细节以来抽象。

      4、接口隔离原则:两个类之间应该依赖与最小的接口,二不是混在一起。

      5、最少知道原则(迪米特法则):类尽量少知道自己所依赖的类的信息,被依赖类只需为依赖类提供public接口即可。

      6、开闭原则:对修改关闭,对拓展开发。

联系。使用者无需关心内部的实现细节,但可以通过提供的接口与访问该对象。

        

0 0
原创粉丝点击