Java操纵的标识符是对象的一个引用。
数据存储的地方:
寄存器:最快的存储区,位于处理器内部,但数量有限,应按需分配。
堆栈:快速有效的分配存储方法,仅次于寄存器,位于通用RAM。通过堆栈指针可以从处理器那里获得直接支持。堆栈指针向下移动则分配新的内存;若向上移动,则释放内存。
堆:用堆进行存储分配和清理可能比用堆栈进行存储分配需要更多的时间,是一种通用的内存池,同位于RAM中,用于存放所有Java对象。
常量存储:直接存放在代码内部。
非RAM存储:若数据完全存活于程序之外,则它可以不受程序的任何限制,在程序没有运行时也可存在。如流对象和持久化对象。在流对象中,对象转化成字节流被发送给另一台机器。在持久化对象中,对象被存放在磁盘中,这种存储方式的技巧在于:把对象化成可以存放在其他媒介上的事物。在需要时,可以恢复成常规的、基于RAM对象。
基本类型:不用new创建,而是创建一个并非是引用改的自动变量。这个变量直接存储“值”,并置于堆栈中。
Java提供了两个用于高精度计算的类:BigInteger和BigDecimal。二者没有对应的基本类型。BigInteger支持任意精度的整数。BigDecimal支持任意经度的定点数。
当创建一个数组对象时,实际上就是创建了一个引用数组,并且每个引用都会自动被初始化为一个特定的值,该值拥有自己的关键字null。在创建基本数据类型的数组时,编译器会将数组所占的内存全部置零。
作用域(scope)决定了在其内定义的变量名的可见性和生命周期。作用域由花括号的位置决定。Java对象不具备和基本类型的生命周期。当用new创建一个Java对象时,它可以存活于作用域之外。
基本成员默认值: boolean false char u0000(null) byte 0 shrot 0 int 0 long 0L float 0.0f double 0.0d。默认值并不适合局部变量。若是定义一个局部变量,如int x,则它可能是任意值,不会被自动初始化为0。
Java的方法决定了一个对象能够接受什么样的消息。方法的基本组成包括名称、参数、返回值和方法体。返回类型描的是在调用方法之后从该方法返回的值;参数列表给出了要传给方法的信息的类型和名称,方法名和参数列表,唯一的标识出某个方法。在参数列表中,必须指定每个锁传递对象的类型及名字,实际上是传递的是引用。
Java设计者希望程序员反过来使用自己的Internet域名,反转域名后,以.来代表子目录的划分。
static的应用情形:只想为某特定域分配单一的存储空间,而不去考虑要创建多少对象或根本不创建任何对象;希望某个方法不予包含它的类的任何对象关联在一起,故当你声明一个事务是static时,意味着即便没有对象,也可调用这个方法。
用类数据和类方法代表那些只能作为整个类而不是类的某个特定对象而存在的。
javadoc是提取注释的工具,他的输出是一个HTML文档。所有的javadoc命令都只能在“/**”中出现,结束于“*/”。使用javadoc的方式主要有两种:嵌入HTML或使用个“文档标签”。独立文档是一些以@字符开头的命令,且要置于注释行的最前面。而“行内文档标签”则可以出现在javadoc注释中的任何地方。同样以“@”开头,但要括在花括号内。共有三种类型的注释文档,分别对应与注释位置后面的三种元素:类、域和方法。javadoc只为public和protected成员进行文档注释。private和报访问成员的注释会被忽略掉。javadoc通过生成的HTML文档传送HTML命令。
/** /**
*<pre> * You can <em> even </em> insert a list
*System.out.println(new Date) *<ol>
*</pre> *<li>Item 1</li>
*/ *</ol>
*/
位于每一行开头的星号和前导空格都会被javadoc丢弃。不要在嵌入式HTML中使用标题标签,javadoc会插入自己的标题<h1>或<hr>可能会与之冲突
javadoc标签
@See classname javadoc会在其生成的HTML中加入一个具有超链接的“See Also”条目,但不会检查超链接是否有效
{@link package.class#member label} 只用于行为,并且是用label座位超链接文本而不是see also,作用于@see一致
{@docRoot} 该标签产生到文档根目录的相对路径 ,用于文档树页面的显示超链接
{@inheritDoc} 该标签从当前这个类的最直接的基类中继承相关文档打当前文档注释中
@version 包含版本说明的重要信息
@author 作者的相关信息
@since 该标签允许你制定程序代码最早使用的版本,可以在html java文档中看到它被用来制定所用的jdk版本的情况
@param 参数列表中的标识符
@return 返回值含义
@throws 由于某个方法调用失败而抛出的对象
@deprecated 该标签用于指出一些旧特性已由改进的新特性取代,建议用户不要再使用这些旧特性,若使用一个标记为@deprecated方法,编译器将发布警告
Demo:
import java.util.*;
/**
* The first Thinking in Java example program
* Displays a string and today's date
* @author Bruce Eckel
* @author www.MindView.net
* @version 1.0
*/
public class HelloDate{
/**
* Entrv point to class and application
* @param args array of string arguments
* @throws exception No exception thrown
*/
public static void main(String args[]){
System.out.print("Hello,it's");
System.out.print(new Date());
}
}
Java编程语言编码规定:类名的首字母要大写,若类名由几个单词组成,把他们拼在一起时每个单词的首字母都要大写。方法,字段及对象的引用则采取驼峰风格,只时标识符的一个字母采用小写。