03 2017 档案

摘要:sleep和wait的区别有: 1,这两个方法来自不同的类分别是Thread和Object 2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得敏感词线程可以使用同步控制块或者方法。 3,wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可 阅读全文
posted @ 2017-03-25 12:52 众里寻他壹贰度 阅读(213) 评论(0) 推荐(0)
摘要:问题: 返回将一维数组向右旋转K个位置的结果。比如,一维数组{1,2,3,4,5},k=2时,返回结果是{4,5,1,2,3}。要求常数级空间复杂度,允许修改原有数组 看到一个比较巧妙的方法,将数组反转三次,第一次反转整个数组,第二次反转数组的前K个数,第三次反转数组剩下的数。 每次反转的时间为O( 阅读全文
posted @ 2017-03-22 17:15 众里寻他壹贰度 阅读(286) 评论(0) 推荐(0)
摘要:有一条楼梯,总共有9级阶梯,从地面上出发,如果每次可以走3级,4级或6级楼梯,问共有几种方案可以走到? 解决方案一: 第一个方法比较简单,很容易想到,就是用深度搜索,我们可以反过来,把情况看出从第9层阶梯走到路面,把所有可以出现的情况都列出来,然后判断是否能到达第9级阶梯,如果可以,就把方案数加一。 阅读全文
posted @ 2017-03-22 15:44 众里寻他壹贰度 阅读(1345) 评论(1) 推荐(1)
摘要:面向对象的五大基本原则 单一职责原则(SRP)开放封闭原则(OCP) 里氏替换原则(LSP) 依赖倒置原则(DIP) 接口隔离原则(ISP) 单一职责原则(Single-Resposibility Principle):一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内 阅读全文
posted @ 2017-03-21 21:56 众里寻他壹贰度 阅读(147) 评论(0) 推荐(1)
摘要:上面代码中Checket构造函数中引用了super();但是super();不是放在构造函数的首位,如果没有放在构造函数第一行的话,那么在super之前的语句,肯定是为了满足自己想要完成某些行为的语句,但是又用了super继承父类的构造方法,那么以前所做的修改就都回到以前,也就是恢复到父类的构造器方 阅读全文
posted @ 2017-03-21 12:50 众里寻他壹贰度 阅读(730) 评论(0) 推荐(0)
摘要:代码中我们让B继承了A,并且B中和A中一样有相同变量str和get方法 然后我们执行: A a = new B();System.out.println(a.str);a.get(); 最终输出: 可以看出,我们用一个A类型的变量指向B类型的实例时,如果调用变量,则会根据变量的类型来决定是调用父类还 阅读全文
posted @ 2017-03-20 17:29 众里寻他壹贰度 阅读(4491) 评论(0) 推荐(0)
摘要:java中的null值是可以强制转换为任何java类型的,就像(String)null是合法的,但null强转后的是无效对象,其返回值还是为null,但是例如下面这种情况 输出为 原因是static方法的调用是和类名绑定的,不借助对象进行访问,所以能够正确输出,如果没有加上static修饰,就会报空 阅读全文
posted @ 2017-03-20 17:08 众里寻他壹贰度 阅读(4669) 评论(0) 推荐(0)
摘要:刚看到的一道面试题 输出结果是 解析: 当new Z();的时候,因为Z继承自X,所以会先构造X,进入X类先初始化全局变量,所以运行Y b = new Y();,调用Y的构造函数输出“Y”, 然后执行X的构造函数,输出“X”,构造完X后,会构造Y,先初始化Z的全局变量,执行Y y = new Y() 阅读全文
posted @ 2017-03-20 17:00 众里寻他壹贰度 阅读(228) 评论(0) 推荐(0)
摘要:刚刚看到的一道面试题,第一眼看很简单,就一个三元运算符,如果你觉得输出的结果是9,那就中了这道题的陷阱了,注意下“((a<5) ? 10.9 : 9)”,里面有一个10.9,而后面跟了一个9,这是java就会根据运算符的精确度类型进行自动类型转换,由于前面有一个10.9,所以后面的9会被转换成9.0 阅读全文
posted @ 2017-03-19 16:04 众里寻他壹贰度 阅读(2322) 评论(1) 推荐(3)
摘要:输出 解析:i++和++i使用的不同点在于一个是程序完毕后的自增,一个是程序开始前的自增。 “i=i++ + ++i”执行的过程是先执行i++,但是i自增1操作是稍后才执行,所以此时i还是0,然后执行++i,++i后i的值是1,执行完++i后要补增i++,所以此时i的值实际上是2,0+2=2,然后赋 阅读全文
posted @ 2017-03-19 15:51 众里寻他壹贰度 阅读(4277) 评论(2) 推荐(1)