摘要:
hashmap 1.7头插法 ,扩容后,同一个buckbin 里的链表会顺序反转。会引发线程安全问题 hashmap 1.8尾插法,扩容后, 链表不会反转 阅读全文
posted @ 2023-03-09 21:40
共感的艺术
阅读(32)
评论(0)
推荐(0)
摘要:
1、Comparable和Comparator public static <T> void sort(List<T> list); 将集合中的数据按照默认规则进行排序 (我们在自己的类里面实现Comparabl接口方法compareTo) public static <T> void sort(L 阅读全文
posted @ 2023-03-09 21:40
共感的艺术
阅读(103)
评论(0)
推荐(0)
摘要:
Java Set Summary 一、概要 Set 6个 | 类名 | since | 线程安全 | element null | 特点 | | | : : | : : | : : | | | ==Set== | 1.2 | | | | | HashSet | 1.2 | No | Yes | 基于 阅读全文
posted @ 2023-03-09 21:39
共感的艺术
阅读(35)
评论(0)
推荐(0)
摘要:
Java Queue Summary 一、概要 Queue 8个 / Deque 3个 | 类名 | since | 线程安全 | element null | 特点 | | | : : | : : | : : | | | ==Queue== | 1.5 | | | | | ArrayBlockin 阅读全文
posted @ 2023-03-09 21:39
共感的艺术
阅读(43)
评论(0)
推荐(0)
摘要:
Java Map Summary 一、概要 Map 9个 | 类名 | since | 线程安全 | key null | value null | 特点 | | | : : | : : | : : | : : | | | ==Map== | 1.2 | | | | | | Hashtable | 阅读全文
posted @ 2023-03-09 21:37
共感的艺术
阅读(63)
评论(0)
推荐(0)
摘要:
Java List Summary 一、概要 List 5个 | 类名 | since | 线程安全 | element null | 特点 | | | : : | : : | : : | | | ==List== | 1.2 | | | | | Vector | 1.0 | Yes | Yes | 阅读全文
posted @ 2023-03-09 21:37
共感的艺术
阅读(49)
评论(0)
推荐(0)
摘要:
Java Concurrent Summary 一、概要 并发包四种类型:原子变量、同步器、并发容器、线程池 同步器 7个 | 同步器类名 | since | 原理 | | | : : | | | ==AbstractQueuedSynchronizer== | 1.5 | CAS自旋,LockSu 阅读全文
posted @ 2023-03-09 21:36
共感的艺术
阅读(27)
评论(0)
推荐(0)
摘要:
偏向锁、轻量级锁、自旋锁、重量级锁,看这一篇就够了! 每一个刚接触多线程并发编程的同学,当被问到,如果多个线程同时访问一段代码,发生并发的时候,应该怎么处理? 我相信闪现在脑海中的第一个解决方案就是用synchronized,用锁,让这段代码同一时间只能被一个线程执行。 我们也知道,synchron 阅读全文
posted @ 2023-03-09 21:36
共感的艺术
阅读(248)
评论(0)
推荐(1)
摘要:
1.1、Gradle 简介 Gradle 是一款Google 推出的基于 JVM、通用灵活的项目构建工具,支持 Maven,JCenter 多种第三方仓库;支持传递性依赖管理、废弃了繁杂的xml 文件,转而使用简洁的、支持多种语言(例如:java、groovy 等)的 build 脚本文件。 官网地 阅读全文
posted @ 2023-03-09 21:35
共感的艺术
阅读(279)
评论(0)
推荐(0)
摘要:
ThreadLocal全面解析 前置知识 具有一定的javase和javaweb基础 熟悉synchronized关键字 熟悉HashMap 熟悉 JDBC技术 学习目标 了解ThreadLocal的介绍 掌握ThreadLocal的运用场景 了解ThreadLocal的内部结构 了解ThreadL 阅读全文
posted @ 2023-03-09 21:35
共感的艺术
阅读(73)
评论(0)
推荐(0)
摘要:
LongAdder由来 LongAdder类是JDK1.8新增的一个原子性操作类。AtomicLong通过CAS算法提供了非阻塞的原子性操作,相比受用阻塞算法的同步器来说性能已经很好了,但是JDK开发组并不满足于此,因为非常搞并发的请求下AtomicLong的性能是不能让人接受的。 如下Atomic 阅读全文
posted @ 2023-03-09 21:34
共感的艺术
阅读(94)
评论(0)
推荐(0)
摘要:
异步&线程池 一、线程 1、初始化线程的4种方式 (1)、继承Thread (2)、实现Runnable接口 (3)、实现Callable接口 + FutureTask (可以拿到返回结果,可以处理异常) (4)、线程池 方式1和方式2:主进程无法过去线程的运算结果。不适合当前常见 方式3:主进程可 阅读全文
posted @ 2023-03-09 21:33
共感的艺术
阅读(25)
评论(0)
推荐(0)
摘要:
Synchronized优化手段:锁膨胀、锁消除、锁粗化和自适应自旋锁 synchronized 在 JDK 1.5 时性能是比较低的,然而在后续的版本中经过各种优化迭代,它的性能也得到了前所未有的提升,上一篇中我们谈到了锁膨胀对 synchronized 性能的提升,然而它也只是“众多” sync 阅读全文
posted @ 2023-03-09 21:33
共感的艺术
阅读(126)
评论(0)
推荐(0)
摘要:
一、Activiti Designer 流程设计器(IDEA 工具) 一、camunda 1、资源下载渠道 官网 https://camunda.com github托管地址 https://github.com/camunda/camunda-modeler CB多的大佬可以扶贫一下 https: 阅读全文
posted @ 2023-03-09 21:32
共感的艺术
阅读(485)
评论(1)
推荐(0)
摘要:
springboot-activiti7笔记 一、安装依赖 github上Activiti的 gitbook[https://activiti.gitbook.io/activiti-7-developers-guide/getting-started/getting-started-activit 阅读全文
posted @ 2023-03-09 21:31
共感的艺术
阅读(352)
评论(0)
推荐(0)
摘要:
Flowable 快速入门教程:任务驳回与回退 前言 支持场景 功能描述 驳回 退回 脏数据 什么是脏数据 串行样例 并行样例 会签样例 脏数据清洗效果图 完整代码 效果图 前言 本文的代码中没有对流程做任何特殊处理,用的都是流程本身的数据,因此可以通用,直接复制粘贴即可 方法不支持多对多跳转 回退 阅读全文
posted @ 2023-03-09 21:31
共感的艺术
阅读(1531)
评论(1)
推荐(0)
摘要:
Spring Cloud Gateway网关 API 网关 API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题: 1、客户端会多次请求不同的微服务,增加了客户端 阅读全文
posted @ 2023-03-09 21:30
共感的艺术
阅读(133)
评论(0)
推荐(0)
摘要:
Spring Cloud Alibaba是什么? Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件与 Spring Cloud 体系的融合。包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组 阅读全文
posted @ 2023-03-09 21:29
共感的艺术
阅读(92)
评论(0)
推荐(0)
摘要:
1.1 Feign概述 这篇文章主要讲述如何通过Feign去消费服务,以及Feign的实现原理的解析。 Feign是Netflix开发的声明式、模板化的HTTP客户端,Feign可以帮助我们更快捷、优雅地调用HTTP API。 Feign是⼀个HTTP请求的轻量级客户端框架。通过 接口 + 注解的方 阅读全文
posted @ 2023-03-09 21:29
共感的艺术
阅读(433)
评论(0)
推荐(0)
摘要:
1、整合Sentinel 1、pom.xml安装依赖 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependen 阅读全文
posted @ 2023-03-09 21:28
共感的艺术
阅读(25)
评论(0)
推荐(0)
摘要:
一、单个项目配置swagger 1、pom文件引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </depend 阅读全文
posted @ 2023-03-09 21:27
共感的艺术
阅读(93)
评论(0)
推荐(0)
摘要:
一、先看一下SpringMVC解析流程 时序图: 二、SpringBoot请求映射原理 SpringBoot跟spring一脉相承,所以直接找DispatcherServlet这个类。 其继承关系如下: 从此图可以看出继承树,最终是来到HttpServlet的,也就是说必然会有doGetPost方法 阅读全文
posted @ 2023-03-09 21:27
共感的艺术
阅读(226)
评论(0)
推荐(0)
摘要:
Thymeleaf 是一个服务器端 Java 模板引擎,能够处理 HTML、XML、CSS、JAVASCRIPT 等模板文件。Thymeleaf 模板可以直接当作静态原型来使用,它主要目标是为开发者的开发工作流程带来优雅的自然模板,也是 Java 服务器端 HTML5 开发的理想选择。 1. 创建模 阅读全文
posted @ 2023-03-09 21:27
共感的艺术
阅读(311)
评论(0)
推荐(0)
摘要:
一、springboot的异步任务 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring 3.x之后,就已经内置了@Async来完美解决这个问题。 两个注解: @En 阅读全文
posted @ 2023-03-09 21:26
共感的艺术
阅读(72)
评论(0)
推荐(0)
摘要:
Spring 第一天 第1章 Spring 概述 1.1 spring 概述 1.1.1 spring 是什么 [begin]Spring[/begin] 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AO 阅读全文
posted @ 2023-03-09 21:26
共感的艺术
阅读(313)
评论(0)
推荐(0)
摘要:
文章目录 什么是面向切面编程 使用 AOP 简化代码 AOP 如何大规模运作 横切关注点 什么是 Spring AOP? 总结 虽然 AOP 不经常被讨论,但是它在 Spring 中有着广泛的应用。对你来说,也许是时候去熟悉 AOP 并让它为你所用了。 你了解 Spring AOP 吗?你有在你目前 阅读全文
posted @ 2023-03-09 21:26
共感的艺术
阅读(37)
评论(0)
推荐(0)
摘要:
Spring MVC 第一天 第1章 SpringMVC的基本概念 1.1 关于三层架构和 MVC 1.1.1 三层架构 [begin]我们[/begin]的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就 是浏览器服务器。在 JavaEE 开发 阅读全文
posted @ 2023-03-09 21:26
共感的艺术
阅读(145)
评论(0)
推荐(0)
摘要:
**一、**Spring Boot 入门 1、Spring Boot 简介 简化Spring应用开发的一个框架; 整个Spring技术栈的一个大整合; J2EE开发的一站式解决方案; 2、微服务 2014,martin fowler 微服务:架构风格(服务微化) 一个应用应该是一组小型服务;可以通过 阅读全文
posted @ 2023-03-09 21:25
共感的艺术
阅读(105)
评论(0)
推荐(0)
摘要:
一、购物车 1、购物车需求 1、需求描述: 用户可以在登录状态下将商品添加到购物车【用户购物车/在线购物车】 放入数据库 mongodh 放入redis(采用) 登录以后,会将临时购物车的数据全部合并过来,并清空临时购物车; 用户可以在未登录状态下将商品添加到购物车【游客购物车/高线购物车/临时购物 阅读全文
posted @ 2023-03-09 21:25
共感的艺术
阅读(108)
评论(0)
推荐(0)
摘要:
(一支付宝支付) 1、进入“蚂蚁金服开放平台” https://open.alipay.com/platform/home.htm 2、下载支付宝官方demo,进行配置和测试 文档地址 https://open.alipay.com/platform/home.htm 支付宝&蚂蚁金服开发者平台 h 阅读全文
posted @ 2023-03-09 21:25
共感的艺术
阅读(225)
评论(0)
推荐(0)
摘要:
接口幂等性 一、什么是幂等性 接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用;比如说支付场景,用户购买了商品支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发现多扣钱 阅读全文
posted @ 2023-03-09 21:25
共感的艺术
阅读(73)
评论(0)
推荐(0)
摘要:
压力测试和性能优化 压力测试 压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在。压测都是为了系统在线上的处理能力和稳定性维持在一个标准范围内,做到心中有数。 使用压力测试,我们有希望找到很多种用其他测试方法更难发现的错误。有两种错误类型是:内存泄漏,并发与同步。 有效的压力测 阅读全文
posted @ 2023-03-09 21:25
共感的艺术
阅读(206)
评论(0)
推荐(0)
摘要:
分布式缓存 缓存常见的问题 缓存穿透 缓存和数据库中都没有的数据,而用户不断发起请求,导致数据压力过大,甚至击垮数据库 比如黑客会对你的系统进行攻击,拿一个不存在的id 去查询数据,会产生大量的请求到数据库去查询。可能会导致你的数据库由于压力过大而宕掉 解决办法: 1、在接口增加校验 2、在网关Ng 阅读全文
posted @ 2023-03-09 21:24
共感的艺术
阅读(57)
评论(0)
推荐(0)
摘要:
一、本地事务与分布式事务 (一)本地事务 1、事务的基本性质 数据库事务的几个特性:原子性(Atomicity)、一致性(Consistency)、隔离性或独立性(Isolation) 和持久性(Durabilily),简称就是ACID; 原子性:一系列的操作整体不可拆分,要么同时成功,要么同时失败 阅读全文
posted @ 2023-03-09 21:24
共感的艺术
阅读(58)
评论(0)
推荐(0)
摘要:
1. 整体介绍 1)安装vagrant 2)安装Centos7 $ vagrant init centos/7 A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your firs 阅读全文
posted @ 2023-03-09 21:24
共感的艺术
阅读(208)
评论(0)
推荐(0)
摘要:
mybatis-generate使用 1.IDEA在setting的plugin里安装free mybatis插件 2.idea的右边有一个database,点击连接mysql,根据数据库版本不同,其url也不同 这是mysql8.0以上的url jdbc:mysql://localhost:330 阅读全文
posted @ 2023-03-09 21:24
共感的艺术
阅读(39)
评论(0)
推荐(0)
摘要:
一、简介 官网:http://mp.baomidou.com/ 参考教程:http://mp.baomidou.com/guide/ MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 二、特性 无侵入: 阅读全文
posted @ 2023-03-09 21:23
共感的艺术
阅读(154)
评论(0)
推荐(0)
摘要:
mybatis执行流程 MyBatis执行八步走 上面流程就是MyBatis内部核心流程,咱们来一步步解释下,根据图中步骤,我们可以将这个执行流程分成了8个步骤。 1、读取MyBatis的核心配置文件。 mybatis-config.xml为MyBatis的全局配置文件,用于配置数据库连接、属性、类 阅读全文
posted @ 2023-03-09 21:23
共感的艺术
阅读(2242)
评论(0)
推荐(0)
摘要:
mybatis一级缓存和二级缓存使用详解 文章目录 一、概念说明 1、一级缓存 2、二级缓存 3、比较 二、mybatis缓存的生命周期 三、一级缓存的使用 四、二级缓存的使用 五、自定义二级缓存 六、mybatis缓存、spring缓存和redis缓存的使用比较 总结 一、概念说明 myabtis 阅读全文
posted @ 2023-03-09 21:23
共感的艺术
阅读(5056)
评论(0)
推荐(0)
摘要:
JPA第一天 第1章 1.ORM概述[了解] ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了O 阅读全文
posted @ 2023-03-09 21:22
共感的艺术
阅读(921)
评论(0)
推荐(0)
浙公网安备 33010602011771号