闭锁:一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。即,一组线程等待某一事件发生,事件没有发生前,所有线程将阻塞等待;而事件发生后,所有线程将开始执行;闭锁最初处于封闭状态,当事件发生后闭锁将被打开,一旦打开,闭锁将永远处于打开状态。 闭锁CountDo...
在SpringMVC中,提交请求的数据是通过方法形参来接收的。从客户端请求的key/value数据,经过参数绑定,将key/value数据绑定到Controller的形参上,然后在Controller就可以直接使用该形参。 1、默认支持类型 SpringMVC有支持的默认参数类型,我们直接在...
web.xml文件是JavaWeb项目中的一个配置文件,主要用于配置欢迎页、Filter、Listener、Servlet等,但并不是必须的,一个JavaWeb项目没有web.xml文件也是照样能跑起来的。 首先来看一下Tomcat官网的Servlet和JSP规范规范与的ApacheTomca...
1.1类加载子系统与方法区 类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。1.2Java堆 ...
线程池顶级接口。定义方法,voidexecute(Runnable)。方法是用于处理任务的一个服务方法。调用者提供Runnable接口的实现,线程池通过线程执行这个Runnable。服务方法无返回值的。是Runnable接口中的run方法无返回值。 常用方法-voidexecute(Runna...
解决并发情况下的容器线程安全问题的。给多线程环境准备一个线程安全的容器对象。 线程安全的容器对象:Vector,Hashtable。线程安全容器对象,都是使用synchronized方法实现的。 concurrent包中的同步容器,大多数是使用系统底层技术实现的线程安全。类似native。J...
Spring为了用户的开发方便和特性支持,开放了一些特殊接口和类,用户可进行实现或者继承,常见的如这些: ApplicationContextAware接口、ApplicationEvent抽象类、ApplicationListener接口、BeanNameAware接口、BeanFa...
Spring的两大核心,一是IOC,另一个是AOP,本博客从原理、AOP代码以及AOP使用三个方向来讲AOP。先给出一张AOP相关的结构图,可以放大查看。 1、PointCut(连接点,定义匹配哪些方法) 首先打开Spring的源码,查看PointCut接口设计:publicinterfac...
引用Spring官方原文:ThischaptercoverstheSpringFrameworkimplementationoftheInversionofControl(IoC)[1]principle.IoCisalsoknownasdependencyinjection(DI).Itisa...
十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。&...
M阶B+树的定义:任意非叶子结点最多有M个子节点;且M>2;除根结点以外的非叶子结点至少有M/2个子节点;根结点至少有2个子节点;除根节点外每个结点存放至少M/2和至多M个关键字;(至少2个关键字)非叶子结点的子树指针与关键字个数相同;所有结点的关键字:K[1],K[2],…,K[M];且K[...
B树定义 B树又叫平衡多路查找树。一棵m阶的B树(m叉树)的特性如下:根节点至少有两个孩子每个非根节点至少有M/2(上取整)个孩子,至多有M个孩子。每个非根节点至少有M/2-1(上取整)个关键字,至多有M-1个关键字。并以升序排列。key[i]和key[i+1]之间的孩子节点的值介于key[i]和...
在常规的开发中,每个微服务都包含代码和配置。其配置包含服务配置、各类开关和业务配置。如果系统结构中的微服务节点较少,那么常规的代码+配置的开发方式足以解决问题。当系统逐步迭代,其微服务会越来越复杂,慢慢演化成网状依赖结构,这个时候常规的代码+配置的开发方式就并不合适了,因为还要考虑整体系统的扩展...
Zuul是springcloud中的微服务网关。网关:是一个网络整体系统中的前置门户入口。请求首先通过网关,进行路径的路由,定位到具体的服务节点上。 Zuul是一个微服务网关,首先是一个微服务。也是会在Eureka注册中心中进行服务的注册和发现。也是一个网关,请求应该通过Zuul来进行路由。 ...
本篇章讲解RabbitMQ的用途、原理以及配置,RabbitMQ的安装请查看SpringCloud之RabbitMQ安装 1、同步变异步消息 场景:用户下单完成后,发送邮件和短信通知。 运用消息队列之后,用户下单完之后,下单信息写入数据库,再写入消息队列,发送邮件和发送短信各自去消息队列进...
使用mybatis做一个简单的查询的时候,报了这个问题。代码如下: <mapper namespace="cn.gaiay.business.zm.live.living.dao.LiveMapper"> <resultMap id="BaseResultMap" type="cn.gaiay.business.zm.live.living.model.Live"> <id column="id" jdbcType="VARCHAR"...