JAVA语言系列(二):程序的基本组成


1. 存储位置

寄存器:位于处理器内部,不能直接控制
堆栈:位于RAM中,通过堆栈指针移动可以进行内存分配和释放。java系统必须知道存储在堆栈内所有项的确切生命周期,以便移动指针(这限制了程序的灵活性),对象引用和基本类型就存储在堆栈中(函数执行)。
:用于存放所有java对象,编译器不需要知道其存活多长时间。只要new即可在堆中分配。
常量存储:通常直接存放在代码内部。嵌入式系统可能存放在ROM中
非RAM存储:流对象(对象转化为字节流被发送给另一个机器)和持久化对象(磁盘)


2. 类型

基本类型

  • boolean,char(16 bit),byte(8 bit),short(16 bit),int(32 bit),long(64bit),float(32 bit),double(64 bit),void
  • 基本类型变量直接存储值并置于堆栈中
  • 基本类型具有包装器类,使得可以在堆上创建一个非基本类型对象。
  • 自动包装功能将自动地将基本类型转换为包装器类型。
  • 作为局部变量如果没有被初始化,java会在编译时返回错误。

高精度数字

  • BigInteger(任意精度整数)和BigDecimal(任意精度定点数),没有对应的基本类型。
  • 必须以方法调用的方式取代运算符来实现。

数组

  • java会确保数组会被初始化,且保证在范围内访问(少量的内存开销)。
  • 对于基本类型的数组,编译器保证了数组的初始化,全部置为0。
  • 当创建一个数组对象,实际上就是创建了一个引用数组,其中每个引用都会被初始化为null。

  • 类中包含两类元素:字段和方法
  • 字段
    字段可以是任何类型的对象,如果是引用,必须初始化该引用,以便与实际对象相关联。
    如果字段是基本数据类型,java会确保它获得一个默认值。(这并不适用于局部变量,即非类字段)
  • 方法
    返回类型描述了调用方法之后的返回值。
    参数列表给出了要传递给方法的类型和名称。对于对象来说,传递的是对象的引用,而基本数据类型例外。
    方法名称和参数列表(合起来称为方法签名)唯一标识了方法。
    调用方法通常被称为发送消息给对象
  • static
    当域被声明为static,意味着这个域不与任何对象实例关联在一起。
    对于static方法,不能简单地调用其他非static域或方法而没有指定某个命名对象。
  • static的需求
    只想为某特定域分配单一存储空间,而不去考虑究竟要创建多少对象。
    希望某个方法不与包含它的类的任何对象关联在一起,即使不创建对象,也能调用该方法。
    static通常用来当做牧羊人角色,负责看护与其隶属同一类型的实例群。

对象

  • 操纵对象的标识符是对象的一个引用
  • 引用不一定需要和对象关联,如果向没有关联对象的引用发送消息,会返回一个运行时错误。
  • 对象只要需要,就可以一直保留下去。

3. 注释

注释文档

  • 将代码与文档链接起来,必须使用特殊的注释语法来标记文档,还需要一个工具提取注释javadoc
  • javadoc查找程序内的特殊注释标签,解析这些标签标记的信息,也将类名或方法提取

语法

  • 所有的javadoc命令只能在‘/**’注释中出现。
  • 三种类型的注释文档,分别对应于位于注释后面的三种元素:类,域和方法
  • javadoc只能为public,protected成员进行注释。
  • 使用javadoc的方式主要有两种:嵌入式HTML和文档标签。

嵌入式HTML

  • 可以通过html元素对注释进行格式化
  • 不要在嵌入式HTML中使用标题标签<h>

标签:

  • @see:引用其他类的文档。
  • @version:包含版本说明的重要信息。
  • @author:作者信息。
  • @since:指定程序代码的最早使用版本。
  • @param:参数和具体信息
  • @return:返回值描述
  • @throws:异常和具体说明
  • @Deprecated:建议用户不要再使用的特性

4. 其他

  • java的作用域不允许隐藏:较大作用域的变量不能再较小作用域中被再次定义。
  • java.lang是默认导入到每个java文件中。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,581评论 18 399
  • 三人有时候未必成虎,桑葚是桑树的果子,并不是所有的东西都可以想当然,但是常识呢? 比如,槐花是槐树开的花,榆钱是榆...
    June不开花阅读 374评论 0 0
  • 在财力资源有限的情况下,如何做好产品? 分享人王小雨是北大心理学专业,然后自学安卓,早期互联网技术人,是友盟的早期...
    Molly_0阅读 550评论 0 0
  • 2018年1月4日星期四 各位家长朋友,大家好,这里是“梓涵爸爸之声”。我们继续分享《叛逆不是孩子的错》。从今天起...
    悠着点打卡阅读 583评论 1 3
  • 我在芝加哥的汽车里听歌 我喜欢一首 helpisontheway 窗外的风絮飘扬 天色已晚,照映出城市的辉煌 罪犯...
    南的哲尾猫阅读 210评论 2 2