顶你楼主 我也发现我走了一个奇怪的路 经过几年的上班 我也曾致力于各种框架各种规范 但是企业毕竟是企业关注的重点是怎么解决问题 我在使用了大量框架之后因为发现 有些时候上这么些东西会让自己迷失尽而崩溃 本来我想解决的问题很简单 但是却不小心被框架所存在的问题引向新问题这让我很苦恼. 进而 我调整了自己的开发方式方式 那么就用你标准的基础解决方案 但是方案内的数据形态 结构 关系全部基于JDK自带的但是经过我思想转变成的复杂的混合体(这么说 主要是我不知道怎么称它为什么东西,不能满足的时候自己设计算法)[感觉框架是躯体 形态是灵魂] ,这样不管模式也好 算法也好都是在其内部 只是适应框架所做细微调整,这样一个结果, 也导致我现在对框架等各种东西用的都不算深入.但是至少没有那么难调整维护或者适应性小的问题. 经过你你分析 我也在考虑我是不是也跟LZ一样应该专著一些东西了.

2011年10月08日 22:55 "@edison87915"的内容
我试着给出一些看法与建议,有用,你就当做参考,无用,就拉倒。

一、just undo it!
1、金钱因素,如果这项技术不值钱,不能够解决自己的基本生活需求,不值得学;(吃饱了,喝足了,才能撑着干活)
2、时间因素,如果投入的时间 ...

谢谢jdon007同学的关注和建议,从您质朴的文字不难看出您应该是一位业内非常有资历的重量级人物。而我目前还只是一名跋涉于技术这座大山中的一只稍微有点小思想而且脾气有点倔强的小虾米。

我大致总结一下您的建议,而后给出我的看法和理解。纵览您的回复,不难看出,您的主要意思其实有两点:首先,您给出了自己对在技术方面修炼和提高的思想;其次,您给出了您对于研究Tomcat的一些思路和建议。对于第一点,想必大多数人是非常认同的,不过在此,我还是想说出一些我自己不同的声音,引用您一句话:“有用,你就当做参考,无用,就拉倒”。我们都是普通人,功利大潮下,谁都无法独善其身,以至于我们做任何事之前,都会或多或少地从自己的利益为出发点,一旦如此,其实我们从一开始就已经偏离了自己的原有方向,这一点是尤其可悲的,最后的结果只能是对目标渐行渐远。站在历史的角度,稍作回首,步入二十一世纪短短十年,Java为啥能在业界掀起如此大的浪潮,个人感觉其中开源精神绝对是功不可没。这一点,我们中国这些做技术的人,真的应该好好学习了。好了, 我尽量让自己不罗嗦,其实我想表达的意思就是,既然,我们选择了技术,真的应该沉下心来,在自己吃饱饭的基础之上,能够为中国在世界开源技术领域,做一点点我们自己应有的贡献。这个话也许大家觉得有点大,也有点空泛,或者嗤之以鼻。但是,我要说的是,我非常愿意从自己的这个小小目标开始这方面的求索,更愿意我的这个小小的火种,能带动更多比我更加有实力和资历的技术牛人和大侠加入到这个队伍中来,在开源领域方面早日做出点真正让世界认可的贡献。我也非常欢迎有此志向的同学积极加入到这个队伍中来。对于您的第二点建议,我表示衷心的感谢,积极采纳,有问题,我会及时向您请教,再次感谢您的关注,谢谢!

2011年10月08日 22:55 "@edison87915"的内容
我觉得楼主应该缺少一定业务分析理解能力,有点浮躁,对有工作5年的技术人员,除了技术问题之外,应该对自己从事的业务领域有自己独特的理解(每个人都不一样,个人认为这是非常重要能力),如何通过技术来解决某领域的业务问题,必须有自己的一套解决手段, ...


谢谢BinnyJ同学的关注和回复。


您说我有点浮躁,我承认,而且我目前正在积极地去调整自己;您说我缺少业务分析理解能力,不知依据是什么?业务分析理解能力缺或者不缺的评判准则又是什么?(注意:我并非想反驳,我只是想知道得更加仔细而明确一些好在这方面尽早提高)您说的应该对自己从事的业务领域有自己独特的理解,其中独特作何理解?(字面意思是与众不同)怎么样才算独特?怎么样算不独特?为什么要独特?古人云,大道至简,我不妨贸然下一个自己的鄙见供大家“拍砖”。大家工作中更多地都是在用各种各样的技术来解决问题,想要好快准而且高雅简洁地用好技术来解决我们所面对的各种各样业务问题,就必须对即将使用的技术的产生的动机和缘由问题有深入的理解,也就是这个技术诞生前的问题场景,一旦对这个初始场景有比较根本而深刻地理解,那么我们在工作中面临的问题都可以抽象转换与初始问题场景做一比对,这样的话,我们才可能用好用对技术进而解决号问题,这一点,本人觉得应该是您所指的独特的含义吧(事实上,这个过程,至少我目前是很难做到,而且工作中开发前的技术选型环节和内容往往关注的东西并非是我理解中的应该关注的那些东西,所以这里面的理论都是有待于批评认识的,很难下一个优劣的评判)。至于您说得Tomcat与面试的问题,仁者见仁智者见智吧,目前泛泛而谈的人太多了,但是,如果要我做面试官的话,我肯定会要求他对自己所谈的内容中一个小的范畴(比如线程池部分,产生背景,理论,发展现状,目前都有那些比较好的实现,tomcat中线程池的实现有什么特点,与JDK5中的util.concurrent库相比较,有那些不足等等)最好能有详尽的描述,否则我不会给高的打分。时间原因,先说这么多吧,希望大家继续“拍砖”,互勉互助,共同进步吧。

浮躁是一个很普遍的问题了,很少有人能静下心来去研究一些深入的东西。

在公司里常坐的一些技术分享非常能够体现出这样的问题,分享涉及的内容都仅仅是从网上找来的一点人云亦云的资料,最多算的上一个使用教程,至于深层的设计者的用意,设计的原理,解题思路等等真正有用的东西,那就一点没有了。

对于一些东西,如果去用只是次要的东西,大家都不是蠢人,拿出几天时间研究一下,用个八九不离十还是没问题的,关键是你,能不能从这种使用当中学习到更深层次的东西。

就好像我经常跟人说的一个道理,记住解决具体某个问题的具体方法意义不大,培养自己解决问题的能力才是根本所在。在学习成长过程当中,应该将此作为准则。

如果楼主希望作一些转变的话,我可以提出几点建议:

一、给自己换一种思考模式,在你接触到一些解题方法或者看一些东西的时候可以尝试一下经常问下面几个问题:
1,为什么要这样做,这样做的依据是什么?
2,这样做的好处是什么,又有什么缺陷?
3,好处能不能进一步发扬,缺陷可不可以弥补?
4,有没有什么办法在不降低甚至提升效果的前提下更容易的解决问题?
5,这个问题和其他的问题有没有什么关联?其解决办法有没有什么关联?

二、以上帝视角看待问题,也许有人说这是YY,但是我可以很负责任的告诉你,这一点非常重要,一个没有蔑视天下的勇气的人很难成长为一个强者,这么说夸张了一点,总之,信心、心态是最重要的东西,任何的代码、任何的工具都仅仅是你手中的棋子,它们都必须遵从你的意志,你可以一眼将它们看个通透,它们没有秘密,没有反抗。至于所谓大神,他们的设计,他们的思想在你看来也不过如此,他们没有任何值得你去敬畏,去尊崇。

以上帝视角看待问题,不是叫你狂妄自大,而是让你有一个更高的姿态,这种姿态有助于你的成长。我们举一个大家可能都碰到过的例子,“尽信书不如无书”这个道理谁都懂得,可是事实是尽信书的悲剧每天都在我们身边上演,回忆一下你有没有对大神提出的思想不加甄别就全盘接受,有没有对网上流传甚广并被无数人狂顶不止的一片资料深信不疑。我们都希望自己成为大神,可是当你每遇大神即仰角注视时,你如何成为大神?为什么很多人尽信书,就是缘于他的低姿态,他的崇拜,他为什么不会尽信一个三岁孩童的言论呢?

给自己一个新的定位吧,记住,你就是上帝。

三、基本理论才是最重要的,任何高级的理论都是建立在最基本理论基础之上的,因此最根本的是那些基本理论。设计模式是高级理论,依赖倒置原则、最少知识原则等编程基本原则才是最根本的。祖辈教育我们“万变不离其宗”,设计模式不是“宗”,而那些编程的基本原则才是。在你研究别人的代码、别人的设计时,尝试去解读其中的“宗”吧。

浮躁的社会浮躁的人,各有各的活法。
即便是面试时被打击了一次,但也不一定就要研究tomcat。人生能有几个黄金5年。上帝是公平的,你在某方面失去的,肯定在别的方面有所收获。最好是静下心来,好好想想自己这5年积累了什么。好好利用你已经有的,而不是研究别人擅长的东西。否则下一次面试还要被打击,人家可能问你 mysql的原理。你怎么办?继续研究mysql的原理?
就像fhjr999 说的给自己一个新的定位吧!

2011年10月12日 14:56 "@yeshou"的内容
浮躁的社会浮躁的人,各有各的活法。
即便是面试时被打击了一次,但也不一定就要研究tomcat。人生能有几个黄金5年。上帝是公平的,你在某方面失去的,肯定在别的方面有所收获。最好是静下心来,好好想想自己这5年积累了什么。好好利用你已经有的, ...


谢谢yeshou同学的建议。您说得非常对,大家在同样的大环境下,肯定是各有各的活法。您提到的关于积累的建议,我非常认同,有了量的积累,是应该先让自己内心沉淀点东西,再好好筛一筛,看到底能有些什么收获?面试中,肯定不可能自己什么都知道,逐个研究的话,肯定也没有那么多的精力。不过,我要说的是,我并不仅仅是因为人家问到tomcat了,发现自己仅仅是在某些场合下勉强能用用,才研究的,而是因为自己一直以来在技术方面仅仅停留于熟练工的角色,真正用心去思考的成分并不多,所以本着脱离熟练工的层面而决定下决心研究点我们日常工作耳熟能详但却仅仅是使用层面的东西,何况每个人对自己未来发展的方向和定位也都不一样,所以也不能一概而论。一句话,各有各的活法,只要肯思考,肯钻研,技术的天空都大家都会越来越开阔的,熟练工们,大家该觉醒和行动了。对于你的建议,再次表示衷心的感谢!

2011年09月30日 16:57 "@KenWT"的内容
其实说句老实话,计算机就是在用数学解决现实问题。任何一个人想要回避都是自己在欺骗自己。 ...

其实说句老实话,听你的口气,还真的把数学当成工具来用。数学是否就是一堆公式定理,给你用来计算一个又一个的结果值?作为一个数学系的学生,我对这种观点持否定态度,绝对否定。你可曾想过,数学说白了就是揭示事物之间的逻辑关系,并使用一堆符号描绘现实世界?如果你没能理解到这个层面,抱歉,请不要提“数学”两个字,请改口“算术”。再有,你试过数学建模吗?强烈建议你看看,做做,想想,然后再来这里讨论。
再有,你没看过Tomcat源代码,还跟别人说“等你再多研究一下tomcat的源码,就自己就会去研究数据结构和算法了,这个是需要经历一个过程的。”这我就完全不懂了,自己没实践过,居然敢跟别人谈经验,还发了那一大堆问题。。。在你身上,一点理工科学生的严谨态度都看不出!!!

搞错啦,怎么会是引用楼主的言论的?我想说的是zzxsky1986的那一番话的

“却从来没有认真思考过其代码背后蕴含的思想,更少有人研究过源码,进而体会大师们在某些问题的解决上秉承的思想和思维的风格”,很有同感,也深受启发。
大师解决问题的思想和思维确实是精髓

我也和你同感啊,用了那么多年的java现在还是懂的用,不知其原理是什么?悲哀!

我09年毕业计算机科学技术专业毕业,做了1年跟专业不相关的工作,10年8月开始做开发,至今已经有一年了。看到各位前辈的忠告,会让我在技术这条道路好好走下去。
我有一个心愿,就是开发在世界上都很牛的技术。由中国人创造!

看了, 六七页了, 大家说的都不错, 但是还是没出东西。
理论太玄, 而且难以定位。 只是希望楼主赶快给学习成果。

想在工作流领域有深入的理解吗
看看我的《jbpm4.4工作流源码解读研究》视频吧
http://luopan68.iteye.com/

2011年10月31日 12:19 "@xyz"的内容
看了, 六七页了, 大家说的都不错, 但是还是没出东西。
理论太玄, 而且难以定位。 只是希望楼主赶快给学习成果 ...

谢谢PCZhang同学的关注。这么常时间没有给大家回帖,确实有点不负责任(敬请大家原谅),本次就给大家一个迟到的答复吧。这篇帖子发帖至今,已经有了超过5000次的浏览量,大大超过了我的预想。其实我的原意是想通过本帖抛砖引玉,找到一些志同道合的道友一块在业务时间对Tomcat做一深入的研究,进而提升自己的技术水平。然而,时至今日,真正响应者寥寥无几(我也深知大家估计多半人都有来自生活工作等各方面的压力,以至于想真正为了某个额外的,算作是理想吧,所剩的时间和精力确实也是相当有限)。由此,我也分析了一下其中原因,做了一些反省。得到了这么一些结论,欢迎大家拍砖。
话说,不久前由于部门老大要离职了,借离职前的部门聚会间,做了一次深度沟通,主要也就是对于自己未来的发展向他做了一些必要的咨询。细节就不再一一叙述了,主要得到的建议,就是,对于五年的开发的人来说,要么就是做一个技术专家,要么就是架构师。技术专家的方向,目前他遇到的很少,我遇到的也很少,而且技术一旦脱离了具体业务,也很难体现出价值了。而如果是架构师的方向发展的话,首先就必须对某个业务领域要有比较好而且广泛的知识积累而且一定要有自己的见地,也就是成待解决的核心的业务需求,在进一步巩固自己原有知识基础的同时对业内常见的一些技术要做必要的全面了解,但是不一定都很深入。回首自己这些年参与开发的项目或者产品,其实都是一个技术的结合体,而且都是某一业务领域的一个技术上的解决方案,说白了就是一个投入产出系统,基本都是后台数据处理之后与数据库交互;前台基本都是些页面报表展示数据。想想,这些项目产品都可以做这样简单高度的概括,不知道大家是否也有这样的感慨呢?比如我们自己的产品(涉及公司保密原则,我只说大致架构,并不涉及具体业务细节和技术细节,望大家谅解),算是一个属于数据仓库方面的运营分析系统,这其实是我们的一个产品,它的架构大致可以做这样的一个简单概述,整个产品分为四块,有一个web报表系统,主要是权限管理和报表展示,再就是一个后台处理程序,这个后台处理程序是一个基于OSGI容器的Bundles的集合,这些Bundles就是可以完全一定业务功能的插件,比如某个统计A任务的Bundles,它可以把A表中的原始业务信息,按照既定的业务处理规则和逻辑处理到B表中,以供前台报表系统展示查询,这些Bundles则是通过另外一个插件定时调度执行,并且可以热部署热卸载,整个系统不受任何影响;再就是有一个缓存服务器群,我们现在用的是memcached和Redis,最后一块就是数据库。Web系统和后台处理程序可以通过JMX交互,后台程序与数据库之间通过JDBC交互,与缓存服务器通过Scoket交互。基于这样的一个产品架构,我们可以快速响应复杂多变而且个性化的需求,而且模块化的开发让我们这些开发人员感到开发起来比较得心应手而且轻松。其实这样的一个架构都是基于业内一些常见的技术,比如OSGI,Spring DM,Ibatis,Quartz,JMX,Jboss,Jboss seam,Birt viewer等等。但是它们被我们老大巧妙地组合在一起就构成了一个可以产生实际价值的架构,这个架构已经构建了好些版本的产品,而且已经为公司带来了不菲的效益。但是像OSGI或者说Quartz的源码,我们老大也没有全面地研究,顶多也就是针对这些框架的某一特性做了深入研究,然后在实际中进行了反复实践之后,这个架构就这么诞生了。
综上,我想说得就是,不管做技术也好,做其他也好,我们的方向一定要明确,不管是技术专家也好,架构师也罢,都是必要创造价值的。对于我们做技术的人来说,必须通过技术来创造价值,而不是一个技术研究家,这样的话,就有点剑走偏锋了,想体现自己的价值,就必须要创造出价值,拿出真正有价值的东西,否则自我的价值从何体现呢,好了,这次就先唠叨这么多吧,欢迎大家继续拍砖,互勉共进。

你好,现在急招架构师,如果还没有合适的岗位,请跟我联系13575454585林(杭州知名网络上市公司)