zoukankan      html  css  js  c++  java
  • 学习Java第六周

    1.内存结构

    Java程序在运行时,需要在内存中的分配空间为提高运算效率,空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。

    栈内存

    ·用于存储局部变量,当数据使用完,所占空间会自动释放,

    堆内存

    ·数组和对象,通过Bw建立的实例都存放在堆内存中,

    ·每一个实体都有内存地址

    ·实体中的变量都有默认初始化值

    ·实体不在被使用,会在不确定的时间内被垃圾回收器回收

    浙法区心本执者法区。害在料

    2.成员变量和局部变量

    作用范图

    成员变量作用于整个类中。

    周部变量变量作用于函数中,或者语句中。

    在内存中的位置:

    成员变量:在堆内存中,因为对象的存在,才在内存中存在,

    局部变量:存在栈内存中。

    3.匿名对象

    匿名对象是对象的简化形式

    匿名对象两种使用情况

    ·当对对象方法仅进行一次调用的时

    ·匿名对象可以作为实际参数进行传递

    4.静态:static

    用法:是一个修饰符,用于修饰成员(成员变量,成员函数)

    当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用

    Static特点:

    1,随着类的加载而加载,

    也就说:静态会随着类的消失而消失,说明它的生命周期最长

    2,优先于对象存在

    3,被所有对象所共享

    4,可以直接被类名所调用

    实例变量和类变量的区别:

    1,存放位置

    类变量随着类的加载而存在于方法区中,

    实例变量随着对象的建立而存在于堆内存中

    2,生命周期

    类变量生命周期最长,随着类的消失而消失

    实例变量生命周期随着对象的消失而消失

    6.静态使用注意事项

    1,静态方法只能访问静态成员

    非静态方法既可以访问静态也可以访问非静态

    2,静态方法中不可以定义this,super关键字

    因为静态优先于对象存在,所以静态方法中不可以出现this

    静态有利有弊

    利处:对对象的共享数据进行单独空间的存储,节省空间,没有必要每一个对象中都存储一份

    可以直接被类名调用。

    弊端:生命周期过长

    访问出现局限性。(静态虽好,只能访问静态

  • 相关阅读:
    Java :BufferedWriter类和BufferedReader类的构造方法、主要方法
    多线程:四大线程池详解
    多线程:head first Thread.join()
    多线程: 多线程中断机制
    多线程:深入Thread.sleep
    多线程:线程池原理
    java:java构造器和java方法的区别
    java: Java中this和super的用法总结
    postman: 用于网页调试和发送Http请求的chrome插件
    json:JSONObject包的具体使用(JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包)
  • 原文地址:https://www.cnblogs.com/ywqtro/p/11333896.html
Copyright © 2011-2022 走看看