手写简易MVC – IOC
耦合 在软件系统中,层与层之间存在依赖关系,我们称之为耦合。 我们系统架构设计的一个原则是:高内聚低耦合。层内部的组成应该是高度聚合的,而层与层之间的关系应该是低耦合的。 在上一篇中...
手写简易MVC – 引入三层架构
什么是三层架构 在实际工作中,业务是很复杂的。为了更好的降低各层之间的 耦合度(系统的复杂度,在三层架构程序设计中,采用面向抽象变成。即上层对下层的调用,是通过接口实现的。而下...
手写简易MVC-DispatcherServlet
这一篇不要过多的纠结代码质量,只要是思想。这一块不看对工作没有影响,但是为了往更高的方向发展,还是需要掌握的。 1. Servlet 优化 1.1 需求 假设我们有一个简易的水果店铺管理系统,对应的...
JDBC破坏双亲委派机制
未破坏双亲委派机制的情况 原先链接数据的代码: String url = 'jdbc:mysql://localhost:3306'; String username = 'root'; String password = 'root'; // 注册驱动 Class.forName('com.mysql.c...
idea下创建web项目
1. 新建 1. 打开idea,选择file->New->Project 2. 新建web项目 3. 新建index.html 4. 创建tomcat容器模板(创建过的可以跳过这一步) 5. 配置容器 默认打开index.html 6. 启动项目 2. 导入
volatile
volatile关键字仅能用来修饰变量,能用来保证变量在线程间的可见性,同时能避免指令重排保证有序性,但是不能保证原子性。 有以下代码: /** * @Author shenxy * @Date 2022/7/24 17:57 * @Vers...
SPI机制
SPI机制是什么 SPI是Service Provider Interface 的简称,是服务提供者接口的意思,又称服务发现机制。SPI是一种动态替换发现的机制,是一种思想。 SPI 实际上是“基于接口的编程+策略模式+配...
HTTP协议
1. 简介 HTTP:Hyper Text Transfer Protocol超文本传输协议。HTTP最大的作用就是确定了请求和响应数据的格式。浏览器发送给服务器的数据:请求报文;服务器返回给浏览器的数据...
ThreadPoolExecutor 核心线程与等待队列相关问题探讨
先来回顾下线程池的执行流程: 任务加入等待队列的条件是核心线程池已满,且等待队列未满。我原本以为这个核心线程池已满,指的是核心线程都在执行任务,但是我今天遇到一个现象,发现并不是我...
Servlet 会话
HTT协议本身P是无状态的,服务器无法区分两次请求是否是同一个客户端发送过来的。所以两个用户操作时,便会产生数据错误。因此通过会话跟踪技术来解决这个问题。 1. Cookie 1.1 本质 在浏览器端...
Servlet 保存作用域
保存作用域有4个:page,request,session,application。 page:页面级别,现在已经不用 request:一次请求响应范围 session:一次会话范围有效 application:一次应用程序范围有效
MVC
MVC:Model(模型)、View(视图)、Controller(控制器) 视图层:用于做数据展示以及和用户交互的一个界面 控制层:能够接受客户端的请求,具体的业务功能还是需要借助于模型组件来完成 模型...
一、JVM与Java体系结构
尚硅谷JVM课程学习笔记,课程来源:尚硅谷宋红康JVM教程 字节码 我们平时说的java字节码,指的是用java语言编译成的字节码。准确的说任何能在jvm平台上执行的字节码格式都是一样的。所以应该统...