Java学到什么程度才能叫精通?


如果要谈精通Java ,有一个特别直接的方法,那就是考察工程师是否具有:

“快速构建开发框架的能力”。

例如下面这个系统:

这是一个典型的web应用(基于Java)。虽然就整个系统搭建来说,是架构师的责任。但其中的深色部分,是一个典型Java应用框架。以此为标准,框架的搭建能力,可以用来考察软件工程师是否真的精通Java。

在一些新项目中,项目经理和架构师会根据业务需求从顶层设计架构。待架构稳定后,会进入实际的编码阶段。但在更大规模的业务编码前,首先要搭建好系统的基本框架,而这个框架一般会交给团队中最资深的工程师(当然精通Java)去做。

具体框架的搭建时间一定不能太长,因为整个开发团队都在等待。

同时,因为这个框架是长期开发的基础,所以质量一定要有保障。

搭建框架的技术指标,一句话:又快又好

搭建这样的框架,以我的经验,团队能接受的时间一般是2周,最多不能超过3周。

这个框架如果由一个初级工程师来搭建,因为缺少长期的积累,必然需要大量的时间。但除了时间,更糟糕的是质量。

因为一个好的框架绝不是靠脑子凭空想出来的,更应该实践磨练出来的。而初级工程师因为缺少实践锤炼,踩过的坑不多,吃过的亏少。纵然理论再丰富,天资再聪颖,也无法在沙地上凭空打出扎实的地基。

而且,实践中,即使有很多工程师有丰富的实践经验,但也不意味随着时间推进,老工程师就天然具备搭建高质量框架的能力。因为实践背后,更需要深刻的洞察力,和笔耕不辍的总结。

现实中,一个大型的项目,代码量必然是巨大的。即使是当初设计再精细,但随着开发的不断推进,腐败的引入是无法避免的,其中一个显著特征就是模块之间的耦合不断增加。

用一个比喻来形容,随着时间发展,整个软件系统就像人体一样,血肉筋骨都粘合在了一块。对软件工程师来说,要从这样的系统中提取出凝练的框架,就像对一个高水平的外科医生要求的那样。在理论上要保持绝对的精通,就像医生对解刨学的掌握。同时还有有极强的编码能力,就像医生握手术刀的灵巧双手一样。用一句话来形容一流的Java工程师(医生也是这样),那就是:“鹰眼、狮心,女人手”

但是,软件工程师和医生还有一点不同,那就是对速度的追求。因为搭建框架的工作是整个团队开发工作的前置阶段。

而要提高框架搭建的速度,除了日常多思考,多总结,更要做到“未雨绸缪”,提前布局。

以我为例,日常的开发中,对每个经手的大型项目。除了通过不断的重构,来保持整个框架的清晰外,我还会尝试把每个系统中的框架单独剥离出来。这样的做法,除了避免框架被污染的同时,也不断丰富了属于我个人的“架构模式”库。

这样的做法,一则在面临新项目时,极大的提高了项目的推进速度。另一方面,也极大的提高了个人的技术自信度,以及职业安全感。

与此同时,现实中,我也看到有很多老师,在面对新人如何精通Java的疑惑时。总是二话不说就抛出冗长的“Java技术路线图”。对这种做法,我个人是持怀疑态度的。

新人如果按照这种观点,按图索骥的去逐项攻克。且不说这些知识点有多少是过时的,没用的。就算这些知识点都在线,在有限的时间里,新人面临入行压力。这样学习方法,可不是“30天Java从入门到精通”,更是“30天Java从入门到放弃”。

而更加现实的态度是让新人明白,这些知识点当然有用,但要做到精通,单纯通过学习是远远不够的。正确的方法是快速了解,重点突出,把宝贵的精力投入到重点和难点上(例如Spring核心原理)。

然后迅速进入实践(包括工作和自我练习)阶段。在实践中,通过有效的反馈、深入的思考、不断的总结,最终才能从一名初级Java程序员迈入精通行列。

原文地址:https://blog.51cto.com/13754022/2369380

时间: 2024-10-14 23:44:03

Java学到什么程度才能叫精通?的相关文章

Java到底要学到什么程度才能称之为“精通”?

一.Java编程 这里的Java编程部分包含了很多内容.我们可以分别看看,大概归纳一下就是这几个部分. Java基础 这里的Java基础包括基本语法,集合类框架,以及一些高级特性,比如反射,注解等等. Java基础的知识点非常多,所以要真正搞懂也没有那么简单,另外,随着时间推移,一些新特性也需要得 到我们的重视,比如时下流行的JDK8. 设计模式 我一直觉得设计模式可以和Java基础一块学,所以我也把它放在这里.当然,一些真正使用到设计模式的 地方,譬如JDK的集合类,IO流等等,也需要你足够重

JAVA学到什么程度才可以转战Android?【高手解惑】

如果有同学想要深入了解或是说有什么疑问的呢可以加***流487425429. 先简单的分两种情况:一.有编程基础,或者科班出身的,直接上吧.强烈推荐郭霖老师的<第一行代码-Android>二.没编程基础的,先入门java,如果天天都有比较多的空闲时间的话,这个入门时间要在2周完成,如果没有的话,1个月内完成吧,不要让拖延耽搁你的激情.如果你准备好了进军Android:不管你什么时候开始学习Android,请使用Android Studio,首现改主题,然后去网上搜一下常用的20个快捷键截图放在

学习大数据要什么基础知识?学到什么程度才能从事大数据行业?

因为大数据前景好,薪资高,很多人想通过参加学习大数据,然后进入大数据行业发展.但是因为大数据的门槛较高,对于学习人员有一定的要求,那么学习大数据需要什么基础知识呢? 首先我们了解下对于大数据学习者本身的学历水平的要求 目前大多数的机构,对于大数据学习者要求必须是大专学历以上,而且大专学历还要求是计算机相关专业的,如果是本科及本科以上的,则对专业要求适当的放宽.同时大数据分为两大方向:大数据开发和大数据分析. 这两大方向的对于基础知识的要求不同,大数据分析偏向于分析,对于编程要求不高,相较而言对于

Java到底要做到什么程度才能适应市场的需求(大佬的面试经历)

前言:从过年前就萌生出要跳槽的想法,到过年来公司从月初提出离职到~~号正式离职,上班的时间也出去面试过几家公司,后来总觉的在职找工作总是得请假,便决心离职后找工作.到3月10号找到了一家互联网公司成功应聘上,中间也经历了很多公司,有外包的.创业的.互联网的等等各种类型,也收到了很多offer,也有面试不顺序的...今天来记录一下自己面试中的问题,围绕着java到底应该具备什么样的水平才能适应现在市场的要求的主题来谈一谈.创一个小群,供大家学习交流聊天如果有对学JAVA方面有什么疑惑问题的,或者有

Mac10.10 Intellij idea 14 您需要安装旧java se 6 运行环境才能打开

今天装好了10.10,安装开发环境:jdk1.8,intellij idea 14,打开idea的时候提示:您需要安装旧java se 6 运行环境才能打开.费解!之前10.9的时候安装就没有出现问题. 解决办法:到应用程序中找到idea,右键-->显示包内容-->Contents-->Info.plist,用文本编辑器编辑.找到 <key>JVMVersion</key> <string>1.6*</string> 修改为 <key

Mac OS 您需要安装旧 Java SE 6 运行环境才能打开“XXX” 问题

问题描述: 今天在Mac OS上安装一个app的时候提示 “您需要安装旧 Java SE 6 运行环境才能打开 XXX” ,在网上搜索了一下,有说要改app的info.plist文件的,将其中的JVMVersion改成自己机器上的版本的,但是在我的环境下修改了仍然不起作用,最后还是使用了下面的方法搞定的. 解决办法 从下面的链接下载javaforosx.dmg并安装,然后再执行上面出错的app,问题就可以解决了. https://support.apple.com/kb/DL1572?viewl

【java读书笔记】JSTL,快速精通

JSTL并不是什么新颖的技术而且很简单,甚至有人认为JSTL已经过时了.但是我认为它既然存在,就有存在的道理,作为技术人员就应该知道它们是什么,怎么使用,有什么优点. JSTL包含两部分:标签库和EL语言.下面先介绍标签库,再介绍EL语言,最后总结一下JSTL的优点. JSTL JSTL简介 JSTL(JavaServer Page Standard Tag Library,即:JSP标准标签库),是由SUN公司提供的简化JSP页面设计的标签.JSTL是由Core(核心库).Format(格式化

软件测试为什么需要学习Linux的知识?Linux学到什么程度?-log5

软件测试为什么需要学习Linux的知识?学到什么程度?-log5 ---Dotest软件测试测试学堂-董浩--- 公司目前90%的服务器操作系统不是windows,而是linux(redhat.debin.centos):因此如果你想要定位一个问题或者迭代环境更新时,你就需要登录后台服务器去排查.操作.这时候你不会linux,怎么可以? 另外就算你在公司内用不到(因为后台服务器可能会限制),你会发现现在2019招聘软件测试,大部分都需要测试环境搭建.linux命令基础.shell脚本能力. 因此

Java培训机构如何选择才能避免被骗?

近年来,随着IT行业的快速崛起,各类互联网人才供不应求,而Java工程师作为目前最为火爆的岗位之一,更是以高薪+高新技术的标签受到了人们的广泛关注.许多年轻人也看到了这个行业的发展前景,决定报名培训机构学习Java,想通过投资时间精力来换取高薪回报,但有些时候往往事与愿违,培训行业的水深导致诸多学生上当受骗. 那如何选择培训机构才能防止被骗呢?什么样的培训机构才是优秀的Java培训机构呢? 如何防止被骗呢?先注意以下几点 1.不要盲目相信承诺高薪保证的机构 凡是在你咨询时候就给你保证"毕业后一定