java核心技术卷1基础知识整理

本文详细介绍了Java编程的基础,包括Java的概述、程序设计、对象与类、继承、接口、并发等内容。强调了Java的强类型特性、内存安全、网络支持、面向对象设计、并发处理等核心概念,同时探讨了与C++、C#的区别,以及在并发执行和线程管理方面的特点。
摘要由CSDN通过智能技术生成

1.java概述

1.Java 剔除了 C++ 中许多很少使用、 难以理解、 易混淆的特性, 在目前看来, 这些特性带来的麻烦远远多于其带来的好处。
2.Java 有一个丰富的例程库, 用于处理像 HTTP 和 FIT 之类的 TCP/IP 协议。Java 应用
程序能够通过 URL 打开和访问网络上的对象, 其便捷程度就好像访问本地文件一样。
3.Java 和 C++ 最大的不同在于 Java 采用的指针模型可以消除重写内存
和损坏数据的可能性。

4.Java 编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
5.Java 适用于网络 / 分布式环境。 为了达到这个目标, 在安全方面投入了很大精力。 使用 Java 可以构建防病毒、 防篡改的系统。从一开始,Java 就设计成能够防范各种攻击,其中包括:运行时堆栈溢出。 如蠕虫和病毒常用的攻击手段。破坏自己的进程空间之外的内存。未经授权读写文件。
6.解释虚拟机指令肯定会比全速运行机器指令慢很多。 然而, 虚拟机有一个选项,可以将执行最频繁的字节码序列翻译成机器码,这一过程被称为即时编译。
7.与 C 和 C++ 不同,Java 规范中没有“ 依赖具体实现” 的地方,基本教据类型的大小以及有关运算都做了明确的说明。(例如,Java 中的 int 永远为 32 位的整数,而在 C/C++ 中, int 可能是 16 位整数、 32 位整数, 也可能是编译器提供商指定的其他大小)。
8.Java 成功地推出后不久, 微软就发布了一个叫做 J++ 的产品,它与 Java 有几乎相同的编程语言以及虚拟机,现在, 微软不再支持 J++, 取而代之的是另一种名为 C# 的语言。C# 与 Java 有很多相似之处, 然而使用的却是完全不同的虚拟机。
9.JavaScript 和Java 几乎没有任何关系。

2.java程序设计

1.根据 Java语言规范, main 方法必须声明为 public。
2.System.out 还有一个 print 方法, 它在输出之后不换行。 例如, System.out.print
“( Hello”)打印“ Hello” 之后不换行。
3.在 Java 中,/* / 注释不能嵌套 „ 也就是说, 不能简单地把代码用 / 和 */ 括起来
作为注释, 因为这段代码本身可能也包含一个 */ 。
4.Java 是 -种强类型语言。这就意味着必须为每一个变量声明一种类型: 在 Java 中,共有 8
种基本类型 , 其中有 4 种整型、2 种浮点类型、 1 种用于表示 Unicode 编码的字符
单元的字符类型 char 和 1 种用于表示真值的 boolean 类型。
5.Java 没有任何无符号(unsigned) 形式的 int、 long、 short 或 byte 类型。
6.可以使用十六进制表示浮点数值。例如,0.125=2^{-3} 可以表示成 0x1.0p-3。在十六
进制表示法中, 使用 p 表示指数, 而不是 e。 注意, 尾数采用十六进制, 指数采用十进
制。指数的基数是 2, 而不是 10。

7.常量 Double.POSITIVE_INFINITY、Double.NEGATIVE_INFINITY 和 Double.NaN
( 以及相应的 Float 类型的常量)分别表示这三个特殊的值(正无穷大,负无穷大,NaN, 但在实际应用中很少遇到。特别要说明的是, 不能检测一个特定值是否等于 Double.NaN,然而, 可以使用Double.isNaN 方法。
8.char 类型的值可以表示为十六进制值,其范围从 \u0000 到 \Uffff。
9.所有转义序列都可以出现在加引号的字符字面量或字符串中。 例如,’\02122’ 或 "Hello\n”。 转
义序列 \u还可以出现在加引号的字符常量或字符串之外(而其他所有转义序列不可以)。 例
如:public static void main(String\u005B\ u005D args) 就完全符合语法规则, \u005B 和 \u005D 是 [ 和 ] 的编码。

10.Unicode 转义序列会在解析代码之前得到处理。 例如,"\u0022+\u0022” 并不是一个由引号(U+0022) 包围加号构成的字符串。 实际上, \u0022 会在解析之前转换为 ", 所以说这是一个空串。
11.更隐秘地, 一定要当心注释中的 \u。注释 // \u00A0 is a newline 会产生一个语法错误, 因为读程序时 \u00A0 会替换为一个换行符。类似地, 下面这个注释:
// Look inside c:\users
也会产生一个语法错误, 因为 \u 后面并未跟着 4 个十六进制数。

12.在 1991 年发布了 Unicode 1.0, 当时仅占用 65 536 个代码值中不到一半的部分。在设计 Java 时决定采用 16 位的 Unicode 字符集,这样会比使用 8 位字符集的程序设计语言有很大的改进。十分遗憾, 经过一段时间, 不可避免的事情发生了。Unicode 字符超过了 65 536 个,其主要原因是增加了大量的汉语、 日语和韩语中的表意文字。现在, 16 位的 char 类型已经不能满足描述所有 Unicode 字符的需要了。
13.UTF-16 编码采用不同长度的编码表示所有 Unicode 码点。在基本的多语言级别中,每个字符用 16 位表示,通常被称为代码单元(code unit) ; 而辅助字符采用一对连续的代码单元进行编码。、
14.在 Java 中,char 类型描述了 UTF-16 编码中的一个代码单元。强烈建议不要在程序中使用 char 类型, 除非确实需要处理 UTF-16 代码单元。最好将字符串作为抽象数据类型处理。
15.变量名必须是一个以字母开头并由字母或数字构成的序列。需要注意,与大多数程序设计语言相比,Java 中“ 字母” 和“ 数字” 的范围更大。字母包括 ’A’ ~ ’Z’、 ’a’~ ’z’、‘_’,‘$’或在某种语言中表示字母的任何 Unicode 字符。
16.变量名中所有的字符都是有意义的,并且大小写敏感。变量名的长度基本上没有限制。
17.如果想要知道哪些 Unicode 字符属于 Java 中的“ 字母”, 可以使用 Character 类的isJavaldentifierStart 和 isJavaldentifierPart 方法来检查。
18.尽管 $ 是一个合法的 Java 字符, 但不要在你自己的代码中使用这个字符。 它只用
在 Java 编译器或其他工具生成的名字中。

19. const 是 Java 保留的关键字, 但目前并没有使用。 在 Java 中

回答: "Java核心技术一"是一本介绍Java编程语言的教材。它涵盖了Java的基本语法、面向对象编程、异常处理、多线程等核心概念和技术。这本书通过详细的示例和解释,帮助读者理解和掌握Java编程的基本原理和技巧。它还介绍了Java编程的一些特点和优势,如Java的丰富的例程库、指针模型的安全性、编译器的静态检查、适用于网络和分布式环境的特性等。此外,书中还介绍了Java的一些特殊规则和用法,如Java总是采用按值调用、静态初始化块、导入语句等。总的来说,"Java核心技术一"是一本全面介绍Java编程语言的教材,适合初学者和有一定经验的开发人员阅读和学习。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [java核心技术1基础知识整理](https://blog.csdn.net/qq_39748316/article/details/122986815)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [java核心技术I](https://blog.csdn.net/buxiangmafan/article/details/128043859)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值