小Y在线编码
这个作者很懒,什么都没留下…
展开
-
接口请求频率限制自定义注解(基于aop和redis实现)
接口请求频率限制自定义注解(基于aop和redis实现)原创 2023-02-28 14:03:45 · 197 阅读 · 0 评论 -
java父子分类树构建工具类
java父子分类树构建工具类原创 2023-02-17 17:04:41 · 269 阅读 · 0 评论 -
@Validated和@Valid的区别和使用
Validated:用在方法入参上无法单独提供嵌套验证功能。不能用在成员属性(字段)上,也无法提示框架进行嵌套验证。能配合嵌套验证注解@Valid进行嵌套验证。@Valid:用在方法入参上无法单独提供嵌套验证功能。能够用在成员属性(字段)上,提示验证框架进行嵌套验证。能配合嵌套验证注解@Valid进行嵌套验证。当一个实体类需要多种验证方式时,例:对于一个实体类的id来说,新增的时候是不需要的,对于更新时是必须的。嵌套验证必须在属性上用@Valid,才可以校验到Prop实体类里面的属性。原创 2022-10-08 17:22:09 · 311 阅读 · 0 评论 -
Mybatis-plus分页查询底层原理
PageHelper内部原理是将传⼊的页码和每页条数赋值给了Page对象,保存到了⼀个本地线程ThreadLoacl中,然后会进⼊Mybatis的拦截器中。然后在拦截器中获取本地线程中保存的分页的参数。最后再将这些分页参数和原本的sql以及内部定义好的sql进⾏拼接完成sql的分页处理。中间会进⾏判断该sql 的类型是查询还是修改操作。如果是查询才会进⼊分页的逻辑并判断封装好的Page对象是否是null,null则不分页,否则分页。 IPage内部原理也是基于拦截器,但是这个拦截的是⽅法以及⽅法原创 2022-06-01 13:30:51 · 5809 阅读 · 0 评论 -
Arthas实践操作文档记录
Arthas实践操作文档记录第1章Arthas简单介绍1.1 Arthas是什么arthas是阿里巴巴开源的Java诊断工具,基本使用场景是定位复现一些生产环境比较难以定位问题。可以在线排查问题,以及动态追踪Java代码,实时监控JVM状态等等,官网地址:https://arthas.aliyun.com/doc/。1.2 Arthas能干什么某个类从那个jar包加载的?为什么会报各种类的异常? (可以通过命令拿到指定类的加载路径和异常信息)改的代码没有执行到?是没有commit还是分支搞错还是原创 2022-05-28 15:09:39 · 359 阅读 · 2 评论 -
EasyExcel导出工具类
/** * 导出设备工具类 * * @author: 杨阳 * @date: 2022/2/25 */@Slf4jpublic class ExcelExportUtil { private ExcelExportUtil() { } /** * @param response 响应体 * @param data 数据 * @param fileName 导出文件名 * @param sheetName 导出文件的原创 2022-02-28 16:35:35 · 493 阅读 · 0 评论 -
适配器设计模式(Adapter模式)
适配器设计模式原创 2022-01-20 14:47:15 · 81 阅读 · 0 评论 -
工厂设计模式
工厂设计模式原创 2022-01-18 17:05:20 · 70 阅读 · 0 评论 -
原型设计模式
原型设计模式原创 2022-01-14 14:29:47 · 72 阅读 · 0 评论 -
责任链设计模式
责任链设计模式原创 2022-01-12 13:53:56 · 115 阅读 · 0 评论 -
模板方法设计模式
Java模板方法设计模式原创 2022-01-12 11:17:25 · 53 阅读 · 0 评论 -
策略设计模式
Java策略设计模式原创 2022-01-12 10:06:54 · 102 阅读 · 0 评论 -
单例设计模式
Java单例设计模式原创 2022-01-12 09:52:28 · 60 阅读 · 0 评论 -
设计模式概念
Java设计模式原创 2022-01-11 20:19:12 · 61 阅读 · 0 评论 -
MongoDB介绍及Java开发应用
MongoDB介绍及Java开发应用转载 2022-01-06 19:49:49 · 610 阅读 · 0 评论 -
分布式系统架构CAP理论和BASE理论
分布式系统架构CAP理论和BASE理论原创 2022-01-05 16:28:00 · 124 阅读 · 0 评论 -
关于配置类初始化使用的总结
在配置文件中获取相应的参数值(项目启动,或者引入某个依赖,某个类实例化为Bean时触发这个初始化)原创 2021-12-22 14:12:14 · 513 阅读 · 0 评论 -
Spring Data Elasticsearch Java Api
Spring Data Elasticsearch是Spring Data项目下的一个子模块。Spring Data 的使命是给各种数据访问提供统一的编程接口,不管是关系型数据库(如MySQL),还是非关系数据库(如Redis),或者类似Elasticsearch这样的索引数据库。从而简化开发人员的代码,提高开发效率。原创 2021-12-20 18:28:43 · 1942 阅读 · 0 评论 -
占位符替换PropertyPlaceholderHelper的用法
占位符替换PropertyPlaceholderHelper的用法原创 2021-12-09 20:42:42 · 728 阅读 · 0 评论 -
JDK8中Map.computeIfPresent() 和Map.computeIfAbsent()方法的使用
JDK8中Map.computeIfPresent() 方法的使用原创 2021-12-06 13:55:15 · 2262 阅读 · 1 评论 -
JDK8中Map.getOrDefault()方法的使用
Map.getOrDefault()方法的使用原创 2021-12-03 16:12:39 · 551 阅读 · 0 评论 -
JDK8中Map.merge()方法的使用
JDK8中Map.merge()方法的使用原创 2021-12-03 16:01:25 · 716 阅读 · 0 评论 -
linux常用命令总结
linux常用命令命令解释备注rm -rf删除服务器所有的文件-r 代表递归删除;-f代表强制删除;rm -rf /*mkdir 文件夹名称创建文件夹mkdir -p a/b/c;可以创建多级目录pwd显示当前绝对路径tail -f xxx.log监控并输出最后几行内容一般用于查看日志echo输出内容到控制台,或者文本echo "xxx" > a.txt 覆盖原有文本;echo "xxx" >> a.txt追加到原有原创 2020-10-27 09:20:54 · 154 阅读 · 0 评论 -
SpringCloud
微服务架构微服务定义: 微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并且可通过全自动和部署机制独立部署。这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术;微服务的特性:每个微服务可独立运行在自己的进程里一系列独立运行的微服务共同构建起整个系统每个服务为独立的业务开发,一个微服务只关注某个特定的功能,例如订单管理、用户管理原创 2021-11-27 18:57:59 · 289 阅读 · 0 评论 -
消息队列(MQ)
消息队列(MQ)什么是消息队列消息队列,即MQ,Message Queue。消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。结合前面所说的问题:商品服务对商品增删改以后,无需去操作索引库或静态页面,只是发送一条消息,也不关心消息被谁接收。搜索服务和静态页面服务接收消息,分别去处理索引库和静态页面。如果以后有其它系统也依赖商品服原创 2021-11-27 11:01:56 · 1372 阅读 · 0 评论 -
Java 8 Stream Api
Java 8 Stream Apifilter:对于Stream中包含的元素使用给定的过滤函数进行过滤操作,新生成的Stream只包含符合条件的元素;Optional<AbstractMsgSendStrategy> strategy = abstractMsgSendStrategy.parallelStream().filter(x -> x.getChannel().equals(msgChannel)).findAny();map:对于Stream中包含的元素使用给定的转换原创 2021-11-18 14:58:40 · 559 阅读 · 0 评论 -
AOP和代理模式笔记总结
一、何为AOP?AOP(Aspect-Oriented Programming,面向切面编程)是对传统 OOP(Object-Oriented Programming,面向对象编程)的补充,属于一种横向扩展。其将与核心业务无关的代码,如日志记录、性能监控、事务处理等从业务逻辑代码中抽离出来,进行横向排列,从而实现低耦合,提高开发效率。二、为什么需要面向切面编程?面向对象编程(OOP)的好处是显而易见的,缺点也同样明显。当需要为多个不具有继承关系的对象添加一个公共的方法的时候,例如日志记录、性能监控等,原创 2021-08-31 19:34:53 · 80 阅读 · 0 评论 -
Spring事务笔记总结
Spring事务总结1. 什么是事务?事务是逻辑上的一组操作,要么都执行,要么都不执行。Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。我们系统的每个业务方法可能包括了多个原子性的数据库操作,比如下面的 savePerson() 方法中就有两个原子性的数据库操作。这些原子性的数据库操作是有依赖的,它们要么都执行,要不就都不执行。 public void savePerson() { personDao.save(person); p原创 2021-08-14 10:44:47 · 97 阅读 · 0 评论 -
Java中值传递和引用传递的区别
Java中值传递和引用传递的区别值传递实参传递给形参的是值 ,形参和实参在内存上是两个独立的变量,对形参做任何修改不会影响实参。package com.yy.day06;/** * @Author: yyang16 * @Date: 2021/7/2 0:22 */public class Demo1 { public static void demo(int a){//形参,形式上的参数 a = 100; } public static v原创 2021-07-02 01:15:14 · 96 阅读 · 0 评论 -
SpringData技术
SpringData技术1. 什么是SpringDataSpring Data :Spring 的一子项目。用于简化数据库访问,支持NoSQL 和关系数据存储。其主要目标是使数据库的访问变得方便快捷。SpringData 项目所支持 NoSQL 存储:MongoDB (文档数据库)Neo4j(图形数据库)Redis(键/值存储)Hbase(列族数据库)SpringData 项目所支持的关系数据存储技术:JDBCJPASpring Data JPA : 致力于减少数据访问层 (D原创 2021-06-01 23:06:07 · 183 阅读 · 3 评论 -
Java多线程技术
一、多线程技术1、与多线程有关概念进程:一个软件安装在硬盘上,运行在内存中。而负责运行这个软件的那个内存空间就是一个进程(主进程,子进程)。进程是用来管理当前正在运行的那个软件。线程:它是软件中具体执行某个功能(代码)的独立空间,进程之间默认是不会影响的。多线程:一个软件中,多个线程同时运行。多线程运行机制:为什么使用多线程:可以保证在一个软件中同时有多个功能在运行。提高软件运行效率。单线程程序:软件中只有一个线程负责功能执行,只要这个功能没有结束,无法启动别的功能。单核、原创 2021-06-01 22:51:44 · 170 阅读 · 1 评论 -
Java网络编程
一、网络编程1、网络相关内容介绍网络:多个终端设备通过有线(无线、网线、光纤、蓝牙、红外)等连接在一起,可以进行数据交互。网络分成:广域网、城域网、局域网网络模型:OSI模型(7层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)传输层:UDP、TCP网络层:IP应用层:端口(http、ftp)2、网络编程三要素协议:数据传输的规则(约束通信双方) UDP:用户数据报文包协议:面向无连接、不可靠、不安全、不能传输大量的数据等。速度快。 TCP:传输控制协议:面向有连接、原创 2021-06-01 22:37:48 · 59 阅读 · 1 评论 -
反射技术笔记
一、反射介绍1、反射介绍反射:reflect ,通过对字节码文件的分析,动态的获取字节码文件中的内容(成员变量、方法、构造方法)。反射称为解剖class文件。2、Class对象Class 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注解是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本的 Java 类型(boolean、byte、char、short、int、long、float 和 doub原创 2021-05-30 13:11:13 · 61 阅读 · 1 评论 -
xml技术
一、xml介绍1、xml历史HTML1.0------>HTML4.0:语法不严谨,W3C指定新的HTML标注,XHTML1.0(语法相对严谨),最终是希望使用XML代替的HTML的。后来就出现HTML5.0。XML 指可扩展标记语言(eXtensible Markup Language)。XML 被设计用来传输和存储数据。XML 很重要,也很容易学习。<?xml version="1.0" encoding="UTF-8" ?><note> <to原创 2021-05-30 13:04:09 · 112 阅读 · 0 评论 -
easyui
jQuery EasyUI框架一、前端框架介绍前端框架:它一定会提供丰富的界面、CSS样式、各种页面需要的标签(组件)、适配各种屏幕等功能。jQuery:它不算一个前端框架,JavaScript库,主要原因是它封装大量的JS操作HTML dom ,而没有提供真正的页面标签的一些组件效果。通过jQuery可以简化原生的JS操作。jQuery UI :它是基于jQuery提供一套界面。它是免费的。https://www.jqueryui.org.cn/jQuery EasyUI :它也是基于jQue原创 2021-05-28 21:53:02 · 309 阅读 · 1 评论 -
jQuery
一、jQuery介绍1、jQuery的介绍和历史jQuery 是一个 JavaScript 库(jQuery简化了dom操作)。jQuery 极大地简化了 JavaScript 编程。jQuery 很容易学习。前端库:仅仅只是为前端提供某个单一方向的技术解决方案(日历js、表单的验证等)前端框架:提供的页面上一套的组件,快速的搭建出网站(表单组件、按钮组件、图标组件、表格组件等)jQuery的版本问题:jQuery1.x : 兼容低版本的浏览器的jQuery2.x : 放弃IE9以下版本原创 2021-05-28 21:17:56 · 77 阅读 · 1 评论 -
SpringBoot框架
一、SpringBoot框架1、SpringBoot介绍SpringBoot是Spring家族体系中一员。Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.We take an opinionated view of the Spring platform and third-party libraries so y原创 2021-05-28 21:04:16 · 1490 阅读 · 18 评论 -
SpringmMVC框架
一、SpringMVC入门1、SpringMVC介绍学习SpringMVC,需要注意的问题:掌握SpringMVC是如何将Servlet中的哪些技术进行封装的。学习SpringMVC是如何处理请求、响应;请求和响应中的数据如何封装;如何处理处理上传、下载等等。2、搭建SpringmMVC的环境2.1、创建项目SpringmMVC环境必须是JavaWEB环境。就会用到tomcat服务器等。2.2、导入依赖<?xml version="1.0" encoding="UTF-8"?原创 2021-05-23 17:14:11 · 215 阅读 · 2 评论 -
spring框架
一、Spring框架介绍1、介绍Spring框架Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 年 6 月首次在 Apache 2.0 许可下发布。Spring 是轻量级的框架,其基础版本只有 2 MB 左右的大小。Spring 框架的核心特性是可以用于开发任何 Java 应用程序,原创 2021-05-22 11:14:10 · 270 阅读 · 0 评论 -
mybatis
一、mybatis框架介绍1、什么是框架在学习JavaSE、JavaWEB过程中,基本都是采用比较偏向底层的代码实现业务功能。虽然可以实现具体的功能,开发效率,后期代码升级维护比较难。于是一些技术大咖,将日常开发中一些公共的逻辑代码,以及一些处理复杂业务部分代码进行封装,经常长期的修改完善形成一套可以面向不同项目需求而进行开发的模板。这些将基础的一些进行封装之后形成可以在此基础上进行相关项目业务开发的技术模板称为框架。框架是项目的一个半成品。框架的目的是让开发人员将更多时间精力放在项目业务逻辑上。在原创 2021-04-18 10:38:39 · 187 阅读 · 0 评论