• Java知识点补缺


    1、 java中方法的重写的两同两小一大原则

    方法名相同

    参数类型相同

    子类返回类型小于等于父类方法返回类型,

    子类抛出异常小于等于父类方法抛出异常,

    子类访问权限大于等于父类方法访问权限。

    2、Class.forName(); 类.class; 对象.getClass();

    Class.forName() 的形式会装入类并做类的静态初始化,返回 Class 对象。

    类.class 的形式会使 JVM 将使用类装载器将类装入内存(前提是类还没有装入内存),不做类的初始化工作,返回 Class 对象。

    getClass() 的形式返回运行时真正所指的对象(因为:子对象的引用可能会赋给父对象的引用变量中)所属的类的Class的对象 。

     

    getClass()是动态的,其余是静态的。

    类.class和class.forName()只能返回类内field的默认值,getClass可以返回当前对象中field的最新值

    Class.forName() 返回的是一个类, newInstance() 后才创建一个对象,Class.forName()的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的

    参考:https://www.cnblogs.com/feiyun126/p/3229492.html

    3、Java类加载的过程

    当Java程序需要使用某个类时,如果该类还未被加载到内存中,JVM会通过加载、链接(验证、准备和解析)、初始化三个步骤来对该类进行初始化。

    1、 加载:查找和导入Class文件

    类的加载是指把类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.class文件,然后产生与所加载类对应的Class对象。加载完成后,Class对象还不完整,所以此时的类还不可用。

    2、链接:其中解析步骤是可以选择的

    a)检查:检查载入的class文件数据的正确性

    b)准备:给类的静态变量分配存储空间

    c)解析:将符号引用转成直接引用

    3、初始化:对静态变量,静态代码块执行初始化工作

    1)如果类存在直接的父类并且这个类还没有被初始化,那么就先初始化父类;

    2)如果类中存在初始化语句,就依次执行这些初始化语句。

    参考:https://blog.csdn.net/xuemengrui12/article/details/82707473

    4、Java io流

    按照流的流向:输入流和输出流。注意:这里的输入、输出是相对于内存而言的。

    按处理数据单位不同分为字节流和字符流

    字节流:每次读取(写出)一个字节,当传输的资源文件有中文时,就会出现乱码。

    字符流:每次读取(写出)两个字节,有中文时,使用该流就可以正确传输显示中文。

    按照流的角色划分为节点流和处理流

    节点流:从或向一个特定的地方(节点)读写数据。如FileInputStream。

    处理流(包装流):是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如BufferedReader。处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。

    参考:https://baijiahao.baidu.com/s?id=1659851047751244423&wfr=spider&for=pc

    5、Java字节流与字符流的区别

    字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的;

    字符流在操作时使用了缓冲区,通过缓冲区再操作文件。

    使用场景

    字节流一般用来处理图像,视频,以及PPT,Word类型的文件。

    字符流一般用于处理纯文本类型的文件,如TXT文件等。

    字节流可以用来处理纯文本文件,但是字符流不能用于处理图像视频等非文本类型的文件。

    Java IO 流的整体架构图:

    参考:https://baijiahao.baidu.com/s?id=1659851047751244423&wfr=spider&for=pc

  • 相关阅读:
    ViewData和TempData
    ASP.NET 缓存
    php配置的问题
    不错的文章
    谁能给个mvc的学习源码吗?
    win7下php + apache +mysql 5问题
    关于coolite grid 存储过程分页的问题,忘大虾解决...
    大侠们,关于asp.net与jsonp之间的东东
    jquery $.getjson $.post
    asp.net像博客园一样的Calendar(日期控件)
  • 原文地址:https://www.cnblogs.com/yangms/p/13922281.html
Copyright © 2020-2023  润新知