manULinux
发表于 2012-11-25 09:49
书中有错误,请改正。{:3_182:}
send_linux
发表于 2012-11-25 15:54
manULinux 发表于 2012-11-25 09:49 static/image/common/back.gif
书中有错误,请改正。
哪里?
manULinux
发表于 2012-11-26 10:03
回复 82# send_linux
最后一行中的“大部分” 吧 写成”大部头“ 了。
send_linux
发表于 2012-11-26 10:18
manULinux 发表于 2012-11-26 10:03 static/image/common/back.gif
回复 82# send_linux
最后一行中的“大部分” 吧 写成”大部头“ 了。
有“大部头”这个说法吧,就是厚、篇幅长的意思吧?
crazyhadoop
发表于 2012-11-26 23:22
回复 83# manULinux
这个没有问题吧
zavakid
发表于 2012-11-28 18:40
讲一讲java开发为什么要关注底层的东西吧。
其实从学习里 开始学习 java 开始,觉得一次编译,到处运行,多酷啊!
但做久了,你需要理解高性能,多线程,java的内存模型等等,慢慢的,随着你的理解,就会发现这其实与底层知识离不开。
单就 java 一个 volatile 关键字,就需要你理解 cpu的缓存与主存同步问题。
看了java 的 内存模型,才发现这都是为了使用底层cpu和内存的工作机制而提出来的模型
看了 disruptor 之后,你会发现底层有个 false sharing 的问题
在 java 中使用 nio 编程时,你就发现同步,异步。但在底层,其实是使用了中断的异步机制,你会发现很有趣,想去了解底层的一些实现。
在学习 JVM 的时候,你会发现 jvm 的执行是基于栈的,那么你想了解jvm这个进程在机器上是怎么执行的吧,
基于栈和基于寄存器的执行模型各是什么样的?
之后需要使用数据库吧,比如 nosql 中的 Redis,为什么使用他时需要规划内存容量,避免当redis起复制进程时,走 swap。
为什么 TT 可以把文件映射到内存中来操作,什么是 page,什么是swap。
通过这些年的开发,发现一点,不管是在多高的抽象层面,都需要了解底层的一些东西,都是靠底层的东西实现的,一层又一层,很多事情现状的原因,往往是下一层面的现实决定的。
记得有人说过:你在开汽车的时候,你比骑自行车的人往上抽象一层,你可以不太关注路上的小石头,但你还是需要注意下雨天的时候,轮胎会不会滑。
superwiles
发表于 2012-11-29 00:41
公司最近刚刚公开了 Performance Monitoring Unit, 可以在下一册中加入
amarant
发表于 2012-11-29 10:45
回复 50# cjaizss
我对x86的不是很熟悉,不知道是不是这个原因让我不是很喜欢x86的这一套。不知道专门做过x86的人是不是也很喜欢这个处理器?@帅绝人寰
我一些不喜欢的理由:
1,模式上有一个很多余的实模式
2,内存管理使用段式,页式。64位上的好像又可以没有段式了
3,寄存器的名字上原先使用eax之类的,后来又有r8等等通用寄存器。这些本来由ABI就可以解决了。
4,指令长度有长有短,很不方便分析。
总之,感觉就是一个东西反复修修补补。mips也是80年代的东西,但是到了现在和以前的也没有很大区别。我很喜欢mips,不知道是不是因为对它了解的比较多
cjaizss
发表于 2012-11-29 12:06
amarant 发表于 2012-11-29 10:45 static/image/common/back.gif
回复 50# cjaizss
X86考虑的是兼容的问题,一些是历史问题。
另外,我想你可能是做嵌入式的,使用RISC居多,对于CISC不是很喜欢。
superwiles
发表于 2012-11-29 18:56
回复 88# amarant
Cisc只是表象,前面已经说过了,
其次 x86 主要一直坚持向后兼容性, 导致了补丁摞补丁,而且和windows 的互动考虑很多。
页:
1
2
3
4
5
6
7
8
[9]
10
11
12