找完工作了,offer不大不小,还算满意,我将我的学习经验写下,希望给后来人一些启发,更希望Java能够长盛不衰。
如有谬误请见谅
声明:
我是一个普通本科生
以下仅个人见解,如有反对意见,勿人肉我
觉得写代码是软件工程师中混得最锉的人请绕过
觉得Java就是用来做网站的请绕过
觉得SSH就是*鸟的同学培训学习的请绕过
第一阶段 熟悉语言
在这个阶段,你是这个领域绝对的新手,你什么都不懂,什么都不知道,没有别的办法,看书,写代码,请教大牛。
在这个阶段你需要深入了解Java语言的语法,能够用它来做一些小东西,比如闹钟之类。并且随着你的学习深入,对自己未来的学习方向做出选择,SE,EE,ME?选择好自己的方向然后努力吧!我的方向是EE。
目标:扎实基础,对语法和整个Java的宏观有一定的理解,具备一定的编码能力。
第二阶段 熟悉开源框架
在这个阶段,你具备了一定的能力,也是最容易满足的时候,这个时候你需要不断看书不断学习,否则你将很难跨过此阶段成为大牛。
在这个阶段你需要对各种框架的使用非常熟悉,怎么样熟悉呢?不是看书,而是做项目,只要你想做,你会有一大把的时间和机会去做项目,运气好的话,money哦 -_-
目标:熟练使用各种开源框架,着重但不限于SSH,lucene等,积累一定的项目经验。顺利的话这个时候你将有一套***完整的知识体系****:
JS,AS,CSS
|
SSH等等各种框架
|
各种数据库(包括但不限于sql及其优化,存储过程,各种索引,分区......太多了)
千万必须一定保证能单挑20000代码量以上的项目
第三阶段 阅读源码
当你到这个阶段的时候,如果前几个阶段过渡得好,那么不出意外你已经可以告诉别人你有10w行代码量了,接下来呢?让我们回归。
这是一个没有人帮助你的阶段,踏实地看源码,踏实地总结,在这个阶段的完结时候,你基本能总结出一本书那么厚的经验了。
这是一个很重要的阶段,因为前两个阶段的人将占绝大部分,你如果不通过此阶段,你将和他们毫无差别,不管你曾经付出多少努力。
目标:阅读JDK源码,了解各种类的设计及应用场景。阅读各种框架源码,了解各种开源框架的设计和实现原理(不要在网上看了一篇文章就说IOC,AOP精通了),最好能研究一下JVM(这个大公司非常看重),并能够反思自己做过的项目中,这些框架的缺点和你的改进的方法。
第四阶段 深入架构
不得不说,这个时候你会很孤独,因为很少有人坚持到这个阶段,为了未来,你必须在这时寻找到一位和你相当的朋友,相互交流(thanks wkx-_-)。
这个时候你需要跳出"二手货交易市场",来到真正的互联网大型应用,这个时候你接触的不仅限于语言,还有集群,分布式文件系统,分布式缓存,负载均衡LB,高可用性HA,主备拓扑应用,数据、页面、动态缓存,数据库分库分表,水平垂直扩展。那么很高兴的告诉你,这个时候你会发现以前的编译原理,操作系统原理,网络原理这些课终于有了用武之地。
目标:对于大型网站架构具备很强的理论水平,并且能根据(模拟)测试结果判断系统瓶颈所在并进行性能调优(这点几乎可以使你无敌于天下),熟悉但不限于以下名词:
ab,nmon,reverse proxy,lighttpd,apache prefork,epoll,sendfile,opcode,squid,memcached,LVS,hadoop,map/reduce,hessian ,OSGI,mysql master-slave,Oracle Standby Database,完了,太多太多了......
以上的1/5你一旦熟练掌握,那么,你将不弱于绝大部分研究生,并能和一位不懂Java的面试官时,让对方意犹未尽的跟你谈50分钟。
什么叫走完这四个阶段,前提是你的简历上应该有以下几句话:
10万行代码量
极高的压力承受能力
对技术的执着追求
不出意外(前提是我表达没问题),读完这篇文章,大家应该对于自己的课程安排和学习曲线有了一定的了解,并能分辨哪些东西对于自己很重要,这样你的学习之路将会平坦一些吧。
总结如下:
1.没有最强的英雄只有最强的玩家。(整天抱怨这不好那不好的同学知道原因了吧)
2.代码量是王道。(当然不是指反向生成的DAO)
3.完美的学习曲线。(公司比较注重你自学的学习曲线是否合理)
4.恒心。(中途放弃你将一事无成)
备注:本博文转发自
http://forchenyun.javaeye.com/blog/546733
分享到:
相关推荐
这篇本科毕业论文的主题聚焦于Java技术的外文文献翻译,旨在为计算机科学与技术专业的本科毕业生提供参考资料。Java作为一种广泛使用的编程语言,其在软件开发、分布式系统、移动应用以及云计算等多个领域都有重要...
本科毕业设计Java基于opencv车牌识别的停车场收费系统源码本科毕业设计Java基于opencv车牌识别的停车场收费系统源码本科毕业设计Java基于opencv车牌识别的停车场收费系统源码本科毕业设计Java基于opencv车牌识别的...
【标题】:“大学毕业本科Java课程设计” 在大学本科阶段,Java课程设计是计算机科学与技术专业学生必须经历的重要环节,旨在提升学生的编程能力和项目实践能力。这个资源包含了完整的Java编程项目,提供了从需求...
Java SSM 毕业设计管理系统是一款基于Java技术栈,采用Spring、SpringMVC和MyBatis框架构建的管理软件,旨在为本科毕业生提供一个全面的项目实践平台,以实现对毕业设计过程的系统化管理。这个系统通常包括用户管理...
Java毕业设计是大学本科教育中一个重要的实践环节,旨在让学生将课堂所学的理论知识与实际编程技能相结合,提升问题解决能力。对于07级的学生来说,这可能是指2007年入学的学生在毕业时进行的项目。在这个最新的资源...
本项目是一个基于Java深度学习的人脸识别考勤系统,它为本科毕业生提供了一种实际应用计算机视觉技术的实例。在当今数字化的世界里,人脸识别技术已广泛应用于安全、考勤、门禁等领域,而将这种技术融入Java编程环境...
通过分工合作,学生不仅能学习到技术知识,还能提升沟通协调能力,这对于应用型本科毕业生的就业竞争力至关重要。 六、评估与反馈机制 建立多元化的评价体系,包括平时成绩、项目完成情况、课堂表现等,全面评价...
该本科毕业设计项目是关于构建一个Java平台上的深度学习人脸识别考勤系统。在这个系统中,开发者利用了深度学习技术来实现高效、准确的人脸识别功能,以自动化员工或学生的考勤记录。以下是对该项目各部分的详细解释...
【2020届软件工程本科毕业生毕业设计项目】是一个典型的本科阶段教育实践,它涵盖了软件工程领域的多个重要知识点。毕业设计是学生们在大学四年学习的总结,也是他们将理论知识应用于实际问题解决的重要环节。在这个...
摘要:本文设计并实现了一个基于 Spring Boot 的高校本科生学习成长记录系统,旨在解决学习各方面的问题,提高信息化水平。该系统具有用户模块和管理员模块两个主要部分,用户模块实现注册、登录、查看活动信息、...
【本科生网页毕业设计】是一个基于JSP技术和MySQL数据库构建的在线交流平台,旨在为本科生提供一个互动学习和讨论的空间。这个项目的核心功能是模仿BBS(电子公告板系统),允许用户发布主题、回复帖子,以及进行...
用Java写的项目,项目真实可靠,可用作本科毕业设计,欢迎大家下载学习。用Java写的项目,项目真实可靠,可用作本科毕业设计,欢迎大家下载学习。用Java写的项目,项目真实可靠,可用作本科毕业设计,欢迎大家下载...
这篇本科毕业论文旨在设计并实现一个供用户使用的博客系统,通过需求分析、概要设计和详细设计,实现数据库信息的检索与维护,以及博客系统的各项操作功能。 首先,我们来看看问题的提出。随着互联网的普及,个人...
综上所述,这份Java本科毕业设计外文翻译文献的资源对于学生来说,是一份难得的学习宝典。它涵盖了理论与实践的结合,有助于学生在毕业设计阶段深入理解Java,为将来从事相关工作打下坚实基础。同时,这也是一个提升...
Java图书管理系统是一个典型的软件开发项目,适用于高校毕业生进行毕业设计,以展示他们在编程、数据库管理、用户界面设计等多方面的技能。本系统采用Java作为主要编程语言,这得益于Java的跨平台特性,使得该系统...
为了帮助大家更好地完成毕业设计,我们特地整理了一系列Java毕业设计项目参考资源,包括源代码、MD文档、笔记等等,希望能对您的学习与研究提供有力支持。 项目源代码:涵盖了多个Java毕业设计项目的完整代码,包括...
在信息技术领域,本科生毕业设计是每位计算机科学与技术专业学生必须经历的重要环节,它是对学生四年学习成果的一次综合检验。毕业设计论文的撰写和电子化处理,旨在培养学生的独立研究能力、问题解决能力和创新思维...
基于Java Web的智能二维码门禁管理系统(本科毕业论文+毕业设计).zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做...
【标题】"一个本科的毕业设计.zip"是一个包含本科毕业生完成最终学业项目的作品集。这个压缩包可能包含了学生在整个毕业设计过程中的所有成果,包括研究报告、代码、设计图纸、演示文稿等。本科毕业设计是高等教育...