java高级程序员要学哪些技术

科技 2019-02-18 00:50:36 4231

本文收集整理关于java高级程序员要学哪些技术的相关议题,使用内容导航快速到达。

内容导航:

  • Q1:想成为java高级程序员,需要掌握哪些技术?
  • Q2:Java程序员应该掌握哪些技术点
  • Q3:高级java程序员具备哪些知识
  • 所谓的Java高级程序员往往是经验和能力的结合,并不是说掌握了哪几个技术就是高级程序员了,能否把掌握的知识运用到实际的项目中,并且解决了具体的问题,这个才是衡量一个Java程序员的标准。

    那么对于一名Java程序员来说,如何成长为一名Java高级程序员呢?下面分别对经验和能力做一个描述。

    先说经验,通常情况下经验对于一名Java程序员来说是非常重要的,项目经验基本上就是Java程序员知识结构的一个呈现,通过项目经验也是快速了解Java程序员的基本方式。如果做过Java Web开发的主力程序员,那么至少具备以下三大块的知识结构:

    第一:Java语言本身的掌握情况。这部分内容包括Java的面向对象开发的特征,JVM的结构以及Java Web开发的体系结构等内容。这部分内容虽然都比较基础,但是细节却比较多,包括Java性能优化、Java并发开发、Java操作数据库、Java Web开发标准、Java网络开发、Java序列化等一系列内容,其实Java并发开发还是有很值得深入研究的(我在头条写了20多篇关于Java并发开发的文章,感兴趣的朋友可以看一下)。

    第二:Java分布式开发。对于Java语言来说,分布式开发是Java一个重要的内容,由于Java一个很重要的应用场景就是大型网络平台的后端开发,而后端开发一个重要的基础就是构建一个健壮的分布式开发框架。Java的分布式开发比较考验程序员解决问题的能力,从早期的RMI、SOAP到目前采用的分布式框架(dubbo、zookeeper)以及Spring Boot和Spring Cloud的使用,这些技术的运用是Java高级程序员必须掌握的。

    第三:场景解决方案。对于一名Java高级程序员来说,在不同的场景下要有不同的结局方案,这也是非常重要的。要能够根据具体的需求完成不同技术方案的实现过程,这是Java高级程序员经验的一个直接体现。

    下面再说一下能力,Java高级程序员的能力体现在很多方便,其中比较重要的包括学习能力、技术公关能力和交流能力。由于软件开发的更新速度比较快,所以要不断掌握这些新出现的技术及方案,同时具备把这些方案进行实际应用的能力。另外,Java高级程序员也要具备较强的交流能力。

    我从事Java开发工作多年,目前也在带软件开发团队,我会陆续在头条写一些关于Java方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

    如果有Java开发方面的问题,也可以咨询我。

    谢谢!

    Q2:Java程序员应该掌握哪些技术点

    首先,学会一个J2EE服务器,tomcat+(Nginx或者httpd等web服务),学会的标准是,会下载,能启动,知道什么文件部署在什么地方,能看到启动画面,能知道最直接,最关键的配置文件名字和位置。你要了解下其他的服务器的名字,就足够了。有人叫你去学weblogic?那是坑你,2个月weblogic,你最多也只能懂十分之一。太重。
    其次,学一个框架,以前SSH,现在SSM,这些都多余,你就只看spring MVC,因为所有的mvc框架都类似,你只要坚持你了解MVC,其他的我觉得是容易借鉴类推的,H和M,你就直接说,我没有项目经验,我是没有实际接触过的,我只了解一点点原理,这个不要花时间,最后去看几眼文档就可以了。spring MVC,就这么简单,一个就行。
    然后是数据库,别赶时髦搞nosql,老老实实关系型,mysql就很好,坑浅应用多,最近连集群支持的都很好了,你只要强调一点,数据库,你不是DBA,你还不懂如何调优,如何调执行计划,你只懂增删改查,所以你要学的就是T-SQL,标准是你能手写带条件的增删改查,会复杂语句更好,稍微了解下sql效率方面的问题,为了面试也是可以。MSSQL在国内被鄙视的不行,如果有人叫你弄oracle,那又是太装逼,我手下一票的5年+程序员,其中有超过一半连oracle的AWR都不会读,有的连数据字典都不知道。
    IDE不多谈,你总逃不过eclipse和几个大厂的东西。要用简单易用的,别花太多时间在这个上面。
    设计模式你要稍微看一下,了解什么是设计模式,你大可以老实说,你根本刚入行,只是粗通工厂模式和单粒,其他的需要在工作中学习,这样既不会显得完全不懂,也不会出什么纰漏。
    程序方面,jdbc需要了解下,相关的有连接字的写法,如何准备和获取结果,什么是resultset这类东西,当然,数据库连接的关闭和释放也是需要的。
    类和抽象类和接口的关系搞清楚,继承和实现搞清楚,重载重写搞清楚这些都是基本概念。
    EJB现在不太用了,稍微了解下,你可以用spring所以不用手写EJB了。spring除了MVC以外,还有很多项目,DAO可以看一下,比较初级。
    由于java主要是B/S结构,无论是集成还是自己的前后端,你都要看一下http,整个http的生命周期是什么?存在哪些步骤和不同的application负责哪个阶段,相关的有几个request和response实体,包含什么是session了解下。
    业务逻辑的话,上手仔细写几个例子就好了
    前段你不需要了解太多,JSP+JS就足够了,你是程序员,不是前端的美工,不用去了解太多。jsp上有个容易忽视的基础点:tag到底是什么如何处理。jsp的生命周期这些也最好看一下。
    基础的devops稍微了解下, git的代表,github可以注册一个账号,搞清楚本地repo和远程repo之间的关系即可。SVN更为简单一点。
    Maven也要学习一下,主要是pom文件的几个主要的部分,尤其是depedency。
    code smells方面手写万把行代码。自己有个感觉,不用去刻意背javadoc。

    Q3:高级java程序员具备哪些知识

    java高级程序员需要具备的知识如下:

    1、语法:Java程序员必须比较熟悉语法,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息 知道是什么样的语法错误并且知道任何修正。

    2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟 悉:appletviewer、 HtmlConverter、jar、 java、 javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解。

    3、工具 :必须至少熟练使用一种IDE的开发工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。

    4、API:Java的核心API是非常庞大的,但是有一些内容笔者认为是Java程序员必须熟悉的,否则不可能熟练的运用Java,包括:

    ◆java.lang包下的80%以上的类的功能的灵活运用。

    ◆java.util包下的80%以上的类的灵活运用,特别是集合类体系、规则 表达式、zip、以及时间、随机数、属性、资源和Timer.

    ◆java.io包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO类的特性和使用场合。

    ◆java.math包下的100%的内容。

    ◆java.net包下的60%以上的内容,对各个类的功能比较熟悉。

    ◆java.text包下的60%以上的内容,特别是各种格式化类。

    ◆熟练运用JDBC. 8)、java.security包下40%以上的内容,如果对于安全没有接触的话根本就不可能掌握java.

    ◆AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。

    ◆Swing的基本内容,和AWT的要求类似。

    ◆XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。

    5、测试 :必须熟悉使用junit编写测试用例完成代码的自动测试。

    6、管理:Java程序员必须熟悉使用ant完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。

    7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。

    8、思想:必须掌握OOP的主要要求,这样使用Java开发的系统才能是真正的Java系统。

    9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。

    10、博学:Java程序员除了精通Java意外,还要掌握J2EE、Oracle、WebLogic、Jboss、Spring、Struts、Hibernate 等流行技术,掌握软件架构设计思想、搜索 引擎优化、缓存系统设计、网站负载均衡、系统性能调优等实用技术。

    相关文章
    程序员三大核心竞争力2018-10-14
    java程序员发展前景大不大2019-03-17
    web前端开发属于程序员吗2019-04-02
    程序员是做什么的工作2019-04-11
    有个程序员男朋友是什么体验2019-04-13
    深圳程序员工资一般多少2019-04-18
    如何才能成为一名优秀的程序员2019-04-18
    不想做程序员了 太累了2019-04-22
    程序员加班有加班费吗2019-04-26
    程序员如何度过中年危机2019-04-27