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).继承 ...
随机推荐
- 修复wecenter移动版description首页描述一样问题
因网友要求,wecenter移动版description首页描述一样,所以在此写个教程,希望帮助大家! 修改方法 打开app/m/main.php TPL::output('m/question'); ...
- 前端性能----从输入URL开始到返回数据的中间经历过程
这是一个古老的问题,即我们输入URL后按下回车到网页测呈现都发生了什么? 首先来看一张图: 表示了数据从源端到目的端的封装和拆解过程 预处理URL URL格式: 以http为例: http://ww ...
- BlocksKit block从配角到主角—oc通往函数式编程之路--oc rx化?
BlocksKit 对 oc语言的功能层.UI层进行了大量的适配,使得oc能够复合函数式编程的风格: 是oc语言的函数式编程风格改造: 将函数式风格的BlocksKit API解释为原生的功能调用: ...
- Eclipse中将java类打成jar包形式运行
记录一次帮助小伙伴将java类打成jar包运行 1.创建java project项目 file > new > project > java project 随便起一个项目名称,fi ...
- Ansible自动部署tomcat
1.首先准备3台机器 ansible机器:192.168.52.34 目标主机:192.168.52.35 目标主机:192.168.52.36 2.关闭防火墙 [root@localhost ~]# ...
- Docker网络配置、Docker部署分布式项目
目标 1.Docker网络配置 2.Docker部署SpringCloud项目 Docker网络配置 Docker网络模式介绍 Docker在创建容器时有四种网络模式:bridge/host/cont ...
- 文件夹上传控件webupload插件
我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 这次项目的需求: 支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,i ...
- H5制作显示轮播图的方法Swiper
1.需要引入Swiper插件 <!-- swiper插件 --> <link rel="stylesheet" href="https://unpkg. ...
- learning shell monitor prog function
[Purpose] Shell script monitor prog function [Eevironment] Ubuntu 16.04 bash env [ ...
- 使用haproxy 2.0 prometheus metrics 监控系统状态
haproxy 2.0 已经发布一段时间了,提供内部直接暴露的prometheus metrics 很方便 ,可以快速的监控系统的状态 以下是一个简单的demo 环境准备 docker-compose ...