自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 【无标题】

主卧:衣柜空调床床头柜窗帘投影次卧1衣柜空调床窗帘床头柜次卧2电脑桌衣柜空调床窗帘客厅沙发电视电视柜空调路由器阳台洗衣机烘干机衣架洗手台扫地机器人窗帘厨房冰箱锅碗瓢盆微波炉电饭煲

2024-05-06 10:58:16 100

原创 docker 安装镜像及使用命令

docker pull 容器名:版本号run 运行-d后台运行容器名称环境变量-v 系统地址:docker地址。

2024-05-05 17:14:51 1267 4

原创 java 排序算法

row 行 col 列, 将 row+1 行数据插入row行 同col列右侧。

2023-11-29 16:17:27 355

原创 DealyQueue 延迟队列

基于 DelayQueue 和 缓冲线程池 实现的本地延时队列

2023-07-31 17:24:17 192

原创 Mysql 事务优化

当前事务的操作要么同时成功,要么同时失败。原子性由undo log日志来保证:使用事务的最终目的,由业务代码正确逻辑保证:在事务并发执行时,他们内部的操作不能互相干扰:一旦提交了事务,它对数据库的改变就应该是永久性的。持久性由redo log日志来保证在 mysql 的 InnerDB 中, 定义了四中隔离级别, 级别越高事务隔离性越好, 性能越低, 而隔离性是由Mysql的各种锁一级MVCC实现的;默认事务。

2023-07-03 15:41:27 379

原创 CAS + 自旋 锁底层

在 jdk1.6之前 synchronized是一把重量级锁, 跟 4.1 一样的,(在线程的上下文切换中非常耗时, 线程A上文记录, 恢复线程B的上文继续执行B的下文)在多线程中, put会进行hash计算, 然后加锁写入相应的hashMap中, 因为初始有16个hashmap, 则可以同时处理多线程的问题。, 所以就进行了计算, 可是实际上已经被修改过了, 在int, 等基础类型中,没有问题, 可是在对象Object中会出现问题., 而2的幂次方-1的二级制数都是1, hash冲突可能性最小.

2023-07-03 14:31:02 200

原创 安装jdk17

linux 安装jdk17

2023-06-25 18:35:11 117

原创 java 9- java17 新特性

java 9- java 17的新特性, 正式版本, 测试功能没有写,

2023-05-12 17:36:35 153

原创 CentOS 8使用秘钥登陆

centos 8 使用public key登陆

2023-01-30 11:25:13 444

原创 创建 帮助类(不定期更新)

帮助类

2023-01-09 10:52:11 211

原创 javaSE Shiro 安全框架

Springboot shiro Realm ehcache rememberMe Session Filter 过滤器

2023-01-04 17:52:16 237

原创 Java 操作 Redis 模板

springboot 操作 redis 模板,包含五大常用数据类型和三大redis6新增类型

2022-12-13 18:07:19 676

原创 java springboot 数据校验 @Validated 与 @Valid 区别

@Validated 与 @Valid 区别

2022-12-06 17:18:25 575

原创 AOP 日志

AOP 切面 保存数据库 日志

2022-11-28 15:34:26 112

原创 系统报错统一返回结果

系统同一异常捕获

2022-09-29 19:21:27 198

原创 sql分页

mybatis jpa sql分页

2022-09-08 11:50:05 92

原创 根据 hutool 自定义 导入导出 xlsx 的操作

hutool 导出文件,链式结构 简单易用 导入

2022-08-23 19:02:57 4840 4

原创 java web response下载文件

@Override public void downloadFile(String filePath, HttpServletResponse response) { try { byte[] bytes = downFile(filePath); ServletOutputStream outputStream = response.getOutputStream(); outputStream.wri...

2022-02-15 13:54:19 297

原创 java snowflake雪花算法

源码下载地址: https://github.com/twitter-archive/snowflake/tags源码是scala写的…java版本:https://gitee.com/xyy-kk_admin/data-source/blob/master/SnowflakeIdWorker.javaTwitter的分布式自增ID算法snowflake概述:Twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移到Cassandra(由Facebook开发一套

2021-08-09 12:53:02 592

原创 java 拦截器

Interceptorpackage com.xyy.demo.interceptor;import com.xyy.demo.entity.User;import com.xyy.demo.service.IUserService;import com.xyy.demo.util.Output;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.Mod

2021-07-12 15:36:58 92

原创 SpringCloud( H版 & alibaba )框架开发教程(高级 Alibaba)

nacos注册配置中心, sentinel 服务熔断降级, seata分布式事务中心

2021-07-09 14:35:27 1572

原创 SpringCloud( H版 & alibaba )框架开发教程(中级)

Hystrix 断路器zuul 路由网关Gateway 新一代网关SpringCloud Config 分布式配置中心SpringCloud Bus 消息总线SpringCloud Stream 消息驱动SpringCloud Sleuth 分布式请求链路跟踪

2021-07-02 12:18:52 583

原创 SpringCloud( H版 & alibaba )框架开发教程(初级)

Eureka 服务注册与发现Zookeeper 服务注册与发现Consul 服务注册与发现Ribbon 负载均衡服务调用OpenFeign 服务接口调用

2021-06-23 13:43:20 416

原创 SpringCloud( H版 & alibaba )框架开发教程(入门)

微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个微服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相协作(通常是基于HTTP协议的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而善应根据业务上下文,选择合适的语言、工具对其进行构建主题词 : 95后互联网时代下的数字化生活。

2021-06-18 16:10:13 779

原创 Redis 6 入门到入坟 详细教程 @学习笔记

最新 Redis 6 入门到精通 超详细 教程

2021-04-27 10:57:35 2372

原创 jdk1.8 接口中的默认方法与静态方法

jdk1.8以前,只允许在接口中定义两种类型的数据: 全局静态变量和抽象方法。但在jdk1.8中引入了两个全新的概念:在接口中可以使用default关键字修饰非抽象方法。接口内可以编写静态方法,并且可以被实现。全局静态变量:public interface MyInterface { //public static Integer age = 1; //public static String name = "name"; Integer age = 1; String name

2021-04-26 16:05:08 166

原创 jdk1.8 Optional 容器对象

Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。Optional 类的引入很好的解决空指针异常。常用方法:方法名解释Optional.of(T t)创建一个Optional实例Optional.empty()创建一个空的Optional实例.

2021-04-26 14:38:25 112

原创 Mybatis Plus逆向生成类

pom.xml中加入依赖 <!-- 代码生成器 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.2.0</version> &

2021-04-26 13:40:02 308

原创 jdk1.8 Stream(流,链)式操作 (五) 串并行流

定义:并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流。Java8中将并行进行了优化,可以很容易的对数据进行并行操作。Stream API可以声明性地通过parallel()与sequential()在并行流与顺序流之间进行切换。了解Fork/Join框架(多线程)Fork/Join框架:就是在必要的情况下,将一个大任务,进行拆分(fork)成若干个小任务(拆到不可再拆时),再将一个个的小任务运算的结果进行join汇总。执行过程:Fork/Join框架与传统线程

2021-04-26 13:29:40 244

原创 jdk1.8 Stream(流,链)式操作 (四) 终止操作(执行中间链操作,并产生结果)

所需的实体类Person地址:https://blog.csdn.net/qiwunongqingyin/article/details/116131191

2021-04-25 17:25:38 346

原创 jdk1.8 Stream(流,链)式操作 (三) Stream 的 中间操作

所需的实体类Person地址:https://blog.csdn.net/qiwunongqingyin/article/details/116131191中间操作1. 筛选与切片filter —接收Lambda,从流中排除某些元素limit —截断流,使其元素不超过给定的数量skip(n) —跳过元素,返回一个扔掉了前n个元素的流。若流中元素不足n个,则返回一个空流,与limit(n)互补distinct —去重,通过流所生成元素的hashCode( )和equals( )去除重复元素

2021-04-25 17:24:19 301

原创 jdk 1.8中 所创建的 实体类测试对象

package lambda;import java.util.Objects;public class Person { private int id; private String name; private Integer age; private double salary; private Status status; public Person(){ } public Person(int id) {

2021-04-25 15:54:05 204

原创 jdk1.8 Stream(流,链)式操作 (二) Stream 的 四种 创建方式

1. 可以通过Collection 系列集合提供的 stream() 获取川形流 或 parallelStream() 获取并行流List<String> list = new ArrayList<>();Stream<String> stream = list.stream(); //得到stream流2. 通过Arrays 中的静态方法获取Person[] person = new Person[10];Stream<Person> st

2021-04-25 15:50:54 114

原创 jdk1.8 Stream(流,链)式操作 (一) 了解 stream

了解 StreamJava8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一 个则是 Stream API(java.util.stream.*)。Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。 使用Stream API对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简言之,Stream API提供了一种高效且易于使用的处理数据的方式。

2021-04-25 15:35:19 137

原创 jdk1.8 方法引用与构造器引用 数组引用

1. 方法引用: 若 Lambda 体中的内容有方法已经实现了,我们可以用 “方法引用” (可以理解为方法引用是 Lambda 表达式的另一种表现方式)主要有三种语法格式:对象 :: 实例方法名类 :: 静态方法名类 :: 实例方法名注:①: Lambda 体中调用方法的参数列表与返回值类型,函数式接口中抽象方法的函数列表和返回值类型保持一致!②: 若 Lambda 参数类表中的第一个参数(x)是 实例方法的调用着(x.equals(y)),而第二个参数是实例方法的参数时,可以使用 Cla

2021-04-25 11:15:06 156

原创 java8 jdk1.8 lambda表达式(三) 四大核心函数式接口

内置的四大核心函数式接口内置的四大核心函数式接口(前四个)和其他的的子接口函数式接口返回类型参数类型用途Consumer<,T> : 消费性接口voidT类型为 T 的对象操作 无返回值: accetp(T t)Supplier<,T> : 供给型接口T返回对象为T的操作,没有参数: get()Function<T,R> : 函数型接口RT对参数为T的对象操作并且返回R类型的对象的结果:

2021-04-23 16:44:21 134

原创 java8 jdk1.8 lambda表达式(二) 语法篇

java8 jdk1.8 lambda表达式(二)lambda 表达式的基础语法,java8中引入了一个新的操作符 “->” 该操作符成为箭头操作符或 Lambda 操作符箭头操作符将 Lambda 表达式拆分为两部分左侧: lambda 的参数列表右侧: lambda 表达式中所欲执行的功能,即lambda体语法格式一: 无参无返回值 ()->System.out.print("hello lambda!")来看看 匿名内部类和Lambda表达式的差别 @T

2021-04-23 16:00:52 193

原创 java8 jdk1.8 lambda表达式(一) 入门篇

更快在jdk1.8中对hashMap等map集合的数据结构优化。hashMap数据结构的优化 :原来的hashMap采用的数据结构是哈希表(数组+链表),hashMap默认大小是16,一个0-15索引的数组,如何往里面存储元素,首先调用元素的hashcode 方法,计算出哈希码值,经过哈希算法算成数组的索引值如果对应的索引处没有元素,直接存放, 如果有对象在,那么比较它们的equals方法比较内容,如果内容一样,后一个value会将前一个value的值覆盖,如果不一样,在1.7的时

2021-04-23 15:21:53 235

原创 isNull isNotNull 判断空类型

package com.xyy.demo.util;import java.util.Date;import java.util.List;import java.util.Map;import java.util.Set;/** * @author xyy * @date 2021年04月14日 17:06 */public class Empty { /** * 方法描述 如果对象为非空返回true 否则返回false * * @param

2021-04-21 17:30:25 509

原创 Controller output 返回类型

创建output.javapackage com.xyy.demo.util;import lombok.EqualsAndHashCode;import lombok.Getter;import lombok.Setter;import lombok.ToString;/** * HTTP请求,json输出格式定义 */@ToString@Getter@Setter@EqualsAndHashCodepublic class Output<T> { pri

2021-04-21 17:28:57 199

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除