Java 应用与开发 - Java 技术概述及开发环境Java 基本开发流程 Java 技术的特点 面向对象 平台无关性 分布式 可靠性 多线程 网络编程 编译和解释并存 由编译器将 Java 源程序编译成字节码文件,再 由运行系统解释执行字节码文件(解释器将字节码 再翻译成二进制码运行)。 大纲 Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 ���� Java 技术概述 Java 平台核心机制 平台核心机制 Java 开发环境 Java 基本开发流程 Java 程序的运行过程 Java源文件 字节码文件 .java .class 编译 执行 JVM Windows JVM Linux JVM Mac 将程序代码从一种指令转换为另一种指令 解释器将字节码指令逐条解释成所在底层平台 能够处理的指令格式,解释一条执行一条 JIT, Just-In-Time 传统 public static void main(String[] args) { 3 System.out.println("Hi,␣Java!"); 4 } 5 } 2. 将源文件编译为字节码文件 1 > javac HelloWorld.java && ls 2 HelloWorld.class HelloWorld.java 3. 运行程序 1 > java HelloWorld0 码力 | 33 页 | 1.17 MB | 1 年前3
Hello 算法 1.1.0 Java版基本数据类型以二进制的形式存储在计算机中。一个二进制位即为 1 比特。在绝大多数现代操作系统中,1 字节(byte)由 8 比特(bit)组成。 基本数据类型的取值范围取决于其占用的空间大小。下面以 Java 为例。 ‧ 整数类型 byte 占用 1 字节 = 8 比特,可以表示 28 个数字。 ‧ 整数类型 int 占用 4 字节 = 32 比特,可以表示 232 个数字。 表 3‑1 列举了 Java 中 默认值 整数 byte 1 字节 −27 (−128) 27 − 1 (127) 0 short 2 字节 −215 215 − 1 0 int 4 字节 −231 231 − 1 0 第 3 章 数据结构 hello‑algo.com 55 类型 符号 占用空间 最小值 最大值 默认值 long 8 字节 −263 263 − 1 0 浮点数 float 4 字节 1.175 × 10−38 10−38 3.403 × 1038 0.0f double 8 字节 2.225 × 10−308 1.798 × 10308 0.0 字符 char 2 字节 0 216 − 1 0 布尔 bool 1 字节 false true false 请注意,表 3‑1 针对的是 Java 的基本数据类型的情况。每种编程语言都有各自的数据类型定义,它们的占用 空间、取值范围和默认值可能会有所不同。0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 Java版、hpstory、justin‑tse、krahets、night‑cruise、 nuomi1 和 Reanon 完成(按照首字母顺序排列)。感谢他们付出的时间与精力,正是他们确保了各语言代 码的规范与统一。 在本书的创作过程中,我得到了许多人的帮助。 ‧ 感谢我在公司的导师李汐博士,在一次畅谈中你鼓励我“快行动起来”,坚定了我写这本书的决心; ‧ 感谢我的女朋友泡泡作为本书的首位读者 基本数据类型以二进制的形式存储在计算机中。一个二进制位即为 1 比特。在绝大多数现代操作系统中,1 字节(byte)由 8 比特(bit)组成。 基本数据类型的取值范围取决于其占用的空间大小。下面以 Java 为例。 ‧ 整数类型 byte 占用 1 字节 = 8 比特,可以表示 28 个数字。 ‧ 整数类型 int 占用 4 字节 = 32 比特,可以表示 232 个数字。 表 3‑1 列举了 Java 中 默认值 整数 byte 1 字节 −27 (−128) 27 − 1 (127) 0 short 2 字节 −215 215 − 1 0 int 4 字节 −231 231 − 1 0 第 3 章 数据结构 hello‑algo.com 55 类型 符号 占用空间 最小值 最大值 默认值 long 8 字节 −263 263 − 1 0 浮点数 float 4 字节 1.175 × 10−380 码力 | 376 页 | 17.59 MB | 1 年前3
《Java 应用与开发》课程讲义 - 王晓东234 18.3 响应对象功能和方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 18.3.1 设置响应状态码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 18.3.2 设置响应头 . . . . . . . . . . . . 线程功能来进行多线程序设 计;Java 提供了多线程支持。 网络编程 Java 具有丰富的网络编程库。 编译和解释并存 由编译器将 Java 源程序编译成字节码文件,再由运行系统解释执行 字节码文件(解释器将字节码再翻译成二进制码运行)。 1.2 Java 平台核心机制 Java 技术栈如图1.2所示,程序的编译运行过程如图1.3所示。需要了解以下几个核 心概念: • Java 虚拟机 操作系统(Windows, Linux, Mac) 硬 件 图 1.2 Java 技术栈 Java源文件 字节码文件 .java .class 编译 执行 JVM Windows JVM Linux JVM Mac 将程序代码从一种指令转换为另一种指令 解释器将字节码指令逐条解释成所在底层平台 能够处理的指令格式,解释一条执行一条 图 1.3 Java 程序编译运行过程0 码力 | 330 页 | 6.54 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版基本数据类型以二进制的形式存储在计算机中。一个二进制位即为 1 比特。在绝大多数现代操作系统中,1 字节(byte)由 8 比特(bit)组成。 基本数据类型的取值范围取决于其占用的空间大小。下面以 Java 为例。 ‧ 整数类型 byte 占用 1 字节 = 8 比特,可以表示 28 个数字。 ‧ 整数类型 int 占用 4 字节 = 32 比特,可以表示 232 个数字。 表 3‑1 列举了 Java 中 整数 byte 1 字节 −27 (−128) 27 − 1 (127) 0 short 2 字节 −215 215 − 1 0 int 4 字节 −231 231 − 1 0 第 3 章 数据结构 www.hello‑algo.com 55 类型 符号 占用空间 最小值 最大值 默认值 long 8 字节 −263 263 − 1 0 浮点数 float 4 字节 1.175 × 10−38 10−38 3.403 × 1038 0.0f double 8 字节 2.225 × 10−308 1.798 × 10308 0.0 字符 char 2 字节 0 216 − 1 0 布尔 bool 1 字节 false true false 请注意,表 3‑1 针对的是 Java 的基本数据类型的情况。每种编程语言都有各自的数据类型定义,它们的占用 空间、取值范围和默认值可能会有所不同。0 码力 | 379 页 | 18.48 MB | 10 月前3
Java EE 企业应用系统开发 - HTTP 响应处理编程型、字 符编码和字节大小等信息。 O 常见响应头内容 1. 指示 HTTP 响应可以接收到的文档类型集:Accept 2. 告知客户可以接收的字符集:Accept-Charset 3. 响应的字符编码集:Accept-Encoding 4. 响应体的 MIME 类型:Content-Type 5. 响应体的语言类型:Context-Language 6. 响应体的长度和字节数:Content-Length 注意 ▶ 文本类型响应要求响应头中包含 MIME 类型和字符编码集, 使用字符输出流向客户端发送响应体数据; ▶ 二进制数据类型响应需要在响应头中包含 MIME 类型,不 要设置字符编码集,使用字节输出流向客户端发送响应体 数据。 大纲 HTTP 响应的内容 HTTP 响应对象 响应对象功能和方法 接下来⋯ HTTP 响应的内容 HTTP 响应对象 响应对象功能和方法 大纲 HTTP 响应对象功能和方法 设置响应状态码 一般情况下,Web 开发人员不需要通过编程来改变响应状态码, Web 服务器会根据请求处理的情况自动设置状态码,并发送到 客户端浏览器。例如,当客户请求不存在的 URL 地址时,Web 服务器会自动设置状态码为 404,状态消息为 not found。 O public void setStatus(int code) 直接发送指定的响应状态码,没有设置状态消息,只有默认的状0 码力 | 26 页 | 575.28 KB | 1 年前3
Hello 算法 1.0.0b4 Java版,用于表示各种语言的字母、标点符号、甚至表情符号等。 ‧ 布尔类型 bool ,用于表示“是”与“否”判断。 所有基本数据类型都以二进制的形式存储在计算机中。在计算机中,我们将 1 个二进制位称为 1 比特,并规 定 1 字节(byte)由 8 比特(bits)组成。基本数据类型的取值范围取决于其占用的空间大小,例如: 3. 数据结构 hello‑algo.com 40 ‧ 整数类型 byte 占用 1 byte = false true false � 字符的占用空间大小取决于编程语言采用的字符编码方法,详见「字符编码」章节。 现代计算机 CPU 通常将 1 字节作为最小寻址内存单元。因此,即使表示布尔量仅需 1 位(0 或 1),它在内存中通常被存储为 1 字节。 那么,基本数据类型与数据结构之间有什么联系与区别呢?我们知道,数据结构是在计算机中组织与存储数 据的方式。它的主语是“结构”,而非“数据” 1. ASCII 字符集 「ASCII 码」是最早出现的字符集,全称为“美国标准信息交换代码”。它使用 7 位二进制数(即一个字节的 低 7 位)表示一个字符,最多能够表示 128 个不同的字符。这包括英文字母的大小写、数字 0‑9 、一些标点 符号,以及一些控制字符(如换行符和制表符)。 Figure 3‑6. ASCII 码 然而,ASCII 码仅能够表示英文。随着计算机的全球化,诞生0 码力 | 342 页 | 27.39 MB | 1 年前3
Hello 算法 1.0.0b5 Java版,用于表示各种语言的字母、标点符号、甚至表情符号等。 ‧ 布尔类型 bool ,用于表示“是”与“否”判断。 基本数据类型以二进制的形式存储在计算机中。一个二进制位即为 1 比特。在绝大多数现代系统中,1 字节 (byte)由 8 比特(bits)组成。 基本数据类型的取值范围取决于其占用的空间大小。下面以 Java 为例。 ‧ 整数类型 byte 占用 1 byte = 8 bits ,可以表示 28 在内的 Unix 64 位操作系统。 ‧ 字符 char 的大小在 C 和 C++ 中为 1 字节,在大多数编程语言中取决于特定的字符编码方法,详见“字 符编码”章节。 ‧ 即使表示布尔量仅需 1 位(0 或 1),它在内存中通常被存储为 1 字节。这是因为现代计算机 CPU 通常 将 1 字节作为最小寻址内存单元。 那么,基本数据类型与数据结构之间有什么联系呢?我们知道,数据结构是在计算机中组织与存储数据的方 ASCII 字符集 「ASCII 码」是最早出现的字符集,全称为“美国标准信息交换代码”。它使用 7 位二进制数(即一个字节的 低 7 位)表示一个字符,最多能够表示 128 个不同的字符。如图 3‑6 所示,ASCII 码包括英文字母的大小写、 数字 0 ~ 9、一些标点符号,以及一些控制字符(如换行符和制表符)。 图 3‑6 ASCII 码 然而,ASCII 码仅能够表示英文。随着计算机的全0 码力 | 376 页 | 30.69 MB | 1 年前3
Java 应用与开发 - Java 内存模型与分配机制Survivor 新生代 Old Space 老年代 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 程序运行过程会涉及的内存区域 程序计数器 当前线程执行的字节码的行号指示器。 栈 保存局部变量的值,包括:用来保存基本数据类型的值; 保存类的实例,即堆区对象的引用(指针),也可以用来 保存加载方法时的帧。(Stack) 堆 用来存放动态产生的数据,如 new 享该类的方法,并不是每创建一个对象就把成员方法复制一次。 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 程序运行过程会涉及的内存区域 程序计数器 当前线程执行的字节码的行号指示器。 栈 保存局部变量的值,包括:用来保存基本数据类型的值; 保存类的实例,即堆区对象的引用(指针),也可以用来 保存加载方法时的帧。(Stack) 堆 用来存放动态产生的数据,如 new 享该类的方法,并不是每创建一个对象就把成员方法复制一次。 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 Java 程序运行过程会涉及的内存区域 程序计数器 当前线程执行的字节码的行号指示器。 栈 保存局部变量的值,包括:用来保存基本数据类型的值; 保存类的实例,即堆区对象的引用(指针),也可以用来 保存加载方法时的帧。(Stack) 堆 用来存放动态产生的数据,如 new0 码力 | 44 页 | 818.30 KB | 1 年前3
Java 应用与开发 - Java 数组和字符串± sample.string.StringConcatSample.java 反编译 Java 类文件: 1 javap -c StringConcatSample -c 表示生成 JVM 字节码。 ▶ 我们并没有主动使用 StringBuilder 类,但编译器自作主张 的使用了它,因为它更高效。 ▶ StringBuilder 用于创建最终的 String,为每个字符串调用 StringBuilder ± sample.string.StringConcatSample.java 反编译 Java 类文件: 1 javap -c StringConcatSample -c 表示生成 JVM 字节码。 ▶ 我们并没有主动使用 StringBuilder 类,但编译器自作主张 的使用了它,因为它更高效。 ▶ StringBuilder 用于创建最终的 String,为每个字符串调用 StringBuilder0 码力 | 33 页 | 620.46 KB | 1 年前3
共 29 条
- 1
- 2
- 3













