自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java积累

链接: Java 高级 .链接: Java 日常工具类 .链接: java 校验图片的大小、尺寸、比例 .链接: 尚硅谷视频redis笔记 .链接: 尚硅谷视频redis笔记 (github 多种笔记).链接: Java 全栈知识体系.1.查看容器中有没有某个id,有为true2.生成随机数值3.把a对象数据放进b对象里 字段名称要相同4.集合类判空5.只能用在单数据源回滚6.多数据源 指定数据源7.可变参数 A...a(是个数组)8.截取取字符串

2022-06-22 14:22:45 1142

原创 java8 stream 的项目应用

提示:项目中常用lambda的表达式java8 stream 的项目应用案例案例// 转成set时直接用toSet,或者用.distinct()做去重// 把实体类的集合抽出某属性转成listList<Integer> collect = banners.stream().map(BankBanner::getPictureSort).collect(Collectors.toList());// 把实体类的集合转map//返回 对象集合以类属性一升序排序list.s

2021-10-22 17:25:27 263

原创 马士兵全套Spring源码深度解析学习

视频链接:马士兵全套Spring源码深度解析:AOP、IOC、Bean生命周期、循环依赖、事务、SpringBoot自动装配等

2023-10-04 20:44:26 438

原创 java es游标查询,导出多个文件到压缩文件

【代码】【无标题】

2023-09-14 15:50:51 214

转载 CSV文件导出

txt、csv、tsv都属于文本文件csv又有叫做Char-separated values(字符分隔值类型),通过字符值进行分隔。但因为半角逗号在数据中出现的的可能性比较大,所以经常会使用文本包装符来标识逗号为数据中的一部分,或者直接使用其它特殊符号作为分隔符。

2023-09-04 21:43:19 783

原创 Spring Clould 搜索技术 - elasticsearch

elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容例如:在GitHub搜索代码在电商网站搜索商品在百度搜索答案在打车软件搜索附近的车什么是elasticsearch?一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能什么是elastic stack(ELK)?是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch什么是Lucene?

2023-08-17 20:51:22 890

原创 Spring Clould 消息队列 - RabbitMQ

MQ,中文是消息队列(MessageQueue),字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。比较常见的MQ实现:ActiveMQRabbitMQRocketMQKafkaRabbitMQActiveMQRocketMQKafka公司/社区RabbitApache阿里Apache开发语言ErlangJavaJavaScala&Java协议支持自定义协议自定义协议可用性高一般高高单机吞吐量一般差高非常高消息延迟微秒级。

2023-08-17 20:48:21 1088

原创 Spring Clould 部署 - Docker

微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题容器操作的命令如图:容器保护三个状态:运行:进程正常运行暂停:进程暂停,CPU不再运行,并不释放内存停止:进程终止,回收进程占用的内存、CPU等资源其中:docker run:创建并运行一个容器,处于运行状态docker pause:让一个运行的容器暂停。

2023-08-17 20:45:24 925

原创 Spring Clould 网关 - Gateway

Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。为什么需要网关Gateway网关是我们服务的守门神,所有微服务的统一入口。一切请求先到网关再到微服务网关功能身份认证和权限校验(根据用户身份角色放行)

2023-08-17 20:40:09 826

原创 Spring Clould 服务间通信 - Feign

类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解失败重试机制请求失败的重试机制,默认是没有,不过会使用Ribbon的重试一般情况下,默认值就能满足我们使用,如果要自定义时,只需要创建自定义的@Bean覆盖默认Bean即可。下面以日志为例来演示如何自定义配置。

2023-08-17 20:37:33 354

原创 ​ Spring Clould 配置中心 - Nacos

这样,UserApplication(8081)使用的profile是dev,UserApplication2(8082)使用的profile是test。注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。我们最终的目的,是修改nacos中的配置后,微服务中无需重启即可让配置生效,也就是。

2023-08-17 20:35:25 252

原创 Spring Clould 负载均衡 - Ribbon

方式1,是全局都使用此规则方式2,是指定的服务使用此规则。

2023-08-17 20:30:15 1519

原创 Spring Clould 注册中心 - Eureka,Nacos

视频地址:微服务(SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式) 微服务涉及的的知识 总结: 邮储的物联网项目实用的是apollo作为配置中心,nocos作为注册中心,feign进行服务间调用 SpringClould 与SpringBoot的版本兼容 clould-demo:demo 提取码:cocf实现RestTemple也可以通过http进行服务间调用(非注册中心实现)http远程调用是与语言无关的调用,只要知道对方的ip、端口、接口路径、请求参数即可服务关系是相对

2023-08-17 20:27:29 2269

原创 linux操作es 命令

i++) { writer.write("{"index":{"_id":""+i+""}}"+" "+"{"name":"张三"+i+"","age": "+i+","address":"北京"+i+""}"+" ");pretty -d '{"doc":{"name":"李四更新","age":"230"}}'===================================下来看查询(删除索引在最后)=========================================

2023-08-16 22:45:11 3582

原创 RabbitMQ部署指南

我们在Centos7虚拟机中使用Docker来安装。

2023-07-29 23:21:04 341

原创 CentOS7安装Docker

Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker CE 分为stabletest和nightly三个更新频道。官方网站上有各种环境下的,这里主要介绍 Docker CE 在 CentOS上的安装。

2023-07-23 18:00:12 269

原创 数据结构-红黑树

1.2.3.​​​​​​​hashmap中为什么在数量大于8时候变成红黑树而不是自平衡二叉树或二叉搜索树?

2023-07-19 22:20:13 89

原创 postman调用接口报404错误详解

此种情况不常见,但是比较容易让人蒙圈。因为即使url检查多少遍,注解导入多少次也不会找到问题原因,因为这时候路就已经走错了。问题原因,启动类没有扫描到@RestController,@ResponseBody 等注解,没有注入bean。此种情况不常见是因为可能是出现在刚创建的项目,或者刚加的controller包。启动类只会扫描其所在的包和其下的包。可以通过改变启动类位置,或通过注解。粗心,url没有拼写正确,或者加了前缀,但是postman中没有加等。详细可以参考其他文章。

2023-06-21 22:35:23 8832 2

原创 group by后根据某字段大小获取id

Postgres和Oracle有更好的方法。获取每个日期的最高小时数。

2023-05-27 13:30:34 259

原创 spring data jpa 动态查询 @Query注解实现

如果你需要动态查询条件使用sql的 if 函数 if(condition, value_if_true, value_if_false)这里需要注意 nativeQuery countQuery 中的sql条件需要一样。如果利用@Query就行分页主要用的属性有。例如: 可以像下面这么写条件。

2023-04-05 22:03:30 845 1

原创 MapStruct使用

MapStruct是一个Java注释处理器,用于生成类型安全的bean映射类。您要做的就是定义一个映射器接口,该接口声明任何必需的映射方法。在编译期间,MapStruct将生成此接口的实现。此实现使用简单的Java方法调用在源对象和目标对象之间进行映射,即没有反射或类似内容。与手动编写映射代码相比,MapStruct通过生成繁琐且易于出错的代码来节省时间。遵循配置方法上的约定,MapStruct使用合理的默认值,但在配置或实现特殊行为时不加理会。

2023-02-04 23:09:49 667

转载 Spring Data JPA动态SQL及自定义Repository

从 JpaRepository 开始的子类,都是 Spring Data 项目对 JPA 实现的封装与扩展。JpaRepository 本身继承 PagingAndSortingRepository 接口,是针对 JPA 技术的接口,提供 flush()、saveAndFlush()、deleteInBatch()、deleteAllInBatch() 等方法。我们来看一下 UML 来对 JpaRespository 有个整体的认识。

2023-02-02 23:01:56 3928

原创 使用反射调用父类,超父类中方法

/可以调用类中的所有方法(不包括父类中继承的方法)Method method=clazz.getMethod(name);//可以调用类中有访问权限的方法(包括父类中继承的方法)返回描述此 Method 的字符串,包括类型参数。1.创建一个Person类,写几个方法。返回描述此 Method 的字符串。2.使用反射调用私有方法。

2023-01-31 21:19:13 527

原创 手动触发参数上枚举校验

【代码】手动触发参数上枚举校验。

2023-01-30 20:49:09 368

转载 java异步功能

异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间,比如:发送短信、邮件、异步更新等,这些都是典型的可以通过异步实现的场景。线程ThreadFuture异步框架CompletableFutureSpring注解@AsyncSpring ApplicationEvent事件消息队列第三方异步框架,比如Hutool的ThreadUtilGuava异步。

2023-01-27 22:35:18 698

原创 自定义注解校验枚举值

如果状态是0,1,3 则可以用不连续数字自定义注解校验// 元注解表示该注解可以用在的地方,此定义注解可以用在属性上// 元注解被它所注解的注解保留多久String message() default "类型不匹配";Class

2023-01-08 11:03:45 1379

原创 IDEA常用设置总结

每次更换IDEA都要重新配置一次,所以特此记录,以作参考。隐藏.idea 文件和.iml 等文件。文件修改上级文件夹颜色改变。鼠标滚轮修改字体大小。设置工具栏展示的工具。

2022-12-22 15:39:44 113

转载 java的动态代理

jdk动态代理cglib动态代理jdk动态代理是由java内部的反射机制来实现的,cglib动态代理底层则是借助asm来实现的。反射机制在生成类的过程中比较高效,而asm在生成类之后的相关执行过程中比较高效(可以通过将asm生成的类进行缓存,这样解决asm生成类过程低效问题)。jdk动态代理的应用前提是目标类必须基于统一的接口。因此,jdk动态代理有一定的局限性,cglib这种第三方类库实现的动态代理应用更加广泛,且在效率上更有优势。

2022-10-13 16:09:41 5076 1

原创 java中使用hutool调用get请求,post请求

2、java中https协议调用get请求。1、java中http协议调用get请求。

2022-10-13 15:28:48 13096

转载 bean的生命周期

如果我们现在自定义的组件中需要用到Spring底层的一些组件,比如ApplicationContext(IOC容器)、底层的BeanFactory等等,那么该怎么办呢?先说说自定义的组件中能不能用Spring底层的一些组件吧?既然都这样说了,那么肯定是能够的。回到主题,自定义的组件要想使用Spring容器底层的一些组件,比如ApplicationContext(IOC容器)、底层的BeanFactory等等,那么只需要让自定义组件实现XxxAware接口即可。

2022-10-12 10:14:45 771

原创 CSDN转pdf

点击回车(不用会存在大片空白)

2022-10-10 09:56:22 197

原创 数据库的事务

事务是逻辑上的一组数据库操作,要么都执行,要么都不执行。转账业务:必须同时成功或失败。

2022-09-14 16:56:26 1691

原创 Spring进阶学习记录

最后在Springboot启动类中调用一下UserService里面的register()方法注册一个新用户,UserRegisteredListener中就能处理这个用户注册完毕的事件,实现了UserService类和UserRegisteredListener类的解耦。在定义一个监听类,用于监听用户注册事件,类头上加@Component注解,将该类交给spring管理,定义一个处理事件的方法,参数类型为用户注册事件类的对象,方法头上需要加上@EvenListener注解。............

2022-07-21 14:54:03 209

原创 JVM(三)类加载与字节码技术

目录三.类加载与字节码技术1.类文件结构2.字节码指令2.1 javap工具2.2 图解方法执行流程2.3 练习分析a++2.4 构造方法2.5 方法调用2.6多态的原理2.7异常处理2.8Synchronized3. 编译期处理(语法糖)4. 类加载阶段4.1 加载4.2 链接4.3 初始化5. 类加载器5.2 双亲委派模式5.3 自定义类加载器 6. 运行期优化6.1 分层编译6.2 方法内联6.3 反射优化7. java 内存模型 (JMM)7.1 原子性7.2 可见性7.3 有序性 7.4 happ

2022-07-08 17:17:15 418

原创 JVM(二)垃圾回收

目录7垃圾回收7.1判别对象可以回收7.1.1引用计数法7.1.2可达性分析算法7.1.3四种引用7.2垃圾回收算法7.2.1标记清除算法7.2.2标记整理算法7.2.3复制算法7.3分代垃圾回收7.3.1相关VM参数7.4垃圾回收器7.4.1串行垃圾回收器7.4.2吞吐量优先垃圾回收器7.4.3响应时间优先垃圾回收器7.4.4 G17.5垃圾回收调优7.5.1调优领域7.5.2确定目标7.5.3不发生GC最快7.5.4新生代调优7.5.5老年代调优7.5.6案例一个对象被另一个对象引用时,引用计数就会加1

2022-07-08 17:15:28 419

原创 JVM(一)内存结构

目录一.引言1.什么是JVM2.学习路线二.内存结构1.程序计数器1.1定义1.2作用2.虚拟机栈2.1定义2.2栈内存溢出(StackOverflowError)2.3线程运行诊断3.本地方法栈4.堆4.1定义4.2堆内存溢出(OutOfMemoryError)4.3堆内存诊断5.方法区5.1定义5.2组成5.3方法区内存溢出5.4运行时常量池5.5StringTable5.6StringTable特性5.7StringTable位置5.8StringTable垃圾收5.9StringTable性能调优6

2022-07-08 17:13:23 348

原创 java - excel创建模板表格

1.创建表格(根据自己需求改变字段名和格式)2.填充实体类,可以不填,填写人手写填入

2022-06-23 14:23:00 1650

转载 常用的工具类

1. Collectionsjava.util包下的Collections类1.1 排序 List<Integer> list = new ArrayList<>(); list.add(2); list.add(1); list.add(3); Collections.sort(list);//升序 System.out.println(list); Collections.reverse(list);//降序 System.out.pr

2022-05-30 15:40:26 596

原创 java中的全局参数(int)传递

问题引出:int类型是不能做引用传递的,所以多个方法用到同一个数值就显得有些麻烦,而且也没有extren关键字。如果在类变量中使用定义要使用的数值也是不可以的,因为类变量是根据类同存在的,所以如果类一直存在,多次调用这个类变量就会使数值一直叠加。所以也不可被使用。实现:1.新建对象类在对象中定义数值变量,这样可以在全局方法中传递对象以实现数值的引用。2.使用数组进行传递。 Integer[] errorCount = new Integer[1]; e

2022-05-23 20:47:39 2438 4

原创 MySQL的on duplicate key update 的使用

mysql的存在就更新不存在就插入实现先建数据库表,重点要添加主键索引(id列,没有测试)和唯一索引(branch_no列)sqlINSERT INTO t_bank_organ_copy1 ( organ_no, branch_no, branch_name, created_by )VALUES ( 1255, '13', '深圳分行', '小王' ) ON DUPLICATE KEY UPDATE branch_name = '中国银行'测试:1、organ_no, .

2022-05-20 17:06:11 15410

Centos安装Docker

Centos安装Docker

2023-07-23

空空如也

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

TA关注的人

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