zoukankan      html  css  js  c++  java
  • 炸鸡

    类字节码文件是在硬盘上存储的,是一个个的.class文件。我们在new一个对象时,JVM会先把字节码文件的信息读出来放到内存中,第二次用时,就不用在加载了,而是直接使用之前缓存的这个字节码信息。

    字节码的信息包括:类名、声明的方法、声明的字段等信息。在Java中“万物皆对象”,这些信息当然也需要封装一个对象,这就是Class类、Method类、Field类。

    通过Class类、Method类、Field类等等类可以得到这个类型的一些信息,甚至可以不用new关键字就创建一个实例,可以执行一个对象中的方法,设置或获取字段的值,这就是反射技术

    /**

        * 加载类的字节码的3种方式

        * @throws Exception

        * */

       public void test1() throws Exception {

          // 方式一

          Class clazz1 = Class.forName("cn.itcast.gz.reflect.Person");

          // 方式二

          Class clazz2 = Person.class;

          // 方式三

          Person p1 = new Person();

          Class clazz3 = p1.getClass();

       }

    换言之,深复制把要复制的对象所引用的对象都复制了一遍。

    把对象写到流里的过程是串行化(Serilization)过程,

  • 相关阅读:
    springboot之redis的应用
    redis外部访问
    Calendar时间操作
    zookeeper安装
    springboot的interceptor(拦截器)的应用
    springboot中filter的用法
    IIS无法启动,应用程序池自动关闭
    HTTP 错误 403.14
    【转】JavaScript => TypeScript 入门
    angular2使用ng g component navbar创建组件报错
  • 原文地址:https://www.cnblogs.com/muziyunxuan/p/7908185.html
Copyright © 2011-2022 走看看