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 楼
相关阅读
LSTM 是不是坨屎?擦 newsletter又有typo了怎么练习multi-threading,平常工作都是用Java框架win7 和win 10 哪个更好?经常看到一些名词:invariant, covariant, immutablepython 画图...请问一个Python的问题。关于手机 app security的几个问题最近半年python 3的用户有没有大增长 ?cyphon,cpython,numba,julia,pypy,为什么都不是主流feifei li 也去googleobama AI talk问个基本问题,在 mac 的linux 上怎么装 apt-get, wget 这些东西Java 9 如何对java runtime lib改善自然语言语法糖新机器的sqlserver 2014终于可以attach以前的db file了js Q: array[2,0,1,1] => 1102This Mysterious Chip In The iPhone 7 Could Be Key To Apple's AI Push7岁儿子问我这个编程怎么实现一道系统设计题求思路。