标签:
服务器端的编程可以参考另一本书《企业Java编程》(Thinking in Enterprise Java)。
基本型别 | 大小 | 最小值 | 最大值 | 默认值 |
boolean | ----- | ----- | ------ | false |
char | 16-bit | Unicode 0 | Unicode 2^16-1 | \u0000(null) |
byte | 8-bit | -128 | +127 | 0 |
short | 16-bit | -2^15 | +2^15-1 | 0 |
int | 32-bit | -2^31 | +2^31-1 | 0 |
long | 64-bit | -2^63 | +2^63-1 | 0L |
float | 32-bit | IEEE754 | IEEE754 | 0.0f |
double | 64-bit | IEEE754 | IEEE754 | 0.0d |
数值类型的都有正负之分。
boolean类型所占的空间没有明确的制定。
1.java的数值是有符号的,不要忘了还要考虑负数
判断一个数是不是奇数,
if( i % 2 == 1){
...
}
如果i是负数,i%2 的结果将是-1.应该是写成:
if( i%2 ! =0){
...
}
2.如果使用小数,默认的将是double类型,要使用float类型,应该显示的指明小数的类型
float f = 1.24f;
3.小数都可能会有精度的丢失,使用float和double做小数计算时可能都会碰到这样的问题,如果就是需要精确地计算,可以考虑使用BigDicemal,整型对应的是BigInteger。这里要用的是new BigDicemal(String)而不能用new BigDicemal(double),否则在构造BigDicemal之前就已经丢失了精度,这是需要注意的。
System.out.println(2.0f - 1.1f);
System.out.println(2.0d - 1.1d);
包装类型包括:Integer 、Long、Short、Byte、Character、Double、Float、Boolean、BigInteger、BigDecmail
其中BigInteger、BigDecimal没有相对应的基本类型,主要应用于高精度的运算,BigInteger 支持任意精度的整数,BigDecimal支持任意精度带小数点的运算。
使用BigInteger、BigDecimal不会产生精度丢失的问题,而是用long,float时都需要考虑精度丢失的问题。可能不是很大的数值的计算都会有精度丢失的问题。
为什么有了基本类型还需要包装类型?很多时候方法的参数是一个对象而非基本类型,例如ArrayList的add方法的参数就是对象。
缓存是一种典型的空间交换时间的方案,数据库频繁读取时需要考虑缓存,最基本的思路就是Map。
使用缓存需要考虑的问题:
1.数据需要缓存多久
2.缓存数据很真实数据的一致性,当真实数据更新或删除时
3.缓存的并发控制,增删改查在多线程的环境下需要考虑
java.lang包默认会导入到每个Java文件中,所以lang包下的类默认都可以直接使用。
rt.jar包也会自动加载,jre/lib下的jar包也会自动加载。
标签:
原文地址:http://www.cnblogs.com/lnlvinso/p/4340801.html