java
文章平均质量分 70
时间头秃大师
这个作者很懒,什么都没留下…
展开
-
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 · 196 阅读 · 0 评论 -
java 9- java17 新特性
java 9- java 17的新特性, 正式版本, 测试功能没有写,原创 2023-05-12 17:36:35 · 151 阅读 · 0 评论 -
创建 帮助类(不定期更新)
帮助类原创 2023-01-09 10:52:11 · 209 阅读 · 0 评论 -
Java 操作 Redis 模板
springboot 操作 redis 模板,包含五大常用数据类型和三大redis6新增类型原创 2022-12-13 18:07:19 · 671 阅读 · 0 评论 -
java springboot 数据校验 @Validated 与 @Valid 区别
@Validated 与 @Valid 区别原创 2022-12-06 17:18:25 · 574 阅读 · 0 评论 -
AOP 日志
AOP 切面 保存数据库 日志原创 2022-11-28 15:34:26 · 111 阅读 · 0 评论 -
系统报错统一返回结果
系统同一异常捕获原创 2022-09-29 19:21:27 · 196 阅读 · 0 评论 -
sql分页
mybatis jpa sql分页原创 2022-09-08 11:50:05 · 92 阅读 · 0 评论 -
根据 hutool 自定义 导入导出 xlsx 的操作
hutool 导出文件,链式结构 简单易用 导入原创 2022-08-23 19:02:57 · 4811 阅读 · 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 · 295 阅读 · 0 评论 -
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 · 584 阅读 · 0 评论 -
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 · 91 阅读 · 0 评论 -
SpringCloud( H版 & alibaba )框架开发教程(高级 Alibaba)
nacos注册配置中心, sentinel 服务熔断降级, seata分布式事务中心原创 2021-07-09 14:35:27 · 1563 阅读 · 0 评论 -
SpringCloud( H版 & alibaba )框架开发教程(中级)
Hystrix 断路器zuul 路由网关Gateway 新一代网关SpringCloud Config 分布式配置中心SpringCloud Bus 消息总线SpringCloud Stream 消息驱动SpringCloud Sleuth 分布式请求链路跟踪原创 2021-07-02 12:18:52 · 576 阅读 · 0 评论 -
SpringCloud( H版 & alibaba )框架开发教程(初级)
Eureka 服务注册与发现Zookeeper 服务注册与发现Consul 服务注册与发现Ribbon 负载均衡服务调用OpenFeign 服务接口调用原创 2021-06-23 13:43:20 · 405 阅读 · 0 评论 -
SpringCloud( H版 & alibaba )框架开发教程(入门)
微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个微服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相协作(通常是基于HTTP协议的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而善应根据业务上下文,选择合适的语言、工具对其进行构建主题词 : 95后互联网时代下的数字化生活。原创 2021-06-18 16:10:13 · 772 阅读 · 0 评论 -
Redis 6 入门到入坟 详细教程 @学习笔记
最新 Redis 6 入门到精通 超详细 教程原创 2021-04-27 10:57:35 · 2365 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 111 阅读 · 0 评论 -
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 · 306 阅读 · 0 评论 -
jdk1.8 Stream(流,链)式操作 (五) 串并行流
定义:并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流。Java8中将并行进行了优化,可以很容易的对数据进行并行操作。Stream API可以声明性地通过parallel()与sequential()在并行流与顺序流之间进行切换。了解Fork/Join框架(多线程)Fork/Join框架:就是在必要的情况下,将一个大任务,进行拆分(fork)成若干个小任务(拆到不可再拆时),再将一个个的小任务运算的结果进行join汇总。执行过程:Fork/Join框架与传统线程原创 2021-04-26 13:29:40 · 242 阅读 · 0 评论 -
jdk1.8 Stream(流,链)式操作 (四) 终止操作(执行中间链操作,并产生结果)
所需的实体类Person地址:https://blog.csdn.net/qiwunongqingyin/article/details/116131191原创 2021-04-25 17:25:38 · 344 阅读 · 0 评论 -
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 · 299 阅读 · 0 评论 -
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 · 193 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 136 阅读 · 0 评论 -
jdk1.8 方法引用与构造器引用 数组引用
1. 方法引用: 若 Lambda 体中的内容有方法已经实现了,我们可以用 “方法引用” (可以理解为方法引用是 Lambda 表达式的另一种表现方式)主要有三种语法格式:对象 :: 实例方法名类 :: 静态方法名类 :: 实例方法名注:①: Lambda 体中调用方法的参数列表与返回值类型,函数式接口中抽象方法的函数列表和返回值类型保持一致!②: 若 Lambda 参数类表中的第一个参数(x)是 实例方法的调用着(x.equals(y)),而第二个参数是实例方法的参数时,可以使用 Cla原创 2021-04-25 11:15:06 · 156 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 234 阅读 · 0 评论 -
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 · 506 阅读 · 0 评论 -
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 阅读 · 0 评论 -
aop 配置 Contorller 请求日志 (springboot)
引入maven <!-- fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.62</version> </dependency>原创 2021-04-21 17:18:08 · 61 阅读 · 0 评论 -
基于base64字符串与图片的相互转换
图片转化成base64字符串 //图片转化成base64字符串 public static String imgToBase64() {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理 String imgFile = "D:\\tupian\\a.jpg";//待处理的图片 InputStream in = null; byte[] data = null; //读取图片字节数组原创 2020-12-23 09:52:23 · 160 阅读 · 0 评论 -
aspose实现office文件转换pdf文件
aspose实现office文件转换pdf文件jar:aspose.slides-19.3.jaraspose-cells-8.5.2.jaraspose-words-16.8.0.jarlicense.xml链接:https://pan.baidu.com/s/11rBQxPYTn9x9WOc1OBZjUQ提取码:x2b4复制这段内容后打开百度网盘手机App,操作更方便哦license.xml放入resources目录下验证license.xml private static I原创 2020-12-23 09:45:26 · 391 阅读 · 0 评论 -
request获取客户端和本地的ip等方法
request.getHeader("User-Agent"); //就是取得客户端的系统版本 request.getRemoteAddr(); //取得客户端的IP request.getRemoteHost() //取得客户端的主机名 request.getRemotePort(); //取得客户端的端口 request.getRemoteUser(); //取得客户端的用户 request.getLocalAddr();原创 2020-12-23 09:44:53 · 807 阅读 · 0 评论 -
java.lang.System主要方法
一、System.currentTimeMillis() //获取系统当前时间,毫秒二、System.getProperty("参数")参数解释Java.versionJava 运行时环境版本java.vendorJava 运行时环境供应商java.vendor.urlJava 供应商的 URLjava.homeJava 安装目录java.vm.specification.versionJava 虚拟机规范版本java.vm.specifica原创 2020-12-23 09:44:21 · 189 阅读 · 0 评论