为什么在 Java 中128==128返回false,而127==127返回true呢? 有这样一段代码 Integer a=127; Integer b=127; System.out.println(a==b); Integer c=128; Integer d=128; System.out.println(c==d); 运行结果为: true false 究竟是为什么呢? 如果两个引用指向相同的对象,它们在 == 表达式中是相等的:如果两个引用指向不同的对象,尽管它们拥有相同的内容即值,…
在jvm规范中,每个类型都有自己的常量池.常量池是某类型所用常量的一个有序集合,包括直接常量(基本类型,String)和对其他类型.字段.方法的符号引用.之所以是符号引用而不是像c语言那样,编译时直接指定其他类型,是因为java是动态绑定的,只有在运行时根据某些规则才能确定具体依赖的类型实例,这正是java实现多态的基础. 为了对常量池有更具体的认识,下面引用几个例子: 1,常量池中对象和堆中的对象 public class Test2 { public static void main(Str…
在处理js代码判断真假时经常会这么写. 但fun()可能得到的是数字0,这可不是表示的没有值,但是!js中的数字0就是false,非0就是true. 于是0就被无情的当做false了. 已经被这个坑过N回了,做个记录,以防再被坑. 自己碰到的 if(!$('#id').length){} 从上面我们可以看到,0是false,非0是true 那么我们来看上面的代码 1,if只有是true的时候才能进入方法体, 2,true就是非false 3,就是 非0, 4,那么$('#id').length就…
在处理js代码判断真假时经常会这么写. var vale = fun();//从某个地方获取的值. if(!value){ 进入这里表示value为false或不存在 }但fun()可能得到的是数字0,这可不是表示的没有值,但是!js中的数字0就是false,非0就是true. 于是0就被无情的当做false了.…
如果你运行如下代码: 1 2 3 4 Integer a = 1000, b = 1000;  System.out.println(a == b);//1 Integer c = 100, d = 100;  System.out.println(c == d);//2 你会得到以下运行结果: 1 2 false true 我们知道,如果两个引用指向同一个对象,那么==就成立:反之,如果两个引用指向的不是同一个对象,那么==就不成立,即便两个引用的内容是一样的.因此,结果就会出现false.…
偶然在群里看到有人问到大数据查询,自己也就想了小艾改如何解决,从从1000万个随机数中查找出相同的10万个随机数花的最少时间, 谈到效率,自然是hashmap莫属. import java.util.HashMap;import java.util.Map;import java.util.Random; public class dataTest { private static final int [] datas = new int [1000 * 10000]; //1000万个随机数…
1.首先 sleep 方法是Thread类中的静态方法,他的作用是使当前线程暂时睡眠指定的时间,可以不用放在synchronized方法或者代码块中,但是 wait 方法是Object类的方法,它是使当前线程暂时放弃监视对象的使用权进行等待,必须要放在synchronized方法或者代码块中 2.调用线程的sleep 方法当前线程会让出CPU给其他线程执行,但不会释放锁,依然占用锁的使用权,但是 wait方法会释放锁. 3.sleep方法到睡眠指定时间后会自动回复到可运行状态,但是wait方法需…
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public static void main(String[] args) { int sum = 0; // 保存总和 // 设置循环初始化条件current,同时此变量作为累加操作使用 // 每次执行循环体前都要进行循环判断(current <= 100) // 循环体执行完毕后会自动执行“current…
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public static void main(String[] args) { int sum = 0; // 保存总和 int current = 1; // 循环的初始化条件 while (current <= 100) { // 循环结束条件 sum += current; // 累加 current+…
java中的 & &&两个运算符 (1).&在java中称做: 逻辑与 判断boolean类型,只有两者都是true时,才会返回true 举例: boolean b1=false; boolean b2=true; boolean b3=b1&b2; 此时b3为false (2).&&在java中称做: 短路与 也是只有都为true时,才会放回true; 举例: boolean b1=false; boolean b2=true; boolean b…