java开发程序员必备技能

1.  熟练使用Java语言进行面向对象程序设计(面向对象:继承、多态、抽象);前端

      有良好的编程习惯(阿里开发手册);sql

     熟悉经常使用的 JavaAPI,包括I/O(NIO)、Socket、JDBC、XML、集合框架、多线程(并发编程)、反射等。数据库


2.  熟悉基于JSP、Servlet的JavaWeb开发,工做原理,生命周期;编程

熟练的使用JSTL和EL编写无脚本动态页面;json

有使用监听器、过滤器等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)进行项目开发的经验;

对 json、Ajax技术在Web项目中的应用有深刻理解。


6.  熟练的使用SQL和PL/SQL进行数据库编程,熟悉经常使用的关系型数据库产品(Mysql、Oracle、no-sql)。


7.  熟悉面向对象的设计原则,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验,对GoF设计模式和企业应用架构模式有深刻的了解和实际开发的相关经验。


8.  熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。


9.  熟练的使用产品原型工具Axure,熟练的使用设计建模工具 PowerDesigner和EnterpriseArchitect;

熟练的使用Java开发环境Eclipse、MyEclipse、IDEA、IntelliJ;

熟练的使用前端开发环境WebStorm;

熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Maven和Gradle。


10. 熟悉使用经常使用的Linux/unix 命令;

熟悉云存储、云计算机相关技术。