很多人都说在公司学不到东西,说说你们的看法
longfu2012
2012-08-07
LZ,加油!!
|
|
jarry8359
2012-08-07
Dead_knight 写道 本人80后,也来凑个热闹吧……
根据个人经验,学习受环境的影响不大,主要看你对技术是否有浓厚的兴趣。 以下是本人的学习路线,可以供大家参考 第一阶段:java基础,java ee基础、或者swing基础 第二阶段:ssh,ibatis、quartz等框架应用,以及webservice、网络编程,rcp 第三阶段:设计模式,能够理解主流框架源码以及设计思路、web安全领域(jaas、sso、ssl、rbac、oauth、acegi等)、缓存领域(oscache、jbosscache、ehcache以及缓存采用什么技术同步:jgroup、jms) 第四阶段:集群架构、分布式、osgi、eai等架构领域 第五阶段:soa、虚拟化、云 在2012年3月份,我招聘了好几个90后,他们刚接触项目(所用框架:struts1、jdk1.4、jdbc)就嘲笑:竟然还用这么落伍的技术?自己在这里就学习这些?然后夸夸其谈struts2、spring、hibernate…… 实际上,很多企业内部的遗留核心系统都是如此。 强调一下,公司提供的仅仅是一个平台,如果大家认为这个平台里项目所用的框架重要,可能你会沉浸在框架里不能自拔。实际上,即使熟练使用框架的开发人员在我眼里,仅仅处于第二阶段。 你这几个阶段我都涉及到了,同为80后,可惜每个阶段都不深入。惭愧! |
|
nanjingjiangbiao
2012-08-07
大学毕业生吃大便也觉得自己能学到东西。
但是如果你工作6年了和我一样,还他妈以为在公司能学到东西就错了。 在公司只能搞女人。 |
|
337240552
2012-08-07
Dead_knight 写道 lihong11 写道 Dead_knight 写道 本人80后,也来凑个热闹吧……
根据个人经验,学习受环境的影响不大,主要看你对技术是否有浓厚的兴趣。 以下是本人的学习路线,可以供大家参考 第一阶段:java基础,java ee基础、或者swing基础 第二阶段:ssh,ibatis、quartz等框架应用,以及webservice、网络编程,rcp 第三阶段:设计模式,能够理解主流框架源码以及设计思路、web安全领域(jaas、sso、ssl、rbac、oauth、acegi等)、缓存领域(oscache、jbosscache、ehcache以及缓存采用什么技术同步:jgroup、jms) 第四阶段:集群架构、分布式、osgi、eai等架构领域 第五阶段:soa、虚拟化、云 在2012年3月份,我招聘了好几个90后,他们刚接触项目(所用框架:struts1、jdk1.4、jdbc)就嘲笑:竟然还用这么落伍的技术?自己在这里就学习这些?然后夸夸其谈struts2、spring、hibernate…… 实际上,很多企业内部的遗留核心系统都是如此。 强调一下,公司提供的仅仅是一个平台,如果大家认为这个平台里项目所用的框架重要,可能你会沉浸在框架里不能自拔。实际上,即使熟练使用框架的开发人员在我眼里,仅仅处于第二阶段。 谢谢你的分享,根据你的学习路线,我觉得我还处在第二阶段,正在往第三阶段发展,你列出的后面几个阶段感觉是比较高层的技术了,楼上应该是有多年工作经验的吧 工作五年了。 毕业刚一年的新人很有感触,以前在学校也很不重视基础,好高骛远;觉得能写出能运行的代码就以为掌握了java基础了,最近恶补下基础。基础不行搞其他的基本是空中楼阁,希望刚毕业或在校的多注重下基础,然后在循序渐渐。 |
|
liuwuhen
2012-08-08
工作半年就能达到第三阶段,希望正确的看待自己。
|
|
Dead_knight
2012-08-08
技术是与项目经验相辅相成的,技术再牛逼,没有项目经验也是枉然,因为没有实践的技术,就是不成熟的技术,因为无法知道技术的稳定性以及各种问题。
我总结的第三阶段实际上是个分水岭。很多人在第三阶段挣扎无法逾越,有很多人也能轻易走过第三阶段。 实际上,第三阶段仅仅是抛掉框架的束缚,而是掌握框架的设计思想、原理。只要掌握多了,任何一种新框架在你眼前,你都能游刃有余的阅读源码并扩展,然后在项目中实际使用。还有一点,就是各种技术架构能够根据个人经验用在合适的项目中。 举例如下: 1.sso,根据内网、外网以及特殊限制,然后选用sso的技术方案。 2.oauth,根据协议原理,可以自己开发oauth服务端以及做到QOS保证。 3.cache,能够根据项目的实际情况(单server、集群、分布式等)选用合适的缓存框架,并且能选择合适的同步策略。 如果没有很多的大型项目经验,你如何去实施以上3个例子? 这就是为什么系统架构师需要很多大型项目经验来支撑其含金量。 |
|
sldyablljzbtk
2012-08-08
Dead_knight 写道 技术是与项目经验相辅相成的,技术再牛逼,没有项目经验也是枉然,因为没有实践的技术,就是不成熟的技术,因为无法知道技术的稳定性以及各种问题。
我总结的第三阶段实际上是个分水岭。很多人在第三阶段挣扎无法逾越,有很多人也能轻易走过第三阶段。 实际上,第三阶段仅仅是抛掉框架的束缚,而是掌握框架的设计思想、原理。只要掌握多了,任何一种新框架在你眼前,你都能游刃有余的阅读源码并扩展,然后在项目中实际使用。还有一点,就是各种技术架构能够根据个人经验用在合适的项目中。 举例如下: 1.sso,根据内网、外网以及特殊限制,然后选用sso的技术方案。 2.oauth,根据协议原理,可以自己开发oauth服务端以及做到QOS保证。 3.cache,能够根据项目的实际情况(单server、集群、分布式等)选用合适的缓存框架,并且能选择合适的同步策略。 如果没有很多的大型项目经验,你如何去实施以上3个例子? 这就是为什么系统架构师需要很多大型项目经验来支撑其含金量。 感谢前辈的悉心指导~~ |
|
yunzhu
2012-08-09
真实项目当中确实应该优先使用现成的稳定的东西,但是如果从一开始就一直持这种思想,而不愿意去造重复的轮子,那么自己就永远没法了解原理,也永远没有质的提高
|
|
feitianmao
2012-08-16
风云无浪 写道 我觉得你们老大就是蛋疼,要不就是你们时间太多了。java的精髓就是复用优秀组件和架构,快速开发。除非追求极高的性能,不过这也不是一般的牛能干的事,能写出来优秀组件的也都不是二蛋。
另外,不要想着别人带你,自己一定要规划自己的学习,别人只是画龙点睛的作用。一开始我也是想着进公司了有个环境带带自己,一进公司才发现,光是我带别人,我改造环境了。。。 java的精髓在基础,在于其数据结构和算法。所有的框架都只不过是工具而已,你学的速度永远也跟不上人家开发的速度,你只会用框架的话,只能当一辈子的“打字员”。就像我昨天看的一篇文章说有个人做了1年的java开发,不知道数据结构是什么。话说回来软件开发靠的是ideas,有市场,只要能实现,用什么技术你都能赚大钱。个人观点,还是觉得java基础重要,http协议,tomcat源码等。 最近也在看树形的组织结构,还希望和楼主多多交流啊。 |
|
风云无浪
2012-08-19
feitianmao 写道 风云无浪 写道 我觉得你们老大就是蛋疼,要不就是你们时间太多了。java的精髓就是复用优秀组件和架构,快速开发。除非追求极高的性能,不过这也不是一般的牛能干的事,能写出来优秀组件的也都不是二蛋。
另外,不要想着别人带你,自己一定要规划自己的学习,别人只是画龙点睛的作用。一开始我也是想着进公司了有个环境带带自己,一进公司才发现,光是我带别人,我改造环境了。。。 java的精髓在基础,在于其数据结构和算法。所有的框架都只不过是工具而已,你学的速度永远也跟不上人家开发的速度,你只会用框架的话,只能当一辈子的“打字员”。就像我昨天看的一篇文章说有个人做了1年的java开发,不知道数据结构是什么。话说回来软件开发靠的是ideas,有市场,只要能实现,用什么技术你都能赚大钱。个人观点,还是觉得java基础重要,http协议,tomcat源码等。 最近也在看树形的组织结构,还希望和楼主多多交流啊。 你说的是c++的精髓。用框架如果只是为了用当然没前途,重要的是了解框架的设计思想和设计模式。比如没有比spring用的更好的工厂模式了,spring已经超越了设计模式。java就是要你战在巨人的肩膀上去成功,你只有了解了巨人,才有可能超越巨人。 我不知道研究树是为了啥,想设计什么数据结构,jdk里的collection里没有你的需要的数据结构还是性能满足不了呢? 算法不是任何编程语言的精髓,任何语言都可以使用任何算法。 好的代码结构和整体架构要重要的多,现在web开发,可复用性和可维护性很重要。 因为咱们中国人数学好,所以非常重视算法,往往忽略了架构的重要性。 |