这是我近期的两个疑惑 作为菜鸟 眼光有限 大家不要见笑 希望前辈们能给点经验之谈
     前一段我的一个高中同学去参加了J2EE的培训 他是专科生 我是本科生(刚大三) 虽然他之前没接触过编程之类的东西 但学习非常刻苦 培训出来之后我跟他聊天 感觉他学会了好多东西 
     而我呢 本身不是纯计算机专业 恕本人不才 自学JAVA也有几个月了 还停留在JSP/SERVLET 不是没时间和精力往下学 而是我觉得自己的基础不牢靠  很多东西都是朦朦胧胧的 再加上自己对JAVA之外的东西比较感兴趣 所以我又重新学习数据结构和J2SE的东西 还有在学计算机网络和操作系统等
     所以由此引发我的两个问题 
     1.  除了J2EE培训时候讲的那些业务系统 Java究竟还能做什么?我个人并不喜欢那种重复性的工作 据说有些做业务系统的公司就是拿着一个一套系统不断地修改来满足不同客户 所以容易在技术方面到了三十五岁左右就被刚来两三年的新人竞争下去了 我不知道是真是假 因为只是听说 但我不希望走上这样的道路
     2.  学好基础的意义何在? 根据我的经验 大部分技术类的事情 基础是很重要的 所以我也认为计算机也是如此 可能我这个人好奇心比较强 遇事总喜欢问究竟是什么?这是为什么? 所以我在J2SE上花了比较多的时间 可从长远角度来看 这样做是否真的有很大意义?

解决方案 »

  1.   

    兄弟,给你几条建议吧:
    1、任何所谓的高级技术都是“基础”组成的。所以你的基础必须扎实。
    2、你问java到底能做什么?其实你只要把他看成是一个工具就可以了。能做的事太多了。
    3、你不知道如何入手的话,建议你先去看看别人的视频,尚学堂,MLDN,传智播客等等,都很多好的东西。
      

  2.   


    貌似这是一个向上学习 还是向下学习的问题。你去参加培训 ,教你些框架,你 明白怎么用能做出来各种管理系统之类。  
    所有经过培训的都可以做。拿一个简单的例子来说,
    比如我们说 nagle 算法,如果不学 计算机网络 ,我们可以用 但是我们不知道什么时候该 启用或者禁用nagle算法。比如他们常问 浮点数的问题, 学了组成原理不就很容易理解了???
    对于 线程的同步与互斥 ,可能有些人怎么想都想不明白, 学了操作系统不就会了?虽然 大家都在用WEB 服务器,貌似有些都不知道什么是 HTTP 协议。大家对数据库 都是 crud  可有多少知道 啥叫事物可串行化,甚至有些都不知道什么是 BC范式?最深刻的例子, 去面试淘宝实习生,  他问我 hash 一致性算法
    当时想起在 计算机体系结构里面看过,可是没仔细听,果断就不会了。这就是悲剧。
    不要怀疑 , 你的选择肯定是正确。
      

  3.   

    我刚开始就是跟着老师做 2B项目,还没搞清楚 jsp servlet的时候就开始写代码了,之后回顾 发现代码我自己都不忍心看
      

  4.   

    你所说的基础我不是很清楚是指的什么1:计算机基础?2:java基础?如果是计算机基础那么包括:网络,数据结构,计算机组成原理,操作系统等等,数据库原理,学好这些东西对你将来了解更多的java高级特性比如NIO,网络编程,线程等有帮助,对你将来学习分布式,集群,负载均衡有很大帮助,就是说学好这些东西你就会去思考一门语言为什么要这么设计,这么设计有什么好处。当然这些东西是在培训机构或者什么尚学堂,MLDN,传智播客上学不到的,也别太指望百度谷歌,他们并不能给你一个系统的学习流程,至多就是告诉你某一个特定的知识点,所以这方面的基础要好好学。如果你指的是java基础:那么你有更多的java基础对你将来参加开源项目,或者读懂优秀框架的源码有帮助,优秀的源码中涉及到大量的设计模式和优秀的编程模式,没有一个好的java基础是看不懂的,而一个程序员如果读不了 源码,只会做一些简单的SSH编程或者web应用将是远远不够的,更别谈自己去写一个框架了,所以java基础也很重要当然如果你说的这两方面基础都能学好的话将将会有很大的益处的,加油吧!孩子
      

  5.   

    首先,javaSE的基础很重要,因为万变不离其宗,比如当你想去学习一些大牛写的代码时,很多好的设计和思想,看了半天的代码最后只是知道这样写好,不知道为什么好。这就是基础的重要性。
    还有就是javaEE是主要做一些企业级的应用,一般大一点的公司是都会有比较成型的针对自己客户群的系统。但是并没有新人取代老员工的说法,这要看个人能力,如果说你能用两个月的时间学会别人用两年时间学的东西,那说你能力强,在哪里都会出类拔萃,这种新人代替老员工也很正常了。
      

  6.   

    考虑到作为大三的学生,建议不要将精力过多地放置于J2SE、数据结构本身
    当然从理想的角度来说,应该先把基础打好在从事开发,但这样的话你会发现当毕业的时候,你什么都不会做。
    所以建议尽快从项目入手,进行开发
      

  7.   

    Java能做的太多了,不能做的还真没见过
    最常见的一个问题就是调试,很多人代码一出bug,都不知从何找起,就是因为基础不好
      

  8.   

    我刚做程序员2个月了,感觉基础还是很重要的,比如流的操作,文件的操作,线程,数据类型的掌握,map,list等,你会了这些基本就可以写代码了。诸如框架的东西无非就是把基础的东西封装实现某个功能,让你在写代码时用它会少写一点。java能做的很多,绝对能靠它吃饭的,这点不用担心
      

  9.   

    我建议楼主先熟悉一下框架,ssh是一定要掌握的,先学会用框架做东西了,就是怎么用框架。
    之后再去研究底层的JavaSE,之后再去看框架的源码,了解框架是怎么运行的,最后就是试试自己能不能写出来,我觉得学java的步骤应该是这样的。个人理解,欢迎探讨……
      

  10.   

    你很像我,真的!我SE部分基础打了三年了,不是说我三年才看懂,是我三年里都在琢磨琢磨再琢磨。1、培训机构教会学员的只是如何去用框架,做码农,真正的基础他们是打不牢的!培训机构一般是要培训4-6个月,在这几个月的时间里,教SE的时间并不多!顶多给你两个月,两个月你能牛到哪去?你要记住,培训机构往往是留给“较笨”或是“较懒”的程序员的,学出来后他们会高级点,变成码农。
    2、如大家所说的,就像盖楼,你的基础很关键,现在你体会不到打好基础的好处,等你以后搞久后,就会发现你走的路是正确的了。
    3、框架!了解了解就行了,用到什么框架再学什么框架,没必要太专研框架,框架只是个让你快速写出功能的工具,框架只是框架的作者把SE的东西经过他的大脑把它们包装起来了而已,你如果基础好了,设计模式都精通了,只要你有创意,你也可以写一个,只有你想不到没有你写不到。
      

  11.   

    JAVA能做什么--- 看看招聘java的公司,是弄什么,就最清楚、最现实了。学好基础的意义--- 基础始终是重要的,但也有个深入到哪里,怎么学习的问题。能力强、兴趣浓就打个扎扎实实;次点就弄清楚、会用,基本可以了;差些的,就多练多看,多逛论坛,别纠缠在学习方法、学了多少上,少(与人)比较多练习,坚信勤能补拙、笨鸟先飞。说来说去,觉得应因人而异,视情况而定。