java web开发必备知识

时间:2023-03-08 16:27:04
java web开发必备知识

从各种招聘网站的要求上筛选出了一些java开发的一些基本的要求,对照自身看看有哪些缺陷。

java基础

既然是java web开发,java SE肯定要学好了。

多线程,IO,集合等,对队列,缓存,消息等机制有了解。java并发模型,内存模型

java虚拟机

然后java虚拟机(jvm)也要懂,包括垃圾回收机制;

java EE

传统的java web的开发则是采用JSP+Servlet+Javabean实现的

java web开发,或者一般的web开发分前端和后端。

前端基础部分包括:Html,CSS,Javascript,Html5,Ajax

前端框架或者库主要是从原生的javascript上开发的,比如jquery,angularJS,bootstrap,还是先把javascript的基础打牢再用这些框架。

后端的框架有SSH(Struts,Spring,Hibernate),EJB,MyBatis(持久层框架,原来叫ibatis),freemarker,Shiro

消息

MQTT,分布式开放消息系统(RocketMQ)

数据库

基本的增删改查,索引,游标,触发器,存储过程,查询优化

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足

oracle,sqlserver,mysql,mongdb,redis,memcache,NoSQL

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

网络

HTTP协议,HTTPS协议,网络编程,TCP/IP

服务器

WebLogic的原理、使用和配置
Tomcat:轻量的JavaWeb容器,和WebLogic功能类似,使用简单、方便、免费、开源,但不支持EJB
JBoss:类似于Tomcat,功能更强,支持EJB

Resin

ngix

Apache,Jetty的基本配置与web应用的部署
这三种应用服务器至少掌握其中的一种是很必要的。

项目构建

有Ant,Maven,Gradle,Buildr

接口开发

webservice,restful web service

软件工程

可以理解UML设计和使用UML进行简单设计。

设计模式

单例模式,工厂模式

项目开发

敏捷编程,极限编程

大数据

Hadoop,spark,storm

数据结构和算法

链,队列,树,栈

加分项

规则引擎,如JBoss Drools,svn,git,jenkins

先写这么多,反正是要慢慢学的

2.有系统分析设计经验,掌握PowerDesigner、Visio、Rose等Case工具;

MongoDb等相关的数据库经验;

Dubbo,Kafka等;

具备TCP方面的网络编程经验,Netty,NIO

具备WEB方面的开发经验者更好。

分布式

OSGi,SOAP,

熟练掌握Linux平台命令与Tomcat的配置与应用管理能力;

C/C++服务器开发,各类主流开源框架

熟悉各类主流数据库和操作,熟悉数据库事务处理

熟悉项目管理流程

掌握sql语法,掌握如何优化数据库,调优sql语句;

有服务器和数据库优化经验者优先。

精通springmvc/mybatis/memcached/thrift/dbcp2/mysql/activemq /velocity/boostrap(有部分即可); 

熟悉JBOSS、Tomcat等服务器产品,熟悉安装、调试、发布配置应用,熟悉Linux操作系统更佳;

加分项:zookeeper、redis、kafka等。

1、2年以上Java开发经验,基础扎实,理解IO、多线程、集合等基础框架,对JVM原理有一定的了解,同时熟悉.NET语言者优先;
2、精通servlet,JMS,Jdbc开发,熟悉Spring、iBatis、Netty等开源框架,能了解它的原理和机制,熟悉各种常用设计模式;

计算机及相关专业本科以上学历,两年以上全职工作经验。

熟练掌握java语言,有一定的数据结构和算法能力。

熟悉多线程,socket编程技术。

熟悉linux系统,了解常用系统性能分析工具和方法。

熟悉SQL,熟练使用至少一种SQL或NoSQL数据库。

熟悉web前端技术者优先。

熟悉node.js者优先。

熟练使用mysql或mongodb者优先。

有分布式系统,RPC调用开发经验者优先。

有高并发系统设计和开发经验者优先。

掌握运维技能者优先。

◆熟悉SVN、GIT等版本控制工具.

◆熟悉mysql数据库,了解SQL优化

◆熟悉LINUX操作系统,熟悉SHELL编程.

◆有过高并发特点的大型互联网应用的开发经验;

◆熟悉缓存架构,分布式架构;

扎实的Java基础,熟悉HTTP、Servlet、Json、XML、Socket等

3.java基础知识扎实,包括多线程、集合、缓存、消息队列、全文搜索等;
4.熟悉主流开源框架技术,包括Struts2、Spring 、Hibernate、iBatis、MyBatis、Dubbo等,并对其架构设计及实现有一定了解;
6.熟悉Tomcat、Weblogic、Oracle Golden Gate、ESB 等应用服务器和中间件的使用,熟悉Linux系统使用者优先;
7.熟悉常用的设计模式,有大型分布式、高并发、高负载、高可用性系统的设计开发经验者优先;