- 博客(96)
- 收藏
- 关注

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

原创 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
538
1
转载 linux学习笔记
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。 RPM(RedHat Package Manager),RedHat软件包管理工具,类似于windows里面的setup.exe,是Linux这系列操作系统的打包安装工具,它虽然是RedHat的标志,但理念是通用的。 Linux中每个分区都是用来组成整个文件系统的一部门,它在用一种叫挂载的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个文件将它的存储空间在这个目录获得,
2025-01-03 08:34:33
17
原创 @Autowried注入bean失效为null问题以及解决办法
引用的类没有被容器管理也会出现bean失效为null的问题,因为其他原因,引用的类无法被容器管理。所以只能使用其他办法注入bean。或者直接使用hutool的工具类 springUtil的getBean()3.new的对象中的@Autowried也会有null问题。1.有没有被容器管理的注解。4.注解用在了静态对象上。
2024-08-30 11:17:38
274
原创 马士兵全套Spring源码深度解析学习
视频链接:马士兵全套Spring源码深度解析:AOP、IOC、Bean生命周期、循环依赖、事务、SpringBoot自动装配等
2023-10-04 20:44:26
1140
1
转载 CSV文件导出
txt、csv、tsv都属于文本文件csv又有叫做Char-separated values(字符分隔值类型),通过字符值进行分隔。但因为半角逗号在数据中出现的的可能性比较大,所以经常会使用文本包装符来标识逗号为数据中的一部分,或者直接使用其它特殊符号作为分隔符。
2023-09-04 21:43:19
2344
原创 Spring Clould 搜索技术 - elasticsearch
elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容例如:在GitHub搜索代码在电商网站搜索商品在百度搜索答案在打车软件搜索附近的车什么是elasticsearch?一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能什么是elastic stack(ELK)?是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch什么是Lucene?
2023-08-17 20:51:22
955
原创 Spring Clould 消息队列 - RabbitMQ
MQ,中文是消息队列(MessageQueue),字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。比较常见的MQ实现:ActiveMQRabbitMQRocketMQKafkaRabbitMQActiveMQRocketMQKafka公司/社区RabbitApache阿里Apache开发语言ErlangJavaJavaScala&Java协议支持自定义协议自定义协议可用性高一般高高单机吞吐量一般差高非常高消息延迟微秒级。
2023-08-17 20:48:21
1164
原创 Spring Clould 部署 - Docker
微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题容器操作的命令如图:容器保护三个状态:运行:进程正常运行暂停:进程暂停,CPU不再运行,并不释放内存停止:进程终止,回收进程占用的内存、CPU等资源其中:docker run:创建并运行一个容器,处于运行状态docker pause:让一个运行的容器暂停。
2023-08-17 20:45:24
1693
原创 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
942
原创 Spring Clould 服务间通信 - Feign
类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解失败重试机制请求失败的重试机制,默认是没有,不过会使用Ribbon的重试一般情况下,默认值就能满足我们使用,如果要自定义时,只需要创建自定义的@Bean覆盖默认Bean即可。下面以日志为例来演示如何自定义配置。
2023-08-17 20:37:33
415
原创 Spring Clould 配置中心 - Nacos
这样,UserApplication(8081)使用的profile是dev,UserApplication2(8082)使用的profile是test。注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。我们最终的目的,是修改nacos中的配置后,微服务中无需重启即可让配置生效,也就是。
2023-08-17 20:35:25
313
原创 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
2348
原创 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
6278
原创 CentOS7安装Docker
Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker CE 分为stabletest和nightly三个更新频道。官方网站上有各种环境下的,这里主要介绍 Docker CE 在 CentOS上的安装。
2023-07-23 18:00:12
395
原创 postman调用接口报404错误详解
此种情况不常见,但是比较容易让人蒙圈。因为即使url检查多少遍,注解导入多少次也不会找到问题原因,因为这时候路就已经走错了。问题原因,启动类没有扫描到@RestController,@ResponseBody 等注解,没有注入bean。此种情况不常见是因为可能是出现在刚创建的项目,或者刚加的controller包。启动类只会扫描其所在的包和其下的包。可以通过改变启动类位置,或通过注解。粗心,url没有拼写正确,或者加了前缀,但是postman中没有加等。详细可以参考其他文章。
2023-06-21 22:35:23
12132
3
原创 spring data jpa 动态查询 @Query注解实现
如果你需要动态查询条件使用sql的 if 函数 if(condition, value_if_true, value_if_false)这里需要注意 nativeQuery countQuery 中的sql条件需要一样。如果利用@Query就行分页主要用的属性有。例如: 可以像下面这么写条件。
2023-04-05 22:03:30
1188
原创 MapStruct使用
MapStruct是一个Java注释处理器,用于生成类型安全的bean映射类。您要做的就是定义一个映射器接口,该接口声明任何必需的映射方法。在编译期间,MapStruct将生成此接口的实现。此实现使用简单的Java方法调用在源对象和目标对象之间进行映射,即没有反射或类似内容。与手动编写映射代码相比,MapStruct通过生成繁琐且易于出错的代码来节省时间。遵循配置方法上的约定,MapStruct使用合理的默认值,但在配置或实现特殊行为时不加理会。
2023-02-04 23:09:49
812
转载 Spring Data JPA动态SQL及自定义Repository
从 JpaRepository 开始的子类,都是 Spring Data 项目对 JPA 实现的封装与扩展。JpaRepository 本身继承 PagingAndSortingRepository 接口,是针对 JPA 技术的接口,提供 flush()、saveAndFlush()、deleteInBatch()、deleteAllInBatch() 等方法。我们来看一下 UML 来对 JpaRespository 有个整体的认识。
2023-02-02 23:01:56
4607
原创 使用反射调用父类,超父类中方法
/可以调用类中的所有方法(不包括父类中继承的方法)Method method=clazz.getMethod(name);//可以调用类中有访问权限的方法(包括父类中继承的方法)返回描述此 Method 的字符串,包括类型参数。1.创建一个Person类,写几个方法。返回描述此 Method 的字符串。2.使用反射调用私有方法。
2023-01-31 21:19:13
699
转载 java异步功能
异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间,比如:发送短信、邮件、异步更新等,这些都是典型的可以通过异步实现的场景。线程ThreadFuture异步框架CompletableFutureSpring注解@AsyncSpring ApplicationEvent事件消息队列第三方异步框架,比如Hutool的ThreadUtilGuava异步。
2023-01-27 22:35:18
1732
原创 自定义注解校验枚举值
如果状态是0,1,3 则可以用不连续数字自定义注解校验// 元注解表示该注解可以用在的地方,此定义注解可以用在属性上// 元注解被它所注解的注解保留多久String message() default "类型不匹配";Class
2023-01-08 11:03:45
1722
原创 IDEA常用设置总结
每次更换IDEA都要重新配置一次,所以特此记录,以作参考。隐藏.idea 文件和.iml 等文件。文件修改上级文件夹颜色改变。鼠标滚轮修改字体大小。设置工具栏展示的工具。
2022-12-22 15:39:44
213
转载 java的动态代理
jdk动态代理cglib动态代理jdk动态代理是由java内部的反射机制来实现的,cglib动态代理底层则是借助asm来实现的。反射机制在生成类的过程中比较高效,而asm在生成类之后的相关执行过程中比较高效(可以通过将asm生成的类进行缓存,这样解决asm生成类过程低效问题)。jdk动态代理的应用前提是目标类必须基于统一的接口。因此,jdk动态代理有一定的局限性,cglib这种第三方类库实现的动态代理应用更加广泛,且在效率上更有优势。
2022-10-13 16:09:41
5228
1
原创 java中使用hutool调用get请求,post请求
2、java中https协议调用get请求。1、java中http协议调用get请求。
2022-10-13 15:28:48
16852
转载 bean的生命周期
如果我们现在自定义的组件中需要用到Spring底层的一些组件,比如ApplicationContext(IOC容器)、底层的BeanFactory等等,那么该怎么办呢?先说说自定义的组件中能不能用Spring底层的一些组件吧?既然都这样说了,那么肯定是能够的。回到主题,自定义的组件要想使用Spring容器底层的一些组件,比如ApplicationContext(IOC容器)、底层的BeanFactory等等,那么只需要让自定义组件实现XxxAware接口即可。
2022-10-12 10:14:45
892
原创 Spring进阶学习记录
最后在Springboot启动类中调用一下UserService里面的register()方法注册一个新用户,UserRegisteredListener中就能处理这个用户注册完毕的事件,实现了UserService类和UserRegisteredListener类的解耦。在定义一个监听类,用于监听用户注册事件,类头上加@Component注解,将该类交给spring管理,定义一个处理事件的方法,参数类型为用户注册事件类的对象,方法头上需要加上@EvenListener注解。............
2022-07-21 14:54:03
248
原创 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
508
原创 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
484
原创 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
390
转载 常用的工具类
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
714
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人