Java中类的组合概念
正所谓,道生一,一生二,二生三,三生万物,如果将二进制表示和运算看做一,将基本数据类型看做二,基本数据类型形成的类看做三,那么,类的组合以及下节介绍的继承则使得三生万物。
正所谓,道生一,一生二,二生三,三生万物,如果将二进制表示和运算看做一,将基本数据类型看做二,基本数据类型形成的类看做三,那么,类的组合以及下节介绍的继承则使得三生万物。
通过类实现自定义数据类型,封装该类型的数据所具有的属性和操作,隐藏实现细节,从而在更高的层次上(类和对象的层次,而非基本数据类型和函数的层次)考虑和操作数据,是计算机程序解决复杂问题的一种重要的思维方式。
编程中有时会遇到一个系统异常java.lang.StackOverflowError,栈溢出错误,要理解这个错误,我们需要理解函数调用的实现机制,本文就谈谈它的基本原理 ...
虽然循环看起来只是重复执行一些类似的操作而已,但它其实是计算机程序解决问题的一种基本思维方式,凭借循环(当然还有别的),计算机能够非常高效的完成人很难或无法完成的事情
条件执行总体上是比较简单的 ... if, else实际上会转换为这些跳转指令... switch可能会使用一种更为高效的方式,叫跳转表 ... 跳转表为什么会更为高效呢?
计算机之所以叫"计算"机就是因为发明它主要是用来计算的,"计算"当然是它的特长,在大家的印象中,计算一定是非常准确的。但实际上,即使在一些非常基本的小数运算中,计算的结果也是不精确的。
正整数相乘的结果居然出现了负数,要理解这个行为,我们需要看下整数在计算机内部的二进制表示...... 负数的二进制表示看上去可能比较奇怪和难以理解,但这种表示其实是非常严谨和正确的,是不是很奇妙?
本文深入浅出地讨论编码的本质,包括ASCII, ISO 8859-1, Windows 1252, GB2312, GBK, GB18030, BIG5, Unicode, UTF-8, UTF-16, UTF-32,编码转换,乱码的形成,以及如何从乱码中恢复。