java核心技术(卷一)
一,java基本程序设计结构:

1,在网页中运行的 Java 程序称为 applet。 要使用 applet ,需要启用 Java 的 Web 浏览器执行字节码。
2,jdk安装目录下的 src.zip 文件中包含了所有公共类库的源代码。 要想获得更多的源代码 ( 例如 :编译器 、 虚拟机 、 本地方法以及私有辅助类 ),请访问网站 :http://jdk8.java.net。
3, 浮点数值不适用于无法接受舍入误差的金融计算中。例如,命令System.out.println(2.0-1.1)将打印出0.8999999999999999,而不是人们想象的0.9。这种舍入误差的主要原因是浮点数值采用二进制系统表示,而在二进制系统中无法精确地表示分数1/10。这就好像十进制无法精确地表示分数1/3—样。
4, 在Java中,-共有8种基本类型(primitivetype),其中有4种整型【byte 1个字节,short 2个字节,int 4个字节,long 8个字节】、2种浮点类型【float 4个字节,double 8个字节】、1种用于表示Unicode编码的字符单元的字符类型char和1种用于表示真值的boolean类型。基本类型和引用类型都保存在栈中,但是基本类型保存的是实际值,而引用类型保存的是一个对象的内存地址。基本类型是内建在Java语言中的特殊的数据类型,它们不是继承自Object对象,所以int等基本类型不属于Object 【参考1】【参考2:官方教程说明】。平常Object o = (int) 3;不会报错,这是用了自动装箱功能。但是泛型中类型参数不能为基本类型,因为编译器类型擦除时会把泛型类型参数(假设此类型参数没有边界)设置为Object,而Object不能用于存储基本类型的值(没有用自动装箱功能)。
4.1,float类型的有效位数(精度)为6~7位。double类型的有效位数为15位。
5,码点(code point)表示 与一个编码表(如Unicode编码)中的某个字符对应的代码值。在Unicode编码表标准中,码点采用十六进制书写,并加上前缀U+,例如 U+0041 就是拉丁字母 A 的码点。Unicode的码点可以分为17个代码平面(code plane)。第一个代码平面,有时叫第零个代码平面,叫做 基本多语言平面(basic multimultilingual plane),码点从U+0000 到 U+FFFF。其余的16个平面从U+10000 到 U+10FFFF。 第一个平面里包含经典的Unicode代码,其余16个包括一些辅助字符。 UTF-16是Unicode的一种使用方式,UTF即Unicode Transfer Format,即把Unicode转换为某种格式的意思。UTF-16编码采用不同长度的编码来表示所有的Unicode码点。在Unicode的基本多语言平面中,UTF-16将Unicode中的每个字符用2个字节16位来表示,通常被称为 代码单元(code unit,又称码元)。而对于其他16个平面中的辅助字符,UTF-16采用一对连续的代码单元进行编码,即用2个(2字节的)码元表示。为了能够区分出某个码元是一个字符的编码(基本多语言平面中的字符,即单16位)还是一个辅助字符(即双16位)的第一或第二部分,UTF-16编码规定以54开头(110110)的一个码元表示辅助字符的前16位即第一部分,以55开头(110111)的一个码元表示辅助字符的后16位,即第二部分。其他开头的码元则是单16位的表示字符的码元。由于第零平面的字符有0x0000-0xffff共65536个字符,刚好可以用16位表示完,如此肯定也有以54开头的单16位编码。实际上,Unicode为了配合UTF-16规定了 以54开头的区间(即110110 开头的16位区间,范围从D800-DBFF,共1024个字符位置),和以55开头的区间(范围从DC00~DFFF共1024个字符位置)不允许分配任何字符。所以实际上Unicode第零平面表示的字符共65536-2048 个。参考文章:https://blog.csdn.net/wusj3/article/details/88641084。 Java中的char类型描述了UTF-16编码中的一个码元,一个码点可能包含一个码元也可能包含2个码元(例如:
java核心技术(卷一)的更多相关文章
- java核心技术卷一
java核心技术卷一 java基础类型 整型 数据类型 字节数 取值范围 int 4 +_2^4*8-1 short 2 +_2^2*8-1 long 8 +_2^8*8-1 byte 1 -128- ...
- 对《Java核心技术卷一》读者的一些建议
<Java核心技术卷一>是唯一可以和<Java编程思想>媲美的一本 Java 入门书.单从技术的角度来看,前者更好一些.但上升到思想层面嘛,自然后者更好,两者的偏重点不同. 思 ...
- 【阅读笔记】Java核心技术卷一 #0
这是一篇备忘性质的读书笔记,仅记录个人觉得有用的知识点 本文作为一个目录索引,部分章节跳过 吐槽:此书中文翻译有不少地方不太通顺,这种情况我要把英文版对应的部分也读一遍才能明白(说实话,英文里的从句表 ...
- 读《java核心技术卷一》有感
过去一个多月了吧.才囫囵吞枣地把这书过了一遍.话说这书也够长的,一共706页.我从来不是个喜欢记录的人,一直以来看什么书都是看完了就扔一边去,可能有时候有那么一点想记录下来的冲动,但算算时间太紧,很多 ...
- Java系列:《Java核心技术 卷一》学习笔记,chapter11 记录日志
11.5 日志记录 可以通过Loger.getGlobal().info(xxxx);的方式来记录log. 11.5.2 高级日志 1)通过一个包名来 创建一个新的日志记录器. private sta ...
- 《Java核心技术卷一》笔记 多线程同步(底层实现)
一.锁的基本原理 多个线程同时对共享的同一数据存取 ,在这种竞争条件下如果不进行同步很可能会造成数据的讹误. 例如:有一个共享变量int sum=0, 一个线程正调用 sum+=10,另一个线程正好也 ...
- 《Java核心技术卷一》笔记 多线程
有时,我们需要在一个程序中同时并行的处理多个任务,如播放器一边要播放音乐同时还要不断更新画面显示,或者是一边执行耗时任务,UI还能一边继续响应各种事件.还有的时候,一个任务需要很长时间才能完成,如果分 ...
- java核心技术卷一笔记(1)
jdk是java开发工具包,里面包含了javac.jar.javadoc.java等工具,可以在bin目录中找到.有一个文件夹是jre,即jdk也包含了java运行环境.jre可单独安装,只是运行ja ...
- Java核心技术卷一 · 笔记(2)
目录 1.多态.动态绑定 2.覆盖 3.阻止继承:final 类和方法 4.抽象类(abstract修饰) 5. 4 个访问修饰符: 6.toString() 7.对设计继承关系很有帮助的建议 8.接 ...
- Java核心技术卷一 · 笔记(1)
目录 1.java的关键术语 2.==和equals 3.空串与 Null 串 4.构建字符串 5.封装 6.对象的三个主要特性 7.依赖(dependence).聚合(aggregation).继承 ...
随机推荐
- 201671010438王奕晗实验十四 团队项目评审&课程学习总结
个人学习总结博客 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 作业学习目标 完成个人软件心得总结 一.结合本学期课程学习内容,对比<实验一 软件工 ...
- 金生芳-实验十四 团队项目评审&课程学习总结
实验十四 团队项目评审&课程学习总结 项目 内容 这个作业属于哪个课程 [教师博客主页链接] 这个作业的要求在哪里 [作业链接地址] 作业学习目标 (1)掌握软件项目评审会流程(2)反思总结课 ...
- discuz x3.3后台admin.php防止直接恶意访问
功能说明:admin.php是discuz默认的后台地址,正常情况下可以直接访问,为了防止某些恶意访问的情况,可以修改以下内容进行安全性能提升. 适用版本:Discuz!x1-x3.3 具体实施方案: ...
- SpringBoot中实现Spring容器中注入类型相同但名不同Bean
@Bean(autowire = Autowire.BY_NAME,value = "kaptchaProducer") public Producer kaptchaProduc ...
- Dubbo架构及原理
1.Dubbo:Dubbo是一个分布式服务框架,SOA治理方案. 主要功能有:高性能的NIO通讯以及协议集成.服务动态寻址与路由.软负载均衡与容错.依赖分析与降级 主要特点: 连通性:provider ...
- (知识点4)C++ 中vector
1.定义vector<vector<int>> M; 2.添加元素这里是vector的嵌套使用,本质是vector元素里的每个元素也是vector类型,所以抓住本质来添加元素就 ...
- 【C/C++】变量
变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储.变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表. 变量声明向编译器保证变量以给定的类型和名称存在,这样编译器在不需要 ...
- 11.06水题Test
11.06水题比赛 题目 描述 做法 \(BSOJ5150\) 求\(n\)个数两两之差的中位数 二分中位数,双指针判定\(\le x\)差值对数 \(BSOJ5151\) 求树的最大匹配和其个数 来 ...
- [教程]Ubuntu16.04安装TeX Live
[教程]Ubuntu16.04安装TeX Live step 1 戳这里下载镜像 (只需要下载texlive.iso) 在终端输入 sudo apt-get install perl-tk step ...
- Spring Could Stream 基本用法
Spring Cloud Stream是一个建立在Spring Boot和Spring Integration之上的框架,有助于创建事件驱动或消息驱动的微服务. 通过它可以更方便的访问消息服务,如消费 ...