i*p
2 楼
人类的自然语言在社会发展中不断被净化发展.那些不符合人类正常思维的部分,生僻的
用法,自然地被淘汰了, 变成了教授专家卖弄学问的工具.
C++中的一些规定就是如此, 违反正常人的思维.学不会吗? 当然不是, 做语言学家,没
啥学不会的.但程序员就是百姓,不是,也用不着成为语言学家.
多想想应用,少想想语言才是正道.
用法,自然地被淘汰了, 变成了教授专家卖弄学问的工具.
C++中的一些规定就是如此, 违反正常人的思维.学不会吗? 当然不是, 做语言学家,没
啥学不会的.但程序员就是百姓,不是,也用不着成为语言学家.
多想想应用,少想想语言才是正道.
f*t
3 楼
skype不就是嘛
i*p
16 楼
为什么要强调人性? 人性就是普通人的思维逻辑. 因为规则可以组合, 各种规则组合在
一起可以产生几十种不同的代码.
符合普通人的思维逻辑的规则便于记忆,便于理解,也就便于应用,便于交流,便于维护.
一起可以产生几十种不同的代码.
符合普通人的思维逻辑的规则便于记忆,便于理解,也就便于应用,便于交流,便于维护.
g*e
17 楼
本来就不是给普通人用的 不谈人性
i*p
20 楼
人类的自然语言在社会发展中不断被净化发展.那些不符合人类正常思维的部分,生僻的
用法,自然地被淘汰了, 变成了教授专家卖弄学问的工具.
C++中的一些规定就是如此, 违反正常人的思维.学不会吗? 当然不是, 做语言学家,没
啥学不会的.但程序员就是百姓,不是,也用不着成为语言学家.
多想想应用,少想想语言才是正道.
用法,自然地被淘汰了, 变成了教授专家卖弄学问的工具.
C++中的一些规定就是如此, 违反正常人的思维.学不会吗? 当然不是, 做语言学家,没
啥学不会的.但程序员就是百姓,不是,也用不着成为语言学家.
多想想应用,少想想语言才是正道.
i*p
31 楼
为什么要强调人性? 人性就是普通人的思维逻辑. 因为规则可以组合, 各种规则组合在
一起可以产生几十种不同的代码.
符合普通人的思维逻辑的规则便于记忆,便于理解,也就便于应用,便于交流,便于维护.
一起可以产生几十种不同的代码.
符合普通人的思维逻辑的规则便于记忆,便于理解,也就便于应用,便于交流,便于维护.
g*e
32 楼
本来就不是给普通人用的 不谈人性
i*p
35 楼
公平的讲,JAVA也有没人性的地方, 但是比较少,普通人类还Handle的了.
Try, which is the right answer?
A: same same
B: same different
C: different same
D: different different
Integer i1 = 100;
Integer i2 = 100;
if(i1 == i2) System.out.print("same ");
else System.out.print("different ");;
i1 = 200;
i2 = 200;
if(i1 == i2) System.out.println("same");
else System.out.println("different");
【在 c*******9 的大作中提到】
: 普通人讨厌的就是稍微复杂一点的逻辑,只接受3,5步的推理。
: 要想真正有创造性,就要有神性。神创造万物。
Try, which is the right answer?
A: same same
B: same different
C: different same
D: different different
Integer i1 = 100;
Integer i2 = 100;
if(i1 == i2) System.out.print("same ");
else System.out.print("different ");;
i1 = 200;
i2 = 200;
if(i1 == i2) System.out.println("same");
else System.out.println("different");
【在 c*******9 的大作中提到】
: 普通人讨厌的就是稍微复杂一点的逻辑,只接受3,5步的推理。
: 要想真正有创造性,就要有神性。神创造万物。
Y*G
37 楼
这个问题问的有点违反人性。实际使用Java的人是不会问这种问题的。
如果要硬说,Java编译器把"Integer i = 100"翻成"i = Integer.valueOf(100)",就
是一个简单的autoboxing的过程。
编译器才不管Integer.valueOf是怎么实现的。
下面是JDK 6中Integer.valueOf的实现:
=================
public static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cache
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}
=================
所以Integer.valueOf(n)的返回值,对于n是否是8位或者一下和以上的行为是不同的。
【在 i**p 的大作中提到】
: 公平的讲,JAVA也有没人性的地方, 但是比较少,普通人类还Handle的了.
: Try, which is the right answer?
: A: same same
: B: same different
: C: different same
: D: different different
: Integer i1 = 100;
: Integer i2 = 100;
: if(i1 == i2) System.out.print("same ");
: else System.out.print("different ");;
如果要硬说,Java编译器把"Integer i = 100"翻成"i = Integer.valueOf(100)",就
是一个简单的autoboxing的过程。
编译器才不管Integer.valueOf是怎么实现的。
下面是JDK 6中Integer.valueOf的实现:
=================
public static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cache
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}
=================
所以Integer.valueOf(n)的返回值,对于n是否是8位或者一下和以上的行为是不同的。
【在 i**p 的大作中提到】
: 公平的讲,JAVA也有没人性的地方, 但是比较少,普通人类还Handle的了.
: Try, which is the right answer?
: A: same same
: B: same different
: C: different same
: D: different different
: Integer i1 = 100;
: Integer i2 = 100;
: if(i1 == i2) System.out.print("same ");
: else System.out.print("different ");;
g*g
38 楼
只要记住但凡是object就用equals, 就不会出问题。Integer容易出的问题不在这里,
在于synchronization,
如果sync on Integer, 因为在-128-127这个范围内都在constant pool里,一不小心
就block.
【在 Y**G 的大作中提到】
: 这个问题问的有点违反人性。实际使用Java的人是不会问这种问题的。
: 如果要硬说,Java编译器把"Integer i = 100"翻成"i = Integer.valueOf(100)",就
: 是一个简单的autoboxing的过程。
: 编译器才不管Integer.valueOf是怎么实现的。
: 下面是JDK 6中Integer.valueOf的实现:
: =================
: public static Integer valueOf(int i) {
: final int offset = 128;
: if (i >= -128 && i <= 127) { // must cache
: return IntegerCache.cache[i + offset];
在于synchronization,
如果sync on Integer, 因为在-128-127这个范围内都在constant pool里,一不小心
就block.
【在 Y**G 的大作中提到】
: 这个问题问的有点违反人性。实际使用Java的人是不会问这种问题的。
: 如果要硬说,Java编译器把"Integer i = 100"翻成"i = Integer.valueOf(100)",就
: 是一个简单的autoboxing的过程。
: 编译器才不管Integer.valueOf是怎么实现的。
: 下面是JDK 6中Integer.valueOf的实现:
: =================
: public static Integer valueOf(int i) {
: final int offset = 128;
: if (i >= -128 && i <= 127) { // must cache
: return IntegerCache.cache[i + offset];
Y*G
39 楼
相关阅读
[bssd]要緊處,勿用簡化中文行业是不是变动在即国内神一级的程序员到底有多牛?黄秋原这个八卦怎么回事?IBM又吹量子计算机,这公司疯了,还是那帮物理学家疯了?我的发明是崭新的OS,新的开发工具,新的UIC++高手居然不知道template和stl的区别?C++的又一作用谁捅了卫老师哪根神经了? 出来道歉!看把卫老师这几天累的!前后端分离为什么最近几年才开始流行?有青春的肉体喂鸡就是好,吴老师看起来好高大好年青 (转载)被三哥写的java绕晕了北美用Vue有钱途吗? 工作数量来说好像是React的15%?这个匿名类怎么写?StackOverflow咋回事ML 大牛。。。去除这种“噪音警报”容易吧?Seeking Quant/Software Developers (转载)华人那个H1B贴没看懂寻亚马逊和微软的朋友创业 (转载)wdong能不能除了技术架构,讲讲产品和商业化啊?