Java核心技术破地方_Java核心技术笔记一

1. Java和C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性。

2. Java没有C++的多重继承,取而代之的是更简单的接口概念。

3. 从一开始Java就设计能防范各种攻击,包括:运行时堆栈溢出、破坏自己的进程空间之外的内存、未经授权的读写文件。

4. javac程序是Java编译器,将java文件编译成class文件。java程序启动Java虚拟机,执行class文件中的字节码。

5. Java区分大小写。

6. 8中基本数据类型,4种整型、2种浮点型、1种布尔型、1种字符型。浮点数值采用二进制表示,而二进制无法准确表示十分之一,就像十进制无法准确表示三分之一一样。如需准确表示,请用BigDecimal。

遗留问题:char和bool以及unicode各占用多少字节?

7. 有些处理器使用80位浮点寄存器,这样在计算时会和64位计算机上结果不一样。可以将类标记为 strictfp,这将使类强制使用严格浮点计算,确保所有计算结果一致。

8. 数值类型之间的强制类型转换丢失的是高位。例如 (byte)300 = 44。300的二进制位 100101100。后8位为44。

9. 关于字符串的实现,后续单开一篇。

10. Java中的多维数组,其实是数组的数组实现。

11. 传统结构化程序在解决问题是,首先是设计一系列过程(即算法)来求解问题,然后再考虑数据存储的方式。即先确定如何操作数据,再确定如何存储数据,以便于操作。故 算法 + 数据结构 = 程序。

而面向对象则反过来,先确定数据的存储,再确定算法。

12. Java对象都是在堆中构造的。

13. Java方法的参数总是按值传递。当参数是对象时,值为对象的地址。

14. 完整的描述一个方法,需要指出方法名和方法参数,这叫方法的签名。方法签名不包括返回值,因为有时候调用一个方法,可能只关心它的内在逻辑,并不关心其返回值。

15. 类的设计原则

一定要保证数据私有:绝对不要破坏封装性,数据表现形式很可能会变化,但数据的使用方式却不会经常发生变化。

一定要对数据初始化:最好不要依赖系统的默认值,而是显示的初始化所有数据。

不要在类中使用过多的基本类型:部分属性之间有强关联关系时,应该抽出独立为一个新对象。例如 省市县镇村 等字段,应独立为Address对象。

不是所有的属性都需要设置set、get方法,有时只需其中之一。

类的职责要单一。

类名、方法名和参数名 要能体现他们的职责,避免用单个字母代替。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值