自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java面试题总结汇总

1.自我介绍+项目介绍2.基础知识1、String类中常用的方法split():把字符串分割成字符串数组indexOf():从指定字符提取索引位置trim():去除字符串两端空格replace():替换hashCode():返回此字符串的哈希码subString():截取字符串equals():比较length():获取字符串的长度valueOf():转换为字符串concat():将指定字符串连接到此字符串的结尾compareTo():用来比较两个字符串的字典顺

2020-10-23 16:59:31 2475 1

原创 接口请求频率限制自定义注解(基于aop和redis实现)

接口请求频率限制自定义注解(基于aop和redis实现)

2023-02-28 14:03:45 247

原创 List集合分组后排序并去重

【代码】List集合分组后排序并去重。

2023-02-17 17:32:27 354

原创 java父子分类树构建工具类

java父子分类树构建工具类

2023-02-17 17:04:41 324

原创 @Validated和@Valid的区别和使用

Validated:用在方法入参上无法单独提供嵌套验证功能。不能用在成员属性(字段)上,也无法提示框架进行嵌套验证。能配合嵌套验证注解@Valid进行嵌套验证。@Valid:用在方法入参上无法单独提供嵌套验证功能。能够用在成员属性(字段)上,提示验证框架进行嵌套验证。能配合嵌套验证注解@Valid进行嵌套验证。当一个实体类需要多种验证方式时,例:对于一个实体类的id来说,新增的时候是不需要的,对于更新时是必须的。嵌套验证必须在属性上用@Valid,才可以校验到Prop实体类里面的属性。

2022-10-08 17:22:09 335

原创 Mybatis-plus分页查询底层原理

​ PageHelper内部原理是将传⼊的页码和每页条数赋值给了Page对象,保存到了⼀个本地线程ThreadLoacl中,然后会进⼊Mybatis的拦截器中。然后在拦截器中获取本地线程中保存的分页的参数。最后再将这些分页参数和原本的sql以及内部定义好的sql进⾏拼接完成sql的分页处理。中间会进⾏判断该sql 的类型是查询还是修改操作。如果是查询才会进⼊分页的逻辑并判断封装好的Page对象是否是null,null则不分页,否则分页。​ IPage内部原理也是基于拦截器,但是这个拦截的是⽅法以及⽅法

2022-06-01 13:30:51 5896

原创 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 436 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 528

原创 适配器设计模式(Adapter模式)

适配器设计模式

2022-01-20 14:47:15 89

原创 工厂设计模式

工厂设计模式

2022-01-18 17:05:20 76

原创 原型设计模式

原型设计模式

2022-01-14 14:29:47 80

原创 责任链设计模式

责任链设计模式

2022-01-12 13:53:56 124

原创 模板方法设计模式

Java模板方法设计模式

2022-01-12 11:17:25 61

原创 策略设计模式

Java策略设计模式

2022-01-12 10:06:54 112

原创 单例设计模式

Java单例设计模式

2022-01-12 09:52:28 67

原创 设计模式概念

Java设计模式

2022-01-11 20:19:12 70

转载 MongoDB介绍及Java开发应用

MongoDB介绍及Java开发应用

2022-01-06 19:49:49 626

原创 分布式系统架构CAP理论和BASE理论

分布式系统架构CAP理论和BASE理论

2022-01-05 16:28:00 139

原创 关于配置类初始化使用的总结

在配置文件中获取相应的参数值(项目启动,或者引入某个依赖,某个类实例化为Bean时触发这个初始化)

2021-12-22 14:12:14 543

原创 Spring Data Elasticsearch Java Api

Spring Data Elasticsearch是Spring Data项目下的一个子模块。Spring Data 的使命是给各种数据访问提供统一的编程接口,不管是关系型数据库(如MySQL),还是非关系数据库(如Redis),或者类似Elasticsearch这样的索引数据库。从而简化开发人员的代码,提高开发效率。

2021-12-20 18:28:43 2002

原创 占位符替换PropertyPlaceholderHelper的用法

占位符替换PropertyPlaceholderHelper的用法

2021-12-09 20:42:42 766

原创 JDK8中Map.computeIfPresent() 和Map.computeIfAbsent()方法的使用

JDK8中Map.computeIfPresent() 方法的使用

2021-12-06 13:55:15 2347 1

原创 JDK8中Map.getOrDefault()方法的使用

Map.getOrDefault()方法的使用

2021-12-03 16:12:39 585

原创 JDK8中Map.merge()方法的使用

JDK8中Map.merge()方法的使用

2021-12-03 16:01:25 779

原创 SpringCloud

微服务架构微服务定义:​ 微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并且可通过全自动和部署机制独立部署。这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术;微服务的特性:每个微服务可独立运行在自己的进程里一系列独立运行的微服务共同构建起整个系统每个服务为独立的业务开发,一个微服务只关注某个特定的功能,例如订单管理、用户管理

2021-11-27 18:57:59 299

原创 消息队列(MQ)

消息队列(MQ)什么是消息队列消息队列,即MQ,Message Queue。消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。结合前面所说的问题:商品服务对商品增删改以后,无需去操作索引库或静态页面,只是发送一条消息,也不关心消息被谁接收。搜索服务和静态页面服务接收消息,分别去处理索引库和静态页面。如果以后有其它系统也依赖商品服

2021-11-27 11:01:56 1428

原创 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 570

原创 AOP和代理模式笔记总结

一、何为AOP?AOP(Aspect-Oriented Programming,面向切面编程)是对传统 OOP(Object-Oriented Programming,面向对象编程)的补充,属于一种横向扩展。其将与核心业务无关的代码,如日志记录、性能监控、事务处理等从业务逻辑代码中抽离出来,进行横向排列,从而实现低耦合,提高开发效率。二、为什么需要面向切面编程?面向对象编程(OOP)的好处是显而易见的,缺点也同样明显。当需要为多个不具有继承关系的对象添加一个公共的方法的时候,例如日志记录、性能监控等,

2021-08-31 19:34:53 86

原创 Spring事务笔记总结

Spring事务总结1. 什么是事务?事务是逻辑上的一组操作,要么都执行,要么都不执行。Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。我们系统的每个业务方法可能包括了多个原子性的数据库操作,比如下面的 savePerson() 方法中就有两个原子性的数据库操作。这些原子性的数据库操作是有依赖的,它们要么都执行,要不就都不执行。 public void savePerson() { personDao.save(person); p

2021-08-14 10:44:47 102

原创 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 108

原创 day05_最长回文子串

给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"```javapackage com.yy.day05;/** * @Author: yyang16 * @Date: 2021/6/6 21:15 */public class Solution { public String longestPalindrome(Str

2021-06-06 22:43:03 78

原创 day04_寻找两个正序数组的中位数

给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5示例 3:输入:nums1 = [0,0],

2021-06-05 21:54:20 61

原创 SpringData技术

SpringData技术1. 什么是SpringDataSpring Data :Spring 的一子项目。用于简化数据库访问,支持NoSQL 和关系数据存储。其主要目标是使数据库的访问变得方便快捷。SpringData 项目所支持 NoSQL 存储:MongoDB (文档数据库)Neo4j(图形数据库)Redis(键/值存储)Hbase(列族数据库)SpringData 项目所支持的关系数据存储技术:JDBCJPASpring Data JPA : 致力于减少数据访问层 (D

2021-06-01 23:06:07 194 3

原创 Java多线程技术

一、多线程技术1、与多线程有关概念进程:一个软件安装在硬盘上,运行在内存中。而负责运行这个软件的那个内存空间就是一个进程(主进程,子进程)。进程是用来管理当前正在运行的那个软件。线程:它是软件中具体执行某个功能(代码)的独立空间,进程之间默认是不会影响的。多线程:一个软件中,多个线程同时运行。多线程运行机制:为什么使用多线程:可以保证在一个软件中同时有多个功能在运行。提高软件运行效率。单线程程序:软件中只有一个线程负责功能执行,只要这个功能没有结束,无法启动别的功能。单核、

2021-06-01 22:51:44 183 1

原创 Java网络编程

一、网络编程1、网络相关内容介绍网络:多个终端设备通过有线(无线、网线、光纤、蓝牙、红外)等连接在一起,可以进行数据交互。网络分成:广域网、城域网、局域网网络模型:OSI模型(7层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)传输层:UDP、TCP网络层:IP应用层:端口(http、ftp)2、网络编程三要素协议:数据传输的规则(约束通信双方)​ UDP:用户数据报文包协议:面向无连接、不可靠、不安全、不能传输大量的数据等。速度快。​ TCP:传输控制协议:面向有连接、

2021-06-01 22:37:48 65 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 64 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 117

原创 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 360 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 84 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 1537 18

空空如也

空空如也

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

TA关注的人

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