avatar
什么叫精通Java?# Java - 爪哇娇娃
B*g
1
【 以下文字转载自 Database 讨论区 】
发信人: Beijing (中国万岁,北京加油), 信区: Database
标 题: Re: 一个公司一般有几个dba?
发信站: BBS 未名空间站 (Thu Dec 29 16:56:11 2011, 美东)
真正精通Java的人不可能没工作,你去Java版问问有几个敢自称精通的。
avatar
x*i
2
我想问的是到什么程度能算精通java?
avatar
r*l
3
问两个简单的:
1,Java Instrument是什么东西?
2,Mark and Sweep什么干活?
如果不google就说不出所以然的,就别说精通Java了。即使知道,也别随便说精通。

【在 x*******i 的大作中提到】
: 我想问的是到什么程度能算精通java?
avatar
x*i
4
完全不懂,我问的是什么程度才算精通java(J2EE) development 的主要技术?

【在 r*****l 的大作中提到】
: 问两个简单的:
: 1,Java Instrument是什么东西?
: 2,Mark and Sweep什么干活?
: 如果不google就说不出所以然的,就别说精通Java了。即使知道,也别随便说精通。

avatar
z*e
5
我当年的老师是这么告诉我的
你学一门语言,要学到,无论你看到什么东西
都能想到如何用这门语言把它表示出来
学到这种程度,就差不多算是学到家了
看到一个需求,你就要想如何动用各种关联产品把这个需求给实现
我觉得学到这种程度,差不多就达到了我老师当年说的程度了
我已经不止一次用乱七八糟的类库驱动各种东东了,从统计软件到pdf,excel
至于其它的东西,我觉得不知道也没关系
那些就跟回字有四种写法一样,是用来装逼用的,没有人真正在乎
语言只是一门工具,无它,唯手熟耳
从目的看你使用工具的熟练程度,我们使用java是为了什么?
不是让你用来装逼的,是让你用它来实现各种需求的
你会舞剑并不代表你需要知道怎么铸剑
你舞剑舞得好不好是看你能否用剑实现你用剑的目的
就像你问我虚拟机里的那些机制,我肯定不知道,但是不妨碍我用这门语言来实现各种
需求
所以我觉得找工作的时候,吹吹牛也无可厚非,本来这就是一个红果果的人吃人的年代
你不吹,人家吹,你就吃亏,反正找工作是你在找
钱是你要赚,你不要人家更开心,本来这一行就是博大精深,啥乱七八糟的东东都有
任何人穷其一生也未必能把所有的知识全部吸收
要是真吹毛求屁,谁敢说自己把所有的知识全部掌握了?
我曾经上过一门课,当时乱七八糟的系的人都有,大家一起上大课
老头问了一个问题,如果你手下有两个人,一个人只会说不会做,一个人只会做不会说
那么你会提拔谁?几乎所有的人,不管什么种族,不管什么国籍
不管什么性别,不管什么学历,大家公认,提拔那个会说的
avatar
x*i
6
呵呵,楼上真能说

【在 z****e 的大作中提到】
: 我当年的老师是这么告诉我的
: 你学一门语言,要学到,无论你看到什么东西
: 都能想到如何用这门语言把它表示出来
: 学到这种程度,就差不多算是学到家了
: 看到一个需求,你就要想如何动用各种关联产品把这个需求给实现
: 我觉得学到这种程度,差不多就达到了我老师当年说的程度了
: 我已经不止一次用乱七八糟的类库驱动各种东东了,从统计软件到pdf,excel
: 至于其它的东西,我觉得不知道也没关系
: 那些就跟回字有四种写法一样,是用来装逼用的,没有人真正在乎
: 语言只是一门工具,无它,唯手熟耳

avatar
B*g
7
你这个要大赞

【在 z****e 的大作中提到】
: 我当年的老师是这么告诉我的
: 你学一门语言,要学到,无论你看到什么东西
: 都能想到如何用这门语言把它表示出来
: 学到这种程度,就差不多算是学到家了
: 看到一个需求,你就要想如何动用各种关联产品把这个需求给实现
: 我觉得学到这种程度,差不多就达到了我老师当年说的程度了
: 我已经不止一次用乱七八糟的类库驱动各种东东了,从统计软件到pdf,excel
: 至于其它的东西,我觉得不知道也没关系
: 那些就跟回字有四种写法一样,是用来装逼用的,没有人真正在乎
: 语言只是一门工具,无它,唯手熟耳

avatar
r*l
8
精通至少要“知其然,知其所以然”,对不对?拿spring为例,学会了怎样用xml或者
annotation算会用了。如果用好了大概就是你说的那种精通了。我觉得还差得远。
要想知道spring是怎么实现的,一定要了解dynamic proxy和instrument。否则怎么敢
说精通呢。
看起来你是个DBA或DB developer,你不了解也是正常的。

【在 x*******i 的大作中提到】
: 完全不懂,我问的是什么程度才算精通java(J2EE) development 的主要技术?
avatar
B*g
9
苦学java,要不俺们搞DB的老被你鄙视。现在学spring头都大了。

【在 r*****l 的大作中提到】
: 精通至少要“知其然,知其所以然”,对不对?拿spring为例,学会了怎样用xml或者
: annotation算会用了。如果用好了大概就是你说的那种精通了。我觉得还差得远。
: 要想知道spring是怎么实现的,一定要了解dynamic proxy和instrument。否则怎么敢
: 说精通呢。
: 看起来你是个DBA或DB developer,你不了解也是正常的。

avatar
r*l
10
术业有专攻。你看我就很少说DB,否则会被你们鄙视的。现在Java EE CDI出来了,
spring的日子不好过呀。

【在 B*****g 的大作中提到】
: 苦学java,要不俺们搞DB的老被你鄙视。现在学spring头都大了。
avatar
B*g
11
学java太累,东西多,更新快。搞数据库的,用前1-2两个版本的技术,照样玩得转。
而且也木有人逼你用新技术,他们还害怕你用新技术,俺们现在都是脑满肠肥,混吃等
死。

【在 r*****l 的大作中提到】
: 术业有专攻。你看我就很少说DB,否则会被你们鄙视的。现在Java EE CDI出来了,
: spring的日子不好过呀。

avatar
t*e
12
你也可以顺带搞点Reporting, BI, ETL之类的。搞数据的新东西也很多了。

【在 B*****g 的大作中提到】
: 学java太累,东西多,更新快。搞数据库的,用前1-2两个版本的技术,照样玩得转。
: 而且也木有人逼你用新技术,他们还害怕你用新技术,俺们现在都是脑满肠肥,混吃等
: 死。

avatar
B*g
13
这些都搞过,hoho

【在 t*******e 的大作中提到】
: 你也可以顺带搞点Reporting, BI, ETL之类的。搞数据的新东西也很多了。
avatar
r*y
14
扯淡的话题
每天那么多新东西冒出来
james gosling 也不敢说精通吧
对民工造东西有用的跟进, 没用的爱谁谁
多余的功夫搞搞对象, 陪陪家人, 改进一下 chenglish啥的
avatar
g*g
15
给个具体的business case,能从头设计实现,能够独立解决QA找到的绝大部分bug,
就算精通了。

【在 x*******i 的大作中提到】
: 我想问的是到什么程度能算精通java?
avatar
g*y
16
很赞这个!对于真厉害的人来说,
一,他可能本身博大精深,知道你说的东西
二,不知道也没关系,如果那个东西挡路了,他研究两天,就通透了。
人的精力都是有限的,把精力放在解问题,创造新东西上,比把工具玩熟有意义多了。
众所周知,multi-thread很有用。但如果你的项目根本不用,那你去把那些最新的Java
multithread package搞得门清,有什么用呢?

【在 z****e 的大作中提到】
: 我当年的老师是这么告诉我的
: 你学一门语言,要学到,无论你看到什么东西
: 都能想到如何用这门语言把它表示出来
: 学到这种程度,就差不多算是学到家了
: 看到一个需求,你就要想如何动用各种关联产品把这个需求给实现
: 我觉得学到这种程度,差不多就达到了我老师当年说的程度了
: 我已经不止一次用乱七八糟的类库驱动各种东东了,从统计软件到pdf,excel
: 至于其它的东西,我觉得不知道也没关系
: 那些就跟回字有四种写法一样,是用来装逼用的,没有人真正在乎
: 语言只是一门工具,无它,唯手熟耳

avatar
s*e
17
没那么可怕,花几个小时了解一下大概是怎么回事,然后边学边干就行了。局外人看每
天出来那么东西很可怕,实际上新东西都是从现有的技术上发展出来的。

【在 B*****g 的大作中提到】
: 学java太累,东西多,更新快。搞数据库的,用前1-2两个版本的技术,照样玩得转。
: 而且也木有人逼你用新技术,他们还害怕你用新技术,俺们现在都是脑满肠肥,混吃等
: 死。

avatar
s*e
18
我觉得多知道一些vm的内部结构和常用的java class是怎么实现的还是有好处的。以前
做j2ee还不太需要,后来做core java/multithreading/distributed programming,发
现还是需要对GC,memory model,和一些关键package的implementation details比较
清楚的,不然有时候会出现一些奇怪的问题。

【在 z****e 的大作中提到】
: 我当年的老师是这么告诉我的
: 你学一门语言,要学到,无论你看到什么东西
: 都能想到如何用这门语言把它表示出来
: 学到这种程度,就差不多算是学到家了
: 看到一个需求,你就要想如何动用各种关联产品把这个需求给实现
: 我觉得学到这种程度,差不多就达到了我老师当年说的程度了
: 我已经不止一次用乱七八糟的类库驱动各种东东了,从统计软件到pdf,excel
: 至于其它的东西,我觉得不知道也没关系
: 那些就跟回字有四种写法一样,是用来装逼用的,没有人真正在乎
: 语言只是一门工具,无它,唯手熟耳

avatar
r*l
19
这个是在软件工程和构架的层面了。比java语言和各种framework要高一个层次。
我一直认为软件公司里应该有一个coding expert或与之对应的职位,专门解决,优化
code level的问题。这是被大多数公司忽略的问题。Architect,tech lead之类的虽然
很多事从coder上来的,但是时间长了,会和coding脱离。或者有的就根本没时间管
coding的事。
工厂里面就有相对应的职位:八级钳工等等。本质上是技术工人,但是属于高级的技术
工人,待遇不应该比高级工程师少的。

【在 g*****g 的大作中提到】
: 给个具体的business case,能从头设计实现,能够独立解决QA找到的绝大部分bug,
: 就算精通了。

avatar
B*g
20
俺们全公司的coder和manager都当Architect说的话是放屁,根本不吊。一老印说,
Architect应该想得比俺门高。但问题是Architect连我们在干什么都不知道,他们能干
哈?

【在 r*****l 的大作中提到】
: 这个是在软件工程和构架的层面了。比java语言和各种framework要高一个层次。
: 我一直认为软件公司里应该有一个coding expert或与之对应的职位,专门解决,优化
: code level的问题。这是被大多数公司忽略的问题。Architect,tech lead之类的虽然
: 很多事从coder上来的,但是时间长了,会和coding脱离。或者有的就根本没时间管
: coding的事。
: 工厂里面就有相对应的职位:八级钳工等等。本质上是技术工人,但是属于高级的技术
: 工人,待遇不应该比高级工程师少的。

avatar
g*g
21
这个没有,我提的就是从具体需求到实现而已。
Architect之类的应该做从商业需求到具体需求的转化,
另外应该对项目实现有架构层面上的掌握。

【在 r*****l 的大作中提到】
: 这个是在软件工程和构架的层面了。比java语言和各种framework要高一个层次。
: 我一直认为软件公司里应该有一个coding expert或与之对应的职位,专门解决,优化
: code level的问题。这是被大多数公司忽略的问题。Architect,tech lead之类的虽然
: 很多事从coder上来的,但是时间长了,会和coding脱离。或者有的就根本没时间管
: coding的事。
: 工厂里面就有相对应的职位:八级钳工等等。本质上是技术工人,但是属于高级的技术
: 工人,待遇不应该比高级工程师少的。

avatar
z*e
22
那就不精通就是了,有什么好去了解的?spring整个就是个xml的reflection而已,管
它怎么具体实现。

【在 r*****l 的大作中提到】
: 精通至少要“知其然,知其所以然”,对不对?拿spring为例,学会了怎样用xml或者
: annotation算会用了。如果用好了大概就是你说的那种精通了。我觉得还差得远。
: 要想知道spring是怎么实现的,一定要了解dynamic proxy和instrument。否则怎么敢
: 说精通呢。
: 看起来你是个DBA或DB developer,你不了解也是正常的。

avatar
z*e
23
我觉得造成这种众说纷纭的原因在于java的位置太核心了
往上看,有容器在指挥着bean
往下看,虚拟机骑着一堆的os
往后看,后面拖着一堆的db
往前看,有各式各样的业务需求需要实现
业务需求中又包含着各行各业对于挨踢的各种需求,而java又连着挨踢各个核心环节
数据库和操作系统本身就是一门大学问,还有网络,软件工程
我在想jee是不是把cs各个环节都用上了就差ai没用上了
当一个人学会了java之后,自然就会面临着各种选择
知识该往哪个方向去渗透,选择不同道路的人,对于java之后的知识深入,会有不同的
认识和看法
但是我认为,对于大多数人来说,实现业务需求还是大头,也就是应用面
至于实现的逻辑,其实oo有一个特性叫做封装,一个重要逻辑就是,不需要知道怎么实现
会用就行了,况且有的时候真的不是那么容易懂,比如common-math里面
那些统计函数,遇到过一个需求是要求随机生产一串符合某种分布的数字
最好的实现方式就是用分布函数的反函数+Math.random()就好了
这个我当时就想如何做出来,自己去想实现反函数,发现太难了,别说实现了,很多分
布的反函数我解都解不出来
后来用蒙特卡洛方法写了一个实现出来之后沾沾自喜。再后来发现
原来反函数别人早就已经实现并打好包放在apache的网站上了,我只需要下载就行了……
从那以后我就明白,世界很大,我很渺小,力所能及就行了

【在 s*******e 的大作中提到】
: 我觉得多知道一些vm的内部结构和常用的java class是怎么实现的还是有好处的。以前
: 做j2ee还不太需要,后来做core java/multithreading/distributed programming,发
: 现还是需要对GC,memory model,和一些关键package的implementation details比较
: 清楚的,不然有时候会出现一些奇怪的问题。

avatar
r*y
24
赞实在, 生动

【在 z****e 的大作中提到】
: 我觉得造成这种众说纷纭的原因在于java的位置太核心了
: 往上看,有容器在指挥着bean
: 往下看,虚拟机骑着一堆的os
: 往后看,后面拖着一堆的db
: 往前看,有各式各样的业务需求需要实现
: 业务需求中又包含着各行各业对于挨踢的各种需求,而java又连着挨踢各个核心环节
: 数据库和操作系统本身就是一门大学问,还有网络,软件工程
: 我在想jee是不是把cs各个环节都用上了就差ai没用上了
: 当一个人学会了java之后,自然就会面临着各种选择
: 知识该往哪个方向去渗透,选择不同道路的人,对于java之后的知识深入,会有不同的

avatar
w*r
25
满足需求就是高手?扯淡,大概能够用中文表述各种场景也算文学家?你觉得语言能表
达就是高手,但不妨碍别人追求文学艺术修养的更高层次。真正精通文字的人是写出了
可供其他人思考和借考的传世之作。计算机语言的高手是造就了艺术,给出了人类造房
子的工序和
结构图。中国人答房子的高手不少,都是停留在别人图纸上加加减减来独特设计 。熟
练瓦工一个而已。所以这么大的国家对it业零贡献【 在 zhaoce (米高蜥蜴) 的大作中
提到: 】
avatar
s*r
26
还能再扯点不能?软件行业本来就不是基础学科,本身就是很上层的东西,非要往底看
,你写个算法有没有想过CPU里面电子传送最短路径?想了就真的NC了

【在 w********r 的大作中提到】
: 满足需求就是高手?扯淡,大概能够用中文表述各种场景也算文学家?你觉得语言能表
: 达就是高手,但不妨碍别人追求文学艺术修养的更高层次。真正精通文字的人是写出了
: 可供其他人思考和借考的传世之作。计算机语言的高手是造就了艺术,给出了人类造房
: 子的工序和
: 结构图。中国人答房子的高手不少,都是停留在别人图纸上加加减减来独特设计 。熟
: 练瓦工一个而已。所以这么大的国家对it业零贡献【 在 zhaoce (米高蜥蜴) 的大作中
: 提到: 】

avatar
i*m
27
java算什么,我老公还精通Haskell,Python,OCaml,Ruby,Standard ML,Scheme,C
,Perl, C,Objective-C,PHP,Go,JavaScript和Smalltalk。
绝对专家级。
★ Sent from iPhone App: iReader Mitbbs 7.36 - iPad Lite
avatar
g*g
28
Too bad your hubby can't do 20 jobs at the same time.

,C

【在 i**m 的大作中提到】
: java算什么,我老公还精通Haskell,Python,OCaml,Ruby,Standard ML,Scheme,C
: ,Perl, C,Objective-C,PHP,Go,JavaScript和Smalltalk。
: 绝对专家级。
: ★ Sent from iPhone App: iReader Mitbbs 7.36 - iPad Lite

avatar
L*r
29
这话靠谱。

【在 g*****g 的大作中提到】
: Too bad your hubby can't do 20 jobs at the same time.
:
: ,C

avatar
n*e
30
If one knows Java, the others are a piece of cake, vice versa.
I know assembly and even designed my own machine lanaguage, plus the machine
itself, 28 yeras ago.

,C

【在 i**m 的大作中提到】
: java算什么,我老公还精通Haskell,Python,OCaml,Ruby,Standard ML,Scheme,C
: ,Perl, C,Objective-C,PHP,Go,JavaScript和Smalltalk。
: 绝对专家级。
: ★ Sent from iPhone App: iReader Mitbbs 7.36 - iPad Lite

avatar
T*g
31
你会什么不重要,因为你时时刻刻都可以学习。你正在做什么,这更重要。

,C

【在 i**m 的大作中提到】
: java算什么,我老公还精通Haskell,Python,OCaml,Ruby,Standard ML,Scheme,C
: ,Perl, C,Objective-C,PHP,Go,JavaScript和Smalltalk。
: 绝对专家级。
: ★ Sent from iPhone App: iReader Mitbbs 7.36 - iPad Lite

avatar
r*l
32
Quote from Spring-Security here: http://static.springsource.org/spring-security/site/build.html
"It is much easier to debug your application or to work out where a problem
lies if you don't treat the external code you are working with as a black
box which you never look inside. The first thing you should do when an
exception you don't understand is thrown from an open source library is jump
to the class and line number and take a look to figure out what the code
was doing there. Otherwise you're missing out on much of the benefit of
using open source code."
如果用到open source,不可避免有时需要看source code的。当然,工作中分工不同,
遇到问题不用所有人都去分析源码的。我们这里的lead给开源项目contribute back的
例子也不少。

【在 z***e 的大作中提到】
: 那就不精通就是了,有什么好去了解的?spring整个就是个xml的reflection而已,管
: 它怎么具体实现。

avatar
g*g
33
That's very true, a bug can come from your own code, or from the 3rd party
library. We try to work around it if it's from 3rd party. But sometimes
you have no way but fix 3rd party yourself. And you'd want to contribute
back so that you don't have to maintain it from here on.

problem
jump

【在 r*****l 的大作中提到】
: Quote from Spring-Security here: http://static.springsource.org/spring-security/site/build.html
: "It is much easier to debug your application or to work out where a problem
: lies if you don't treat the external code you are working with as a black
: box which you never look inside. The first thing you should do when an
: exception you don't understand is thrown from an open source library is jump
: to the class and line number and take a look to figure out what the code
: was doing there. Otherwise you're missing out on much of the benefit of
: using open source code."
: 如果用到open source,不可避免有时需要看source code的。当然,工作中分工不同,
: 遇到问题不用所有人都去分析源码的。我们这里的lead给开源项目contribute back的

avatar
i*p
34
老婆对劳工的敬仰有如滔滔泪水......

,C

【在 i**m 的大作中提到】
: java算什么,我老公还精通Haskell,Python,OCaml,Ruby,Standard ML,Scheme,C
: ,Perl, C,Objective-C,PHP,Go,JavaScript和Smalltalk。
: 绝对专家级。
: ★ Sent from iPhone App: iReader Mitbbs 7.36 - iPad Lite

avatar
b*g
35
I can not agree more. it is hard to be a java developer since it has too many
concepts, so many open source framework. it is only suitable for young
people. Core java is ok but j2ee just has too mush material

【在 B*****g 的大作中提到】
: 学java太累,东西多,更新快。搞数据库的,用前1-2两个版本的技术,照样玩得转。
: 而且也木有人逼你用新技术,他们还害怕你用新技术,俺们现在都是脑满肠肥,混吃等
: 死。

avatar
a*8
36
个人体会,在大公司做了十几年的Java和C/C++,最后发现,还是自己写Code写
得越多越基础越好,最好只有JDK或者软件所必须Dependency最好。开源这个东西,
两面刃,当时拿来的时候很高兴,很好用,但是dependency越多,最后在升级啦,
某个Library需要改变的时候啦,问题就一个接一个来了。
avatar
s*h
37
拜读一下!

【在 z****e 的大作中提到】
: 我当年的老师是这么告诉我的
: 你学一门语言,要学到,无论你看到什么东西
: 都能想到如何用这门语言把它表示出来
: 学到这种程度,就差不多算是学到家了
: 看到一个需求,你就要想如何动用各种关联产品把这个需求给实现
: 我觉得学到这种程度,差不多就达到了我老师当年说的程度了
: 我已经不止一次用乱七八糟的类库驱动各种东东了,从统计软件到pdf,excel
: 至于其它的东西,我觉得不知道也没关系
: 那些就跟回字有四种写法一样,是用来装逼用的,没有人真正在乎
: 语言只是一门工具,无它,唯手熟耳

avatar
m*t
38
据我所知,有不少半路出家的,只会Java。C++一些复杂的概念理解不了。

machine

【在 n******e 的大作中提到】
: If one knows Java, the others are a piece of cake, vice versa.
: I know assembly and even designed my own machine lanaguage, plus the machine
: itself, 28 yeras ago.
:
: ,C

avatar
b*y
39

hehe, I like your saying. There are people that can do anything and
everything, but at the end of day, they can't do one thing and just one
thing well.

【在 g*****g 的大作中提到】
: Too bad your hubby can't do 20 jobs at the same time.
:
: ,C

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。