自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 浅谈springboot

首先,Spring Boot 提供了对 Flyway 的开箱即用支持,这意味着当你在项目中引入 Flyway 相关依赖时,Spring Boot 会自动进行配置和集成。通过上述步骤,Spring Boot 与 Flyway 的整合可以帮助你实现数据库的版本控制和自动化迁移,确保在不同环境中数据库结构的一致性,提高开发效率和减少人为错误。总之,对于正在使用或计划升级到Spring Boot 3.0的开发者来说,了解这些变更是非常重要的,以确保应用程序能够顺利迁移到新版本,并避免潜在的兼容性问题。

2024-04-28 18:11:10 546 2

原创 浅谈Java集合

这是因为该方法是使用varargs(可变参数)实现的,而Java的varargs在编译时会转换为数组,对于数组,Java提供了一个默认的限制,即数组的最大长度为 Integer.MAX_VALUE(约21亿),但实际上,由于JVM和操作系统的限制,这个最大值可能会更小。需要注意的是,尽管理论上List的大小可以非常大,但在实际应用中,过大的List可能会导致性能问题,因为对大List的操作(如搜索、排序等)可能需要更多的计算资源和时间。充分利用空间:如果扩容的容量太大,会导致内存空间的浪费。

2024-04-15 14:21:17 781

原创 浅谈SpringAop动态代理

在Spring中,自定义生成动态代理的方式主要涉及两个方面:选择代理接口: 当使用JDK动态代理时,需要确保业务类实现了一个或多个接口,因为JDK动态代理是基于接口进行代理的。如果业务类没有实现任何接口,那么Spring会使用CGLib动态代理作为默认的代理方式。配置AOP代理细节: 通过Spring的配置(XML或注解),可以指定如何创建代理对象。这些配置包括切面(Aspect)、切点(Pointcut)和通知(Advice)。

2024-04-11 17:14:38 865 1

原创 关于多线程并发的一个问题记录(ForkJoinTask)

关于多线程并发的一个问题记录今天线上排查问题时,突然遇到一个怪异的问题,ForkJoinTask报空指针。怀着好奇的心,便探索了下。问题:java.lang.NullPointerException: null at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAc

2024-01-16 17:33:19 808 1

原创 spring cloud框架之健康检查(多数据源场景)

引言:由于业务需要,我们框架中引入了多数据源,我们的持久层框架是spring data jpa,第一个数据源是:mysql,也是我们的主数据源,第二个数据源是:oracle,第三个数据源是sap那边的hana数据库。当引入hana数据库时,发现实例起不来了,报错误的sql语法,经过一番研究,发现是健康机制执行时,会检测每个数据源的健康程度,如果健康,则状态为:UP,如果不健康,状态为:DOWN。修改前:当其他数据库挂了的时候,我们正在运行的服务器实例也变得异常了,原有的功能也用不了了。

2024-01-15 16:26:58 1254

原创 记录一个gson相关的问题排查

问题:生产环境多个实例代码一模一样,并且启动时间也一样(都是4天前),其中有一个实例报:java.lang.IllegalArgumentException: Can not set java.lang.String field xxx.ProductSpecData.id to xxx.ProductSpecEntity.值得注意的是,当请求其他实例的这个接口时没有任何问题,就只有其中一台实例报这个问题。页面的表现就是:时而查询成功,时而报错。2.每次处理该json时,都是用的定义类型,而非运行时类型。

2024-01-04 19:33:31 399

原创 浅谈mysql索引优化

mysql优化分为很多种:包括基础设施优化、 配置优化、表结构优化、sql语句优化等,其中sql语句优化的成本是最低的,因此我们优化mysql时最先考虑的就是mysql语句优化。说到mysql语句优化,就离不开mysql索引,mysql优化器也会对sql与进行大量的优化,当然这个也是依据我们的配置来的。

2023-12-20 14:38:48 31

原创 初探logback日志框架

可以看到初始化了一个个的日志树节点,但是节点却用到了CopyOnWriteArrayList来保证线程安全,而且这个方法只有一个地方在调用,调用的地方用了synchronized锁,理论上在这里使用CopyOnWriteArrayList是多余的,反而会增加开销。但是,synchronized锁的是一个日志树的节点,在多个框架整合使用的过程中,多线程处理并不罕见。可以看到用了loggerCache作为缓存,真正加载日志树的时候也用了synchronized来保证线程安全。

2023-12-15 18:14:02 25

原创 java单元测试

java最常用的单元测试插件是junit4。通过单元测试可以发现当前案例是否成功了,并且可以详细的看到:耗时是多少,失败原因是什么。

2022-08-07 18:15:09 558 1

原创 Linux命令及详解

linux命令

2022-01-13 17:40:23 181

原创 Atomic原子类

atomic类

2022-01-12 18:44:30 112

Java论坛系统

Java语言Struts 2+Hibernate+Spring实现框架搭建的论坛系统

2018-04-14

空空如也

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

TA关注的人

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