• 关于访问修饰符,静态,内存结构和代码块


    访问修饰符

      控制被访问的权限   public    protected    default(不写)     private (权限从高到低)

     静态(static)

     

     内存结构

      问:创建对象之前会做些什么?

      答:.java文件 -- 编译 ----> .class ---加载----> 虚拟机

      问:java内存结构分几部分?

      答:1,         2,         3,方法区(静态区)    4,程序计数器        5,本地方法栈(native)   

      

      问:构造对象会经历哪些步骤?
      答:1,去方法区看下这个类是否已经被加载 了,如果没有被加载则先加载这个类。(静态的东西会在第一次加载的时候初始化)
             2,然后new 在堆中申请空间,然后给这个对象初始化。(非静态)
             3,执行构造方法里面的逻辑。

      下面是代码在内存中的运行过程

    代码块

    解释

    一块代码,用{}括起来一段逻辑代码

    特点

    1,是在构造对象的时候运行的,但是是在构造函数之前执行。

    2,写在方法里面的临时代码块跟没有代码块几乎没有区别,但是需要注意变量的作用域。

    3,静态代码块就会在类加载的时候执行,但是类加载只加载一次,所以静态代码里面的内容只会执行一次。

    4,普通代码块由于是在构造对象的时候执行的,所以每构造一个对象会执行一次。

  • 相关阅读:
    Linux 磁盘挂载和mount共享
    Socket编程实践(8) --Select-I/O复用
    JavaScript 作用域链图具体解释
    扩展MongoDB C# Driver的QueryBuilder
    Gray Code
    Android网络编程Socket【实例解析】
    设计模式之:代理模式
    LOL英雄联盟代打外挂程序-java实现
    MySQL系列:innodb源代码分析之线程并发同步机制
    linux压缩打包
  • 原文地址:https://www.cnblogs.com/sunzhiqiang/p/11695270.html
Copyright © 2020-2023  润新知