锁定老帖子 主题:本人java笔试常见题目小结
精华帖 (0) :: 良好帖 (3) :: 新手帖 (1) :: 隐藏帖 (12)
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-26
主题:本人java笔试常见题目小结
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (7) 可怜的孩子………… |
|
返回顶楼 | |
发表时间:2010-03-26
楼主的subString(String str, int len)方法小弟没看懂,如果我想要得到subString(“我ABC汉DEF”, 7)
不知可否得到"我ABC汉" 楼主代码有问题,只考虑偶数了 |
|
返回顶楼 | |
发表时间:2010-03-26
xiao1230 写道 楼主的subString(String str, int len)方法小弟没看懂,如果我想要得到subString(“我ABC汉DEF”, 7)
不知可否得到"我ABC汉" 改为这个应该可以 return str.substring(0, (count%2==0)?(len-count/2):(len-count/2-1)); |
|
返回顶楼 | |
发表时间:2010-03-27
引用 singleton和低性能有必然的联系吗?如果用singleton对象对内存不敏感,用eager initialization策略对性能有什么损耗?
单例本身就是个低性能的做法 是和多例相比的 而多例按上面说是空间换时间的 单例写法本来就分懒汉和饿汉, 或者其他 , 这位童鞋单单用饿汉就能反驳单例性能低的论点吗? 显然用部分是反驳不了整体的 而饿汉和不使用单例两个非要比性能上的差异 我看还是不要比了 不同场合结果是不同的 而且方向也错了, 单例的结构是真正有用处的 而必须用单例的地方往往性能都不在主要考虑之内了 引用 懒汉和饿汉的使用按需求而定 而不是那点可怜的性能
引用 你这话不是很矛盾吗?既然认同lazy initialization策略有其适合的场合。为什么又在后面下绝对的结论,发贴本来就是大家讨论各种全面情况,对各种情况下有清楚的认识才能正确的选择。
这位童鞋, 我是看你们讨论的侧重点有点偏了 , lazy和不lazy, 不是单单因为lazy的初始化次数少而优先选他, 而是结合使用场景, 比如这个singleton是用来读取程序设置文件的, 而且有可能只读取1次或几次,那么 是否是懒汉没多大区别, 有些程序需要重启才能更新设置,用的大概就是懒汉式, 如果客户要求不要重启就能生效,那饿汉就比较合适了 这是应用场景优先的例子 引用 在java的信仰里 良好的结构美感永远高于对于性能的追求
这句话对于我来说是绝对的 如果你不赞同, 也不怕, 在这话前面加上"我" 就行了 单例本身这是结构优先的例子 为了某些场合的适用, 使用同步也是没问题的 但是用错场合了 就可能影响性能了 我发帖也是一家之言 希望不要对模式有误解 |
|
返回顶楼 | |
发表时间:2010-03-27
jmu 写道 显然用部分是反驳不了整体的
明明你先说单例是低性能的,我从来没有下结论,只说场合和优缺点,这话你自己反省比较适合。 引用 这位童鞋, 我是看你们讨论的侧重点有点偏了 , lazy和不lazy, 不是单单因为lazy的初始化次数少而优先选他, 而是结合使用场景, 比如这个singleton是用来读取程序设置文件的, 而且有可能只读取1次或几次,那么 是否是懒汉没多大区别, 有些程序需要重启才能更新设置,用的大概就是懒汉式, 如果客户要求不要重启就能生效,那饿汉就比较合适了
这是应用场景优先的例子 lazy初始化次数少又是怎么来的?没错,正式应用场景优先的,难道就没有性能也属于于应用场景关键因素的情况吗? 引用 在java的信仰里 良好的结构美感永远高于对于性能的追求 这句话对于我来说是绝对的 如果你不赞同, 也不怕, 在这话前面加上"我" 就行了 我并没有不赞同,但你藐视性能和随意下结论的态度,很有可能误导别人。 |
|
返回顶楼 | |
发表时间:2010-03-27
性能性能,性能差异到底有多大?量化一下!
|
|
返回顶楼 | |
发表时间:2010-03-27
很经典的题目~~~
|
|
返回顶楼 | |
发表时间:2010-03-27
我感觉应聘技术不是主要的
|
|
返回顶楼 | |
发表时间:2010-03-27
小朋友,这应该是你第一次面试经验吧.
|
|
返回顶楼 | |
发表时间:2010-03-28
yabo 写道 http://en.wikipedia.org/wiki/Singleton_pattern#The_solution_of_Bill_Pugh
public class Singleton { // Private constructor prevents instantiation from other classes private Singleton() {} /** * SingletonHolder is loaded on the first execution of Singleton.getInstance() * or the first access to SingletonHolder.INSTANCE, not before. */ private static class SingletonHolder { private static final Singleton INSTANCE = new Singleton(); } public static Singleton getInstance() { return SingletonHolder.INSTANCE; } } 这才是我认为的单例 |
|
返回顶楼 | |