zoukankan      html  css  js  c++  java
  • Think In Java 第二章 一切皆对象

    句柄 & 对象

    尽管将一切都“看作”对象,但操纵的标识符实际是指向一个对象的“句柄”,例s为句柄,String("abcdef")为对象

    String s = new String("abcdef");
    

    注:创建一个句柄时,记住无论如何要初始化

    内存分配

    寄存器:根据需要由编译器分配,我们对此没有直接的控制权

    堆栈:驻留于常规 RAM(随机访问存储器)区域,但可通过它的“堆栈指针”获得处理的直接支持。对象句柄一般保存在其中。

    堆:一种常规用途的内存池(也在 RAM区域),其中保存了Java 对象。

    静态存储:程序运行期间,静态存储的数据将随时等候调用,可用static 关键字指出一个对象的特定元素是静态的。

    常数存储:常数值通常直接置于程序代码内部

    非RAM 存储:若数据完全独立于一个程序之外,则程序不运行时仍可存在,并在程序的控制范围之外。两个最主要的例子便是“流式对象”和“固定对象”。

    基本类型

    这些变量容纳了具体的值,并置于堆栈中,能够更高效地存取。

    >boolean 1位  -           -                  Boolean
    char     16位 Unicode 0  Unicode 2的16次方-1  Character
    byte     8位  -128       +127                Byte
    short    16位 -2 的15次方 +2的 15次方-1       Short
    nt       32位 -2的31次方  +2的31次方-1        Integer
    long     64位 -2的63次方  +2的63次方-1        Long
    float    32位 IEEE754    IEEE754             Float
    double   64位 IEEE754    IEEE754             Double
    Void
    

    高精度数字

    高精度的计算:BigInteger和 BigDecimal

    作用域

    在作用域里定义的一个变量,它只有在那个作用域结束之前才可使用

    注:Java中同c++不同,下面写法Java认为是非法的

    {
    	int x = 12;
    	{
    		int x = 96; /* illegal */
    	}
    }
    

    构建Java程序

    名字的可见性:java的设计者鼓励程序员反转使用自己的Internet域名

    使用其他组件:import 关键字准确告诉Java 编译器我们希望的类是什么

    static关键字:静态对象、静态变量

    注释和嵌入文档

    //:Property.java
    import java.util.Date;
    import java.util.Properties;
    
    /** The first Thinking in Java example program.
    * Lists system information on current machine.
    * @aurhor Bruce Eckel
    * @author http://www.BruceEckel.com
    * @version 1.0
    * */
    public class Property {
    	/** Sole entry point to class & application
    	 * @param args array of string arguments
     	* @return No return value
     	* @exception exception No exception thrown
     	* 
     	* */
    	public static void main(String [] args) {
    		System.out.println(new Date());
    		/** 一个变量注释 */
    		Properties p = System.getProperties();
    		p.list(System.out);
    		System.out.println("---Memory Usage:");
    		Runtime rt = Runtime.getRuntime();
    		System.out.println("Total Memory = "
    						+ rt.totalMemory()
    						+" Free Memory ="
    						+ rt.freeMemory());
    	}
    }///:
    

    用于提取注释的工具叫作javadoc,javadoc输出的是一个 HTML 文件,可用自己的Web 浏览器查看。

  • 相关阅读:
    source vimrc的时候报错:.vimrc:1: command not found: syntax
    python Qt5 实战(一)按钮颜色
    python做中学(二)bool()函数的用法
    python做中学(一)全局变量的用法
    音频算法speex中的aec分析以及解析
    ubuntu 18.04 安装mysql 遇到语言格式不兼容性问题解决
    ubuntu18.04 中个性化配置vim方法
    蓝牙协议栈中关于回连和断开的定义
    autojump--懒人利器
    终端中的 zsh 和 bash-魔法切换
  • 原文地址:https://www.cnblogs.com/pallcard-LK/p/8909343.html
Copyright © 2011-2022 走看看