手写简易MVC – IOC
耦合 在软件系统中,层与层之间存在依赖关系,我们称之为耦合。 我们系统架构设计的一个原则是:高内聚低耦合。层内部的组成应该是高度聚合的,而层与层之间的关系应该是低耦合的。 在上一篇中...
手写简易MVC – 引入三层架构
什么是三层架构 在实际工作中,业务是很复杂的。为了更好的降低各层之间的 耦合度(系统的复杂度,在三层架构程序设计中,采用面向抽象变成。即上层对下层的调用,是通过接口实现的。而下...
手写简易MVC-DispatcherServlet
这一篇不要过多的纠结代码质量,只要是思想。这一块不看对工作没有影响,但是为了往更高的方向发展,还是需要掌握的。 1. Servlet 优化 1.1 需求 假设我们有一个简易的水果店铺管理系统,对应的...
ThreadPoolExecutor 核心线程与等待队列相关问题探讨
先来回顾下线程池的执行流程: 任务加入等待队列的条件是核心线程池已满,且等待队列未满。我原本以为这个核心线程池已满,指的是核心线程都在执行任务,但是我今天遇到一个现象,发现并不是我...
Servlet 获取请求参数流程
1. 前段代码 index.html中新建一个form表单 2. 后端代码 客户端向服务端发送请求,服务端会将请求封装为HttpRequest。 创建AddServlet,普通类是无法获取用户发送的请求数据的,需要继承HttpSer...
Servlet 请求转发与重定向
1. 转发 在请求的处理过程中,Servlet完成了自己的任务,需要把请求转交给下一个资源继续处理。 转发操作的核心部分是在服务器端完成的,所以浏览器感知不到,整个过程中浏览器只发送一次请求。...
Servlet 继承关系
1. 继承关系 2. 方法关系 3. service方法 当有请求过来时,service方法会自动响应(tomcat容器调用)。 在HttpServlet会根据请求类型(get、post等)调用对应的方法(doGet、doPost) 由于HttpS...
原码、反码和补码
学过编程的小伙伴应该都知道,在计算机系统中,数值一律用补码来表示和存储。下面我们来看下为什么计算机要使用补码来表示数值。 一. 原码, 反码, 补码的基础概念 在探求为何计算机要使用补码之...
The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
JDBC连接SQLService时报错误:“驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接' 最近在服务器部署服务时,在启动服务时报了这个错: 当时在网上查找了几个解决办法: 1....
一、JVM与Java体系结构
尚硅谷JVM课程学习笔记,课程来源:尚硅谷宋红康JVM教程 字节码 我们平时说的java字节码,指的是用java语言编译成的字节码。准确的说任何能在jvm平台上执行的字节码格式都是一样的。所以应该统...
Listener
1. 概念 监听器:专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。 Servlet监听器:Servlet规范中定义的一种特殊...
二、类加载子系统
类加载器子系统作用 类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Eng...
Map.getOrDefault()
该方法是根据Map集合的key获取value,如果key不存在,就使用默认值。 代码演示: Map<String, Map> testMap = new HashMap<>(); Map<String,String> map = null; if(testMap.containsK...








![The server selected protocol version TLS10 is not accepted by client preferences [TLS12]-深吸氧](https://xiyang-blog.oss-cn-hangzhou.aliyuncs.com/blog/2022/02/20220224201351.png)



