一个合格的JAVA工程师要掌握哪些技术,掌握到什么程度?(回答最好具体一点技术,程度,以及学习的方法)

作者&投稿:颜非 (若有异议请与网页底部的电邮联系)
一名优秀的Java软件开发工程师需要掌握哪些技术能力~

随着电子科技的发展,科学的广泛应用,各行各业都在不断的推广自动化办公软件,一方面是为了节省更多的人力资源,另一方面是为了更高效的管理,为公司赢得更高的利润。
软件开发工程师?首先是对操作系统的认知
大家都是知道,不管什么应用软件,都必须依靠一个操作系统,只有在一个操作系统上,它才能很好的运行;我们常用的操作系统最多的当数微软的windows操作系统了,最近微软推出的是win8操作系统;由于是刚刚推出,它还不能被用户所接受,目前大多用户还在用win7和windows xp操作系统。所以,我们应该掌握在win7和windows xp操作系统下进行软件开发的技巧。如果你对操作系统的认知不够全面,那么,你所开发出来的软件兼容性一定会有问题,对操作系统的认知是对一个软件开发人员最低的要求。
其次是对开发语言的掌握
软件开发,通俗的说就是写程序,就是把一串一串的命令组合起来,让它来替我们完成某种特定的任务。如果你从事的是java软件开发,那么你重点必须精通java语言,你要懂得java的特性,java语言的语法,java语言的算法等等;你也要懂C/C++方面的知识,一个好的软件开发工程师必须要熟练掌握两种以上的开发语言。如果你想从事 .Net软件开发,那么你还得懂得C#和VB语言;如果你基本的开发语言都不熟悉,更不用说能开发出好的软件了。、第三是对开发工具的使用俗话说:磨刀不误砍柴工,要想开发出一个好的软件,对开发工具的熟练应用是非常重要的,它可以让你事半功倍;java软件开发常用的开发工具有:开源的Eclipse和收费的MyEclipse,.Net软件开发工具有:微软的VisualStudio,Pascal软件开发工具:Delphi。
第四是对TCP/IP网络协议的了解
有了TCP/IP网络协议,使网络得到了飞速的发展;从早期的C/S结构的运行模式到现在主流的B/S结构的完美转变,TCP/IP协议是功不可没的,未来更是离不开TCP/IP协议;要想成为一名优秀的软件开发工程师,特别是手机软件开发工程师,你不仅仅要知道ISO有哪几层组成,你更要知道,每层的功能和作用。
第五是对数据库的熟练应用
数据库对软件的影响是不容小视的,因为我们做的工作都是心数据为中心,重点部分就是操作数据,如果没有数据库,那么软件的作用也就会大大降低;目前常用的都是关系型数据库,主流的有:甲骨文公司的Oracle、微软公司的sqlserver、IBM公司的DB2,还有一些小的数据库,如mysql,Access等;我们一定要熟练掌握SQL语言,它是操作数据库的关键。
第六是对软件工程的了解
软件开发的流程
》中每个阶段所要用的技术,如客户需求,市场调查,可行性分析,需求分析,详细设计,最后的软件测试等等,这些都是你应该了解并掌握的,如果你要是不懂软件工程,那么你要补习一下喽;在软件开发公司,这一些是相当重要的。
第七是要有勇于探索,勇于创新的精神
一个优秀的程序员,不能总是原地不动,不去思考,要多去想一想为什么要这样做,如果不这样做会产生什么样的后果;要努力学习新的知识,因为软件行业是一个更新速度非常快的行业,如果你的知识2年都没有更新的话,那么,你在这个软件开发行业的前景就不容乐观了;每天都要抽出一定的时间学习新知识,只有这样,才能走的更好,更远,更稳。
安安DIY创作室
一起讨论,里面也有一部分关于java软件开发、.net软件开发和delphi软件开发的知识,共同学习。

如果只是应用Hadoop/Spark进行数据分析,那么JavaSE只需要基本了解就行了,重点在于深入理解Hadoop/Spark各自的计算模型和实现原理,以及常见的数据分析方法和分布式算法。实际的分析工作,甚至可以不使用java,使用各自的streaming接口用任意语言编写。另外,Spark与Hadoop不同,原生语言是Scala。

如果要深入学习两个框架的实现,阅读源代码的话,那肯定就得学习Java/Scala了,建议在掌握基础之后边看代码边查相应的语言特性。

对初学者,建议还是从应用入手,在使用的过程中,自然地一步步了解实现。

没有那么多学术的说法,只凭工作这些年的经验告诉你一些我的心得吧。
1、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。
2、JDK:必须熟悉JDK(Java Development Kit,Java开发工具箱——JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。)
3、测试:自己写的程序首先是能够通过自己的测试。
4、语法:必须比较熟悉,在写代码的时候,IDE(Integrated Development Environment,集成开发环境)的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误,并且知道任何修正。
5、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。
6、思想:必须掌握OOP(Object Oriented Programming,面向对象编程)的主要要求,这样使用Java开发的系统才能是真正的Java系统。
7、工具:必须至少熟练使用一种IDE的开发工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。
8、API(Application Programming Interface,应用程序编程接口):Java的核心API是非常庞大的,但是有一些内容笔者认为是必须熟悉的,否则不可能熟练的运用Java,包括:
java.lang包下的80%以上的类的功能的灵活运用。
java.util包下的80%以上的类的灵活运用,特别是集合类体系、规则表达式、zip、以及时间、随机数、属性、资源和Timer.
java.io包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO类的特性和使用场合。
java.math包下的100%的内容。
java.net包下的60%以上的内容,对各个类的功能比较熟悉。
java.text包下的60%以上的内容,特别是各种格式化类。
熟练运用JDBC. 80%、java.security包下40%以上的内容,如果对于安全没有接触的话根本就不可能掌握java.
AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。
Swing的基本内容,和AWT的要求类似。
XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。

9、博学:掌握J2EE 、Oracle 、WebLogic、Jboss、Spring、Struts、Hibernate 等流行技术,掌握软件架构设计思想、搜索引擎优化、缓存系统设计、网站负载均衡、系统性能调优等实用技术。
10、管理:必须熟悉使用Ant(中文译为蚂蚁,是一种基于Java的build工具。)完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。

总结一下:做到前八点,就是个合格的java程序员了,9、10点就可以算是进阶了。

至于学习方法,没什么捷径,多做,多碰到错误,多改正,积累经验,不论是什么语言,都只是工具吧,核心是编程思想,是日积月累的经验。
希望对你有帮助。

自己总结的一些东西,希望能够帮助到你。
1、熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括I/O(NIO)、Socket、JDBC、XML、集合框架、多线程(并发编程)、反射等。
2、熟悉基于JSP和Servlet的JavaWeb开发,熟练的使用JSTL和EL编写无脚本动态页面,对Servlet和JSP的工作原理和生命周期有深入了解,有使用监听器、过滤器等Web组件以及MVC架构模式进行JavaWeb项目开发经验。
3、对Spring的IoC容器和AOP原理有深入了解,熟练的使用Spring进行事务、日志、安全性等的管理,熟练的运用Spring框架管理各种Web组件及其依赖关系,有使用SpringMVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。
4、熟悉Hibernate和MyBatis的核心API,熟练的使用Hibernate、MyBatis等ORM框架,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。
5、熟练的使用HTML、CSS和JavaScript进行Web前端开发,熟悉jQuery和Bootstrap,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)进行项目开发的经验,对Ajax技术在Web项目中的应用有深入理解。
6、熟练的使用SQL和PL/SQL进行数据库编程,熟悉常用的关系型数据库产品(MySQL、Oracle)。
7、熟悉面向对象的设计原则,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验。
8、熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。
9、熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和EnterpriseArchitect,熟练的使用Java开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Maven和Gradle。说明:上面罗列的这些东西并不是每一项你都要烂熟于心,根据企业招聘的具体要求可以做相应的有针对性的准备。但是前6项应该是最低要求,是作为一个Java软件工程师必须要具备的专业技能。

1. java基础知识 ,非常熟悉,慢慢理解知识点,理解,运行
2 . 分支技能,比如j2ee 你肯定要知道 jsp servlet ssh框架

其实这个东西除了语言层面的东西,剩下的就是你所要做的类型应用架构所需要的东西,Web和GUI应用的当然不一样,况且还有移动等编程方向,再具体就是具体的业务领域知识和模型了。

JavaSE JavaWEB SQL 3大框架等等,还可以学习下android就业也不错 学好的话还是多写代码,从抄代码开始,慢慢理解,发散

作为一名合格的Java程序员应该具备哪些技能
答:1、熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括I/O(NIO)、Socket、JDBC、XML、集合框架、多线程(并发编程)、反射等。2、熟悉基于JSP和Servlet的JavaWeb开发,熟练的使用JSTL和EL编写无脚本动态页面,对Servlet和JSP的工作原理和生命周期有深入了解,有使用监听器、...

一个合格的JAVA工程师要掌握哪些技术,掌握到什么程度?(回答最好具体一 ...
答:1、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。2、JDK:必须熟悉JDK(Java Development Kit,Java开发工具箱——JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。

Java开发人员应当具备的哪些基本素质
答:12、学会换位思考:一个项目是需要多方协作的,不同的人必然会有不同的想法,因为大家的知识积累以及经验积累肯定不一样,在大家想法不一致的时候,可以更多的是做个换位思考,先理解对方的观点,了解这个观点背后的原因,然后再来反观自己的想法,同时在互相理解的基础上,做事情的默契和结果也会有很大...

学习Java软件工程师要具备什么条件?
答:一、要适应Java编程 Java软件开发必然离不开编程,这是一种与计算机进行交流的语言,是一种非人类语言,所以一定要有极强的逻辑性和运算性,要求程序员在编写的时候进行慎重的考虑。能够脚踏实地细心地研究一行行代码,具有较强的逻辑思维能力,同时有一个端正的学习态度和心态,这些都是从事Java工作的基础...

JAVA程序员需要掌握什么知识?
答:那么一个合格的java软件工程师究竟需要掌握哪些具体的知识呢?下面就我个人的角度来总结一下,如有不足,也请高手指出。(ps:本人只列出普遍常用的知识)首先当然是Java语言本身了。Java语言的创始人曾说过"Java=C++--"。什么意思?就是Java语言是在C++的基础上减去一些不必要的东西,使其更为实用,更具有生产力。Java...

java工程师需要掌握什么技能?
答:Java学到什么程度才能达到就业的水平?不同的软件公司对研发人员的水平要求存在一定的差异,如果从大多数中小型企业来看能接受一个入职到本企业的IT技术人员通常需要具备以下能力。1 理解掌握Java核心面向对象的设计思想和代码构建,能以面向对象方式设计编写业务功能;2 熟练掌握至少两种数据库的开发,如Oracle...

学习Java软件工程师要具备什么条件?
答:Linux是当今用作广泛的服务器操作系统。合格的java高级工程师必须具备熟练地Linux操作技巧,这也正是在企业面试中获得加分的重要指标之一。3)深入学习数据库技术 互联网公司对Java应用离不开数据库技术。任何一个大中型应用,数据库设计的好坏、数据库访问的效率直接决定了该项目的成败。当前数据库最主流的...

想成为Java软件工程师有什么要求?
答:根据技术水平不同,Java工程师可以分为初级、中级、高级三个等级。不同级别的Java工程师,企业的用人要求也是不一样的,但都有以下几个共性:1、夯实的Java基础 Java新技术层出不穷,,每个企业都有不同的侧重点。根据企业的用人需求,只有坚实的基础才能快速的掌握新技术。需要在核心算法、面向对象应用...

Java程序员需要学习哪些基础知识?
答:Java开发需要学习以下核心知识:Java基础:了解Java的基本语法、数据类型、控制流程、数组、字符串等基础概念。学习面向对象编程(OOP)的原则和概念,如类、对象、继承、封装、多态等。数据结构和算法:学习常用的数据结构,如数组、链表、栈、队列、树、图等,并了解它们的特点和应用场景。掌握基本的算法,...

合格的Java开发人员应该具备的能力?
答:3、测试习惯 在一些商业化的开发中,全职测试工程师是必不可少的,但这并不意味着拥有全职测试工程师的程序员就不能进行自己的测试;软件开发作为一个项目,一个非常重要的特征是问题越早被发现,解决方案的成本就越低。Java程序员仔细测试每个代码片段和每个子模块,云南UI设计培训建议尽快发现并解决一些...