- 博客(16)
- 收藏
- 关注
原创 SpringBoot学习总结(三)
目录一、请求参数处理1.rest使用与原理2.请求映射原理二、普通参数与基本注解1.注解三、参数处理原则(原理1.HandlerAdapter2.执行目标方法3.参数解析器4.参数返回值处理器5.解析目标方法每一个参数一、请求参数处理1.rest使用与原理//可以根据设置method限制请求的方法类型@RequestMapping(value = "/user",method = RequestMethod.PUT)但表单< form > 只能提交POST和GET请求,如何提交DE
2021-02-25 10:52:25 170
原创 Java并发(四)---无锁
目录一、CAS & volatile二、原子整数二、原子引用1.ABA问题2.AtomicStampedReference3.AtomicMarkableReference三、原子数组四、字段更新器五、原子累加器1.伪共享2.LongAdder源码add方法longAccumulate方法sum方法六、Unsafe1.Unsafe CAS操作一、CAS & volatileJUC提供的多个类,类中的方法内部并没有用锁来保护共享变量的线程安全。而是采用了CAS(compareAndSet
2021-02-24 16:46:18 194
原创 SpringBoot学习总结(二)
目录一、配置文件1.properties2.yaml基本语法数据类型二、功能分析1.静态资源访问2.支持欢迎页3.自定义Favicon4.静态资源配置原理一、配置文件1.properties2.yamlYAML 是 “YAML Ain’t Markup Language”(YAML 不是一种标记语言)的递归缩写。基本语法key: value(kv之间有空格)大小写敏感使用缩进表示层级关系缩进不允许使用tab,只允许空格(idea中可以是tab,因为在解析时会把tab替换为空格缩进的空
2021-02-23 21:26:44 110
原创 SpringBoot学习总结(一)
目录一、SpringBoot特点1.依赖管理2.自动配置二、容器功能1.组件添加2.原生配置文件引入3.配置绑定三、自动配置原理简述1.引导加载配置类2.按需加载配置一、SpringBoot特点1.依赖管理pom.xml<!--创建项目后,在pom配置文件中看到我们的父项目--><!--父项目--><parent> <groupId>org.springframework.boot</groupId> <artif
2021-02-23 16:42:43 115
原创 Java并发(三)---内存
目录一、Java 内存模型二、原子性二、可见性1.volatile2.CPU缓存结构一、Java 内存模型JMM 即 Java Memory Model,它定义了主存、工作内存抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、CPU 指令优化等。JMM 体现在以下几个方面原子性 - 保证指令不会受到线程上下文切换的影响可见性 - 保证指令不会受 cpu 缓存的影响有序性 - 保证指令不会受 cpu 指令并行优化的影响二、原子性Java并发(二)—Monitor二、可见性1.vo
2021-02-23 12:54:38 232
原创 多线程设计模式之犹豫模式
目录一、简述二、实现一、简述Balking (犹豫)模式用在一个线程发现另一个线程或本线程已经做了某一件相同的事,那么本线程就无需再做了,直接结束返回。二、实现@Slf4j(topic = "c.MonitorService")class MonitorService { // 用来表示是否已经有线程已经在执行启动 private volatile boolean starting; public void start() { log.info("尝试启动监
2021-02-23 11:24:43 111 1
原创 Spring注解学习总结---IOC部分
目录一、组件注册1.@Configration & @Bean2.@ComponentScan3.@Scope & @Lazy4.@Conditional4.@Import5.FactoryBean二、Bean的生命周期三、属性赋值四、自动装配1.@Autowired2.@Resource & @Inject3.Aware接口4.@Profile参考:https://www.bilibili.com/video/BV1gW411W7wy一、组件注册1.@Configration
2021-02-23 10:14:35 166 1
原创 Java并发(一)---Java线程
目录一、创建和运行线程1.使用Thread创建使用Runnable配合Thread3.FutureTask 配合 Thread二、线程运行原理1.栈与栈帧2.上下文切换三、常用方法1.start() & run()2.sleep() & yield()3.join()4.interrupt()四、主线程和守护线程一、创建和运行线程1.使用Thread创建// 创建线程对象Thread t = new Thread() { public void run() { // 要执行的任
2021-02-22 16:36:55 64 1
原创 Java并发(二)---Monitor
目录一、共享数据带来的问题二、synchronized使用1.基本使用2.synchronized的位置三、变量的线程安全分析一、共享数据带来的问题@Slf4j(topic = "c.Test1")public class Test1 { static int counter = 0; public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread((
2021-02-22 16:35:30 242 2
原创 多线程设计模式之生产者/消费者模式
目录一、简述二、实现一、简述异步模式之生产者/消费者:不需要产生结果和消费结果的线程一一对应消费队列可以用来平衡生产和消费的线程资源生产者仅负责产生结果数据,不关心数据该如何处理,而消费者专心处理结果数据消息队列是有容量限制的,满时不会再加入数据,空时不会再消耗数据JDK 中各种阻塞队列,采用的就是这种模式二、实现//Messageclass Message { private int id; private Object message; public M
2021-02-22 14:57:59 344
原创 多线程设计模式之保护性暂停
目录一、简介二、实现三、带超时版实现一、简介同步模式之保护性暂停,即 Guarded Suspension,用在一个线程等待另一个线程的执行结果。有一个结果需要从一个线程传递到另一个线程,让他们关联同一个 GuardedObject如果有结果不断从一个线程到另一个线程那么可以使用消息队列JDK 中,join 的实现、Future 的实现,采用的就是此模式因为要等待另一方的结果,因此归类到同步模式二、实现class GuardedObject { private Object re
2021-02-22 12:54:28 124
原创 多线程设计模式之两阶段终止模式
目录一、简述二、用两阶段终止模式终止监控操作1.利用 interrupted2.利用停止标记一、简述Two Phase Termination:简单来说就是将终止过程分成两个阶段,其中第一个阶段主要是线程 T1 向线程 T2发送终止指令,而第二阶段则是线程 T2响应终止指令(在这之前先进行处理操作。例如:释放锁,释放资源等)。而不是使用线程对象的 stop() 方法强制停止线程。二、用两阶段终止模式终止监控操作实际工作中,需要有监控系统(监控线程)动态的检测被监控系统。监控系统发送采集指令从被监控系
2021-02-21 11:37:16 252
原创 SpringMVC学习总结(一)
目录一、MVC简介二、SpringMVC简介1.概述2.执行原理三、SpringMVC简单实现1.xml配置文件一、MVC简介MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。MVC主要作用是降低了视图与业务逻辑间的双向偶合。Model:包括Value Object(数据Dao) 和 服务层(行为Service),提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。View:负责进行模型的展示,用户界面Controller:接收请求
2021-02-16 16:42:18 297
原创 JavaWeb---JSON & AJAX
目录一、JSON简介二、JSON在JavaScript中的使用1.JSON的定义2.JSON的访问3.JSON的常用方法三、JSON在Java中的使用1.javaBean转换2.List转换3.Map转换四、AJAX简介五、原生AJAX请求六、jQuery中的AJAX请求1.$.ajax 方法2.$.get 方法和 $.post 方法3.$.getJSON 方法一、JSON简介JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器
2021-02-04 16:18:16 96
原创 JavaWeb---Filter基础总结
目录一、Filter简介二、简单实现三、Filter生命周期四、FilterConfig类五、FilterChain过滤器链六、Filter的拦截路径1.精确匹配2.目录匹配3.后缀名匹配七、参考一、Filter简介Filter 过滤器它是JavaWeb 的三大组件之一。三大组件分别是:Servlet 程序、Listener 监听器、Filter 过滤器Filter 过滤器它是JavaEE 的规范。也就是接口Filter 过滤器它的作用是:拦截请求,过滤响应。二、简单实现public cla
2021-02-04 15:26:25 86
原创 MyBatis学习总结(一)
目录一、MyBatis简介二、简单实现三、全局配置文件1.properties标签2.settings标签3.typeAliases标签4.environments标签5.databaseIdProvider6.mappers标签四、sql配置文件(mappers)1.mapper标签2.sql映射文件对接口方法参数的处理方法1)单个参数2)多个参数命名参数使用pojo使用Map使用TO3)参数封装原理(源码分析)4)${}和#{}3.insert、update、delete标签3.select标签1)re
2021-02-04 13:14:48 397
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人