上海千语创想科技有限公司
 175-2108-6175
网站建设资讯详细

Java Web架构知识整理

日期:2023-04-19  作者:千语创想  浏览:1857

首先谈谈Java Web需要掌握哪些东西。这里是一些知识点的搜集,暂不做详细说明。

1. 底层

    首先是JVM的结构和工作原理。比较重要的是Java内存模型,各种GC算法,Classloader的加载原理等。个人对底层的一些东西还算比较了解,所以不过多纠结,实际上程序编译链接过程以及二进制文件的处理还是很值得研究的。

JVM监控及调优。作为一个开发人员并不一定需要非常熟悉JVM调优的方法,但如果具备JVM监控及调优的能力,将让你对程序运行状况了如指掌,对于问题定位也会敏感得多。

Java多线程。对于线程安全的理解,以及如何在自己的程序中避免多线程造成的不一致问题等。

I/O。Java中常常提到的是BIO/NIO,即阻塞型I/O与非阻塞型I/O,其实并不难理解,结合Linux中的同步I/O和异步I/O的实现原理,基本都是相通的,每种I/O方式解决的问题,又存在什么问题,为什么使用epoll。

2.Servlet

Servlet是运行于服务端的java程序,一般实现自己的Java服务端应用都从HttpServlet类继承,然后实现自己的init | doGet | doPost | service方法。Servlet的生命周期从其加载开始,首先执行一次初始化,调用init方法,之后便可运行自身的服务,当生命周期结束时,调用destroy方法回收资源,结束服务。

仅了解原理当然是不够的,还要实战能力,在IDE中写写简单的代码谁都会,然而真正让一个程序能够运行起来也还需要点其他的东西,这里我指的是Servlet的容器。servlet的容器有很多,常用的以Tomcat为例,安装好Tomcat后,在开发时必须包含进Tomcat的lib。IDE确实惯坏了好多人,目录如何组织,程序如何编译、如何部署这些问题都被IDE屏蔽掉了,如果要对整体有比较透彻的了解,建议一切从命令行动手。

3.框架

Java Web开发的用到的框架之多简直令人发指,而且因为版本的更新换代导致的问题也是层出不穷。然而这也是Web技术不断演化的结果,要么选择接受,要么引领节奏。

 

spring是一个强大而又“轻量级”的Java开发框架,之所以打引号是因为感觉并不是那么轻量。Spring的主要目的在于简化Java应用开发,以配置方式代替硬编码方式的编程,模块解耦,其架构如下图所示。包括了数据访问、远程通信、AOP、核心容器等部分。

Figure 1 Spring体系架构

Spring的核心主要有三点:

1.IoC:反转控制

反转控制就是指将控制权由类内部抽离到容器,由容器类的实例化及动作进行配置管理。

2.Dependency-injection:依赖注入

对象的依赖关系由负责协调系统中各个对象的第三方组件在创建对象时设定。对象不自行创建或管理它们的依赖关系,依赖关系被自动注入到需要它们的对象中。通过参数和配置能够体会出“注入”这个词在这里有多形象。依赖注入的最大好处就是松耦合。不需要再类内部去和特定的类进行绑定,而是将一些依赖关系以参数的形式注入到类内部。

3.Aspect Oriented Programming:面向切向编程

在软件开发中,分布于应用中多处的功能被称为横切关注点。这些横切关注点往往和业务逻辑是相分离的,将这些横切关注点与业务逻辑相分离正式AOP要解决的。AOP编程能够让遍布在应用各处的功能分离出来形成可重用的组件。是高内聚低耦合的又一个体现,将通用实现模块与核心业务模块相分离。

Hibernate

数据持久化框架其实也有很多,需要掌握的不仅是hibernate,只是因为Hibernate在以前的企业级应用中用的比较多而已,另外MyBatis也占有相当重要的份额。Hibernate是一个全自动的持久化框架,并不是那么方便,所以很多开发者更倾向于使用MyBatis,淘宝就是这样。

Hibernate的工作流程:首先通过configuration对象读取配置文件;解析映射信息,创建StandardSessionFactory;调用openSession打开session;创建事务transaction,之后进行持久化操作;完成后提交事务,关闭session,关闭sessionFactory。

4.HTTP

作为Web开发者,如果不特别熟悉Http将会是一件很麻烦的事。

1.Http的报头格式

2.Http协议的各种返回码是什么意思

3.https如何实现

4.B/S架构的工作原理

5.Cookie和Session的原理

6.restful API

5.设计模式

 

 

来千语创想移动应用开发平台学习更多APP开发知识:app开发app制作app开发源码下载app开发框架app制作模板等免费获取。

立即免费在线制作一个APP,新手注册即送开发大礼包

提交app定制需求,免费获取报价和周期:

电脑请点击https://www.qianyuthink.com/?url=/index?uzchannel=500

手机请点击https://www.qianyuthink.com/?url=/m/customizedservice



转载请注明来自:https://www.qianyuthink.com/news/7341.html

填写您的项目需求给我们

或者直接拨打 7×12小时一对一咨询电话

175 2108 6175

请填写需求信息,我们会在10分钟内与您取得联系

请认真填写需求信息,我们会在10分钟内与您取得联系

×
客服二维码
咨询技术总监
175-2108-6175
客服二维码
技术总监微信
客服二维码