自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

林知屿的博客

分享编程知识

  • 博客(83)
  • 收藏
  • 关注

原创 IDEA对线上项目远程debug

4、在本地IDEA中启动远程Debug程序,已经连接上线上项目。5、最后大家就可以在本地对线上项目进行debug操作了。(1)选择远程JVM调试。1、在启动脚本上添加以下配置内容。启动命令:sh start.sh。2、在IDEA中进行配置。

2024-07-31 11:55:29 167

原创 Linux运行jar包日志文件打印很多^@问题

nohup java -jar xxx.jar > misc.out & 改为 nohup java -jar xxx.jar >> misc.out &^@就是’\0’表示空字符,一个’\0’占一个字节,出现这个问题应该是因为清空日志文件后,指针停留在文件中的某个位置,原理:“>”的意思是将程序输出的内容覆盖log文件原有的内容,“>>”的意思是将程序输出的内容追加到log文件中。然后写入文件就从这个指针开始写,导致指针前面的部分全部用空字符填充。

2024-04-08 21:10:24 324

原创 SpringBoot + LiteFlow(二):LiteFlow特性和环境支持

当然如果你使用了最新的Springboot 3.X,相应的JDK版本也要切换为JDK17。特别需要注意的是,如果你使用JDK11及其以上的版本,请确保jvm参数加上以下参数。当然如果你使用了最新的Spring 6.X,相应的JDK版本也要切换为JDK17。LiteFlow要求的最低的JDK版本为8,支持JDK8~JDK17所有的版本。LiteFlow要求的Spring的最低版本为Spring 5.0。LiteFlow要求的Springboot的最低的版本是2.0。

2024-03-29 09:52:43 719

原创 SpringBoot + LiteFlow(一):认识LiteFlow

LiteFlow适用于拥有复杂逻辑的业务,比如说价格引擎,下单流程等,这些业务往往都拥有很多步骤,这些步骤完全可以按照业务粒度拆分成一个个独立的组件,进行装配复用变更。使用LiteFlow,你会得到一个灵活度高,扩展性很强的系统。因为组件之间相互独立,也可以避免改一处而动全身的这样的风险

2024-03-29 09:47:30 878

原创 如何保障MySQL和Redis的数据一致性?

对于这种方案,看看就行,反正我是不会用,太 Low 了,风险也不可控。

2024-03-26 22:06:16 2369

原创 SpringBoot可以同时处理多少请求

开了一个奶茶店,里面有长期工5人,临时工5人,共10人工作,提供了20个座位,店内工作可供10个人排队等待。SpringBoot默认的内嵌容器是Tomcat,即看Tomcat可以处理多少请求。SpringBoot同所能处理的最大请求数量是。,超过该数量的请求直接就会被丢掉。

2024-03-26 21:41:23 701

原创 Spring和spring Boot的区别

简而言之,Spring框架为开发Java应用程序提供了全面的基础架构支持。Spring MVCSpring AOPSpring ORM这些模块可以大大缩短应用程序的开发时间。例如,在Java Web开发的早期阶段,我们需要编写大量的重复代码来将记录插入到数据源中。但是通过使用Spring JDBC模块的JDBCTemplate,我们可以将它简化为只需几个简单配置或者几行代码。Spring Boot基本上是Spring框架的扩展,它消除了设置Spring应用程序所需的复杂例行配置。

2024-03-25 19:29:04 1419

原创 Java中文乱码浅析及解决方案

由于字符集和编码的复杂性,开发者可能面临各种导致乱码的情况。正确地处理中文字符集对于确保应用程序的可靠性和国际化至关重要。通过综合运用这些解决方案,可以有效地预防和解决Java中文乱码问题,确保应用程序在处理文本时能够正常、可靠地工作。选择合适的字符集和编码,以及遵循良好的编码实践,是保障应用程序国际化和多语言支持的重要一步。使用第三方库来检测文件编码。在Java开发中,处理中文乱码是一个常见的问题。

2024-03-25 19:23:40 289

原创 SpringCloudAlibaba之Nacos Config

配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。配置文件无法区分环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动维护,这比较困难。配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务才能使配置生效,这对一个正在运行的项目来说是非常不友好的。基于上面这些问题,我们就需要配置中心的加入来解决这些问题。

2024-03-24 11:42:48 1236

原创 MySQL常用函数整理,建议收藏!

常见函数一、字符串函数下面对个别举例1、concat函数如果该函数中的任何参数为 null,返回结果为 null2、concat_ws函数如果该函数中的存在参数为 null,则会过滤null3、substr函数没有指定len长度:表示从start开始起,截取到字符串末尾。指定了len长度:表示从start开始起,截取len个长度。4、trim函数默认是空格,我们可以指定子串二、数字函数示例1、round函数round(x);四舍五入round(x,y)对x进行保留y位三、日期函数。

2024-03-24 11:20:34 530

原创 java设计模式(2)---六大原则

单一职责原则:一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。单一职责原则告诉我们:一个类不能太“累”!在软件系统中,一个类承担的职责越多,它被复用的可能性就越小,而且一个类承担的职责过多,就相当于将这些职责耦合在一起,当其中一个职责变化时,可能会影响其他职责的运作,因此要将这些职责进行分离,将不同的职责封装在不同的类中,即将不同的变化原因封装在不同的类中,如果多个职责总是同时发生改变则可将它们封装在同一类中。

2024-03-23 16:31:57 1425 1

原创 java设计模式(1)---总则

设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。解释下:分类编目:就是说可以找到一些特征去划分这些设计模式,从而进行分类。代码设计经验:这句很重要,设计经验的总结,也就是说设计模式,是为了指导设计而从经验中总结出来的套路。

2024-03-23 15:21:45 541

原创 SpringCloudAlibaba和SpringCloud的区别

SpringCloudAlibaba实际上对SpringCloud实现拓展组件功能.1.nacos 分布式配置中心+分布式注册中心=Eureka+config2.目的是为了推广阿里的产品,如果使用了SpringCloudAlibaba,最好使用alibaba整个体系产品。

2024-03-23 15:11:46 912

原创 SpringBoot整合WebService

WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。其实WebService并不是什么神秘的东西,它就是一个可以远程调用的类,或者说是组件,把你本地的功能开放出去共别人调用。具体的说,Web Service可以让你的网站使用其他网站的资源,比如在网页上显示天气、地图、twitter上的最新动态等等。

2024-03-22 22:22:46 1745

原创 基于springboot的mysql实现读写分离

首先思考一个问题:在高并发的场景中,关于数据库都有哪些优化的手段?常用的有以下的实现方法:读写分离、加缓存、主从架构集群、分库分表等,在互联网应用中,大部分都是。

2024-03-22 22:09:12 1207

原创 springboot多数据源&动态数据源(主从)

如果在application.yml中没有指定任何spring.datasource的相关配置,Spring Boot会在classpath中搜索H2、hsqldb等内存数据库的jar包,如果找到了,就会自动配置一个内存数据库的DataSource,所以,我们只要引入jar包即可。相同类型的其他Bean,每一个都需要用@Bean(name="xxx")标识名字,并且,在使用@Autowired注入时配合@Qualifier("xxx")指定注入的Bean的名字。在开发环境下,没有必要配置主从数据库。

2024-03-21 20:50:07 1592

原创 SpringBoot—@ConditionalOnBean与@ConditionalOnClass

*** 需要作为条件的类的Class对象数组*/Class

2024-03-21 20:44:38 1004

原创 SpringBoot之整合Dubbo

注意需要安装Zookeeper(因为Dubbo使用Zookeeper作为注册中心)3.编写接口和对应的实现类。

2024-03-20 21:10:19 549

原创 SpringBoot整合Xxl-Job

这样就表示Xxl-Job成功运行了。确保运行没问题后,就可以开始下一步。注意:在运行之前,需要把2的sql脚本执行完毕,并修改数据库连接池。可以不用eureka,这里我的项目中用到eureka所以增加该配置。第三、确实非常容易上手且轻量化(轻量化的一个体现就是非侵入式)第一、团队里有好几个人上一家公司或上上家公司用过。第二、这个生态比较丰富且开源。用户名默认为admin。

2024-03-20 21:06:13 4555

原创 SpringBoot与SpringCloud的版本对应详细版

在实际开发过程中,我们需要。

2024-03-19 20:52:49 1378

原创 springBoot---过滤器,监听器,拦截器

我们可以通过ServletRequest得到HttpServletRequest,此时你就可以对请求或响应(Request、Response)那就可以对对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。它是随你的web应用启动而启动的,只初始化一次,以后就可以拦截相关请求,只有当你的web应用停止或重新部署的时候才销毁。对比一下其实我们可以发现,过滤器能做的事拦截器都能做,二拦截器做的事过滤器不一定做的了。

2024-03-19 20:31:40 918

原创 Springboot-软件授权License

非开源产品、商业软件、收费软件。限制产品的传播性,每个客户拥有专属 License。同一款软件发行包根据 License 的不同提供不同的服务能力。限定软件授权时效。

2024-03-18 20:40:36 1255

原创 Springboot自动校验@NotBlank@NotNull@NotEmpty

//CharSequence, Collection, Map 和 Array 对象不能是 null, 但可以是空集(size = 0)。://CharSequence, Collection, Map 和 Array 对象不能是 null 并且相关对象的 size 大于 0。:只用在String上,表示传进来的值不能为null,而且调用trim()后,长度必须大于0。:不能为null,但可以为empty(分配了内存空间,但值为空):不能为null,而且长度必须大于0。接口类、方法类上增加。

2024-03-18 20:17:38 1464

原创 Springboot使用AOP和自定义注解实现日志

由于有些伙伴对java中的注解还不是很了解,可以参考java的元注解,有了解的小伙伴可以直接调过。java中的4种元注解_java中标准元注解是哪四种?-CSDN博客在java中使用注解要实现自定义的功能需要使用反射在程序与运行时动态的读取注解,在springboot中提供了注解的工具类,在springboot中一般使用该工具类来读取注解,如果直接使用反射去读取注解可能会导致某些springboot中的注解和功能不生效。下面是我自定义注解的定义,以下简称@Log/*** 代表记录log的类型。

2024-03-17 18:30:25 451

原创 SpringBoot多数据源@DS和@Transactional冲突

因为一次项目中使用 @DS 注解实现多数据源切换时,在一个controller中同时操作多个数据源的service方法,为了保证这一组操作下数据的完整性,则需要使用事务@Transaction进行保证,于是直接在controller方法上加上了该注解,以为没有问题,结果在切换数据源的时候报错找不到另一个数据源的数据表。

2024-03-17 18:26:26 1578

原创 SpringBoot整合Seata注册到Nacos服务

注:命令解析:-h -p 指定nacos的端口地址;-g 指定配置的分组,注意,是配置的分组;-t 指定命名空间id;-u -w指定nacos的用户名和密码,同样,这里开启了nacos注册和配置认证的才需要指定。打开git bash。

2024-03-16 21:54:37 607

原创 SpringBoot之yml与properties配置文件格式的区别

现在一般项目中已经全部采用yml格式的配置文件了这个yml一般用于配置集成环境的一些参数,比如启动的端口和Spring上下文等参数。SpringBoot支持两种格式的配置文件,一种是yml,而另一种就是properties,默认的文件名为application.yml或者.properties。并且Key不能重复,这就导致了需要Key的长度比较多,并且需要分类,这就导致了数据的冗余性,而yml这种格式的配置文件,通过层级结构,让数据更加中心化,减少冗余性。

2024-03-16 21:41:30 472

原创 如何把Spring的Bean注入到Quartz中

今天写Quartz定时调度的时候遇到了想调用增删改查操作数据库的情况这时候在Quartz容器中 直接注入bean 但是会出现bean为空的情况,踩坑时刻,如对各位有帮助,不胜荣幸,祝各位早日暴富!

2024-03-15 21:42:43 594

原创 Spring boot java: 无效的目标发行版: 18

本人jdk 1.8。

2024-03-15 21:38:50 966

原创 服务注册与发现:Nacos

开发的是用于微服务管理的平台,其核心功能是服务注册与发现、集中配置管理。状态,但不会被清除,因为其是持久化在磁盘的,其对不健康持久实例的清除,需要专门进行;各个节点都是平等的,几个节点挂掉不会影响正常节点的工作,剩余的节点依然可以提供注册和。如果是临时实例,则只会返回两个服务,那么大并发量请求这两个服务肯定会造成雪崩的,时,会停止服务,直到选举成功之后才会再次对外提供服务,这个时候就说明。作为服务注册中心,核心的服务注册功能和发现功能都是一样的。了服务不可用,但是在选举成功之后,因为一主多从的结构,

2024-03-14 21:25:46 1567

原创 Java ArrayList 与 LinkedList 的灵活选择

/ 创建一个 ArrayList 对象。// 对整数的 ArrayList 进行排序。// 对字符串的 ArrayList 进行排序。是 Java 中常用的数据结构,它可以存储各种类型的数据,并且可以根据需要调整大小。// 修改第一个元素。// 获取 ArrayList 大小。// 删除第一个元素。// 获取第一个元素。// 添加元素到列表的开头。// 添加元素到列表的末尾。// 删除列表开头的元素。

2024-03-14 00:13:01 1238

原创 SpringBoot中的异步处理框架@Async

串行执行(同步)// 1: 注册用户log.info("新用户注册");// 2: 发送短信log.info("发送短信");// 3: 添加积分log.info("添加积分");上面的代码执行:串行执行(同步执行).问题:串行执行的时长:是所有方法执行的总和、打个比方:用户注册:50MS 短信发送:100ms 、添加积分:100ms 总时长:250ms 这个方法执行完毕。同步执行:相当于接力跑步。

2024-03-12 14:19:00 1220

原创 SpringBoot注解事务失效列举总结

导致该问题原因为spring执行方法数据库操作的时候会生成一个动态代理类去执行代理类的该方法,代理类在执行updateUser时,执行的是当前实例的updateUser方法不会通过动态代理去进行事务增强处理所以会导致事务消除。解决此问题需要在当前类中注入当前类的实例bean,通过当前类的实例去调用事务增强的testOperateUser方法。

2024-03-12 14:10:02 484

原创 SpringBoot笔记

Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。​ 就是一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置, you can “just run”,能迅速的开发web应用,几行代码开发一个http接口。

2024-03-12 12:37:27 1182

原创 SpringMVC11、文件上传和下载

一旦设置了enctype为multipart/form-data,浏览器即会采用二进制流的方式来处理表单数据,而对于文件上传的处理则涉及在服务器端解析原始的HTTP响应。​ 文件上传是项目开发中最常见的功能之一 ,springMVC 可以很好的支持文件上传,但是SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况下其不能处理文件上传工作。测试,文件下载OK,大家可以和我们之前学习的JavaWeb原生的方式对比一下,就可以知道这个便捷多了!测试上传文件,OK!

2024-03-11 13:21:06 1020

原创 SpringMVC10、拦截器

SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。拦截器是AOP思想的具体应用。过滤器servlet规范中的一部分,任何java web工程都可以使用在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用。

2024-03-11 13:17:57 508

原创 SpringMVC09、Ajax

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。Google Suggest能够自动帮你完成搜索单词。

2024-03-10 14:15:06 998

原创 SpringMVC08、Json

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。对象表示为键值对,数据由逗号分隔。

2024-03-10 14:05:01 1025

原创 MySQL 优化建议

MySQL 优化是一个涵盖多个方面的广泛主题,包括查询优化、表结构优化、索引优化、配置优化以及硬件和存储优化等。

2024-03-09 20:57:57 525

原创 SpringMVC07、整合SSM

SSM框架的重要程度是不言而喻的,学到这里,大家已经可以进行基本网站的单独开发。到目前为止,这个SSM项目整合已经完全的OK了,可以直接运行进行测试!这个练习十分的重要,大家需要保证,不看任何东西,自己也可以完整的实现出来!需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识;我们发现查询的东西不存在的时候,查出来的页面是空的,我们可以提高一下用户的体验性!或许很多人,工作就做这些事情,但是对于个人的提高来说,还远远不够!ssmbuild , 添加web的支持。

2024-03-09 16:47:13 2196

空空如也

空空如也

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

TA关注的人

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