
框架
文章平均质量分 59
码灵
爱码。
平时学习新的知识,看到了新的东西,记录下来。
展开
-
导入文件报错:Could not parse multipart servlet request; nested exception is java i0.I0Exception; The tempo
从错误代码上可以看出是因为临时目录无效(找不到临时目录)导致上传文件失败,而临时目录不存在是因为服务器会自动清理未操作的临时文件目录。原创 2024-03-05 08:58:14 · 506 阅读 · 0 评论 -
一个 SpringBoot 项目能同时处理多少请求?
如果不能继续添加,说明队列满了,则来到标号为 ③ 的地方,看看是否能执行 addWorker 方法,创建非核心线程,即启用最大线程数。通过前面的分析,我们知道了,要回答“一个 SpringBoot 项目默认能处理的任务数”,这个问题,得先明确其使用的 web 容器。这个方法里面,标号为 ① 的地方,就是判断当前工作线程数是否小于核心线程数,小于则直接调用 addWorker 方法,创建线程。当然了,这个地方你用一些压测工具,比如 jmeter 啥的,会显得逼格更高,更专业。我这里就偷个懒,直接上代码了。原创 2024-02-07 10:55:34 · 1469 阅读 · 0 评论 -
Spring标签@PostConstruct作用
加上该注解的方法会在项目启动的时候执行,可以理解为Spring容器在对类自动初始化全局的单一实例的过程中,执行完一个Bean的构造方法后会执行该Bean的@PostConstruct方法(如果有),然后初始化下一个Bean。被@PostConstruct修饰的方法会在服务器加载Servle的时候运行,并且只会被服务器执行一次。@PostConstruct和@Autowired、构造函数的执行顺序。构造方法 > @Autowired > @PostConstruct。此方法只会被执行一次;原创 2023-10-27 14:57:21 · 80 阅读 · 0 评论 -
Spring Boot关掉APR
打开你的Spring Boot项目的pom.xml文件,确保你正在使用Spring Boot Starter Web依赖,而不是Tomcat Starter Web依赖。Spring Boot Starter Web使用默认的Tomcat连接器(NIO),而Tomcat Starter Web使用APR连接器。请注意,如果你在项目中使用了一些特定于APR的功能或依赖项,切换到NIO模式可能会导致一些问题。在切换之前,请确保你了解两种连接器之间的差异,并确认你的应用程序可以正常工作在使用NIO模式的情况下。原创 2023-10-13 10:36:26 · 695 阅读 · 0 评论 -
j-Interop使用说明
凡是依赖DCOM开发的程序,都可以使用j-Interop调用其接口、方法。上面得到接口IOPCEventServer的对象comObject,可以用comObject访问接口内的方法。可能与最新DCOM升级有关,j-interop不再支持WMI功能,导致远程回调失败,后续在跟进此问题。JIClsid是程序唯一标识。注意:以下两项必需要设置,在DCOM于2023年3月升级后的系统,否则不需设置。格局IID获取获取接口对象,接口对象根据方法操作码调用相应的方法。Opnum:一般为方法在接口中的顺序,从0开始。原创 2023-09-13 15:06:40 · 491 阅读 · 1 评论 -
Netty解码器LengthFieldBasedFrameDecoder
好绕口). 如果lengthFieldLength=4, 那么就会从上图红色位置向后读取4个字节, 把4个字节里面的内容作为真正data的长度. 而且lengthFieldLength的取值不是任意的, 它只能取值1,2,3,4,8. 具体原因后面的源码会说明.如上图, 假如lengthFieldLength=4, 读取4个字节的内容是0x00000010(十六进制表示), 十进制就是16, 也就是说, 数据data的长度是16个字节. 但是这里稍等下, 需要介绍下一个关键属性.原创 2023-04-10 18:13:07 · 2300 阅读 · 0 评论 -
Netty主要组件
学习这些组件先不要深入细节, 先有个大概的概念, 每个组件具体做啥, 然后把它们串联起来, 加深对Netty整体架构的理解。在ChannelPipeline中可以放入用户自定义的Handler,用于具体的业务处理, 这里面也包括。, 实现多路复用, 由唯一绑定的一个线程去进行三大步骤循环操作: 监听事件,处理事件,执行任务。一个是服务端通道, 一个是客户端通道,接收客户端连接和处理数据读写都是通过通道进行的。在Netty中有很多重要的组件, 每个组件职业不同, 担负不同的功能。这两种重要的Handler。原创 2023-04-10 17:56:15 · 645 阅读 · 0 评论 -
String Boot项目加密混淆组件xjar+allatori组合使用
使用allatori对代码进行混淆后,在利用xjar对jar进行加密处理,双重安全防护。使用allatori对xjar源码进行混淆,优化加密逻辑,防止xjar加密被破解。(以下案例针对spring boot项目)涉及软件和代码allatori是一个Java 混淆器,它属于第二代的混淆器,因此它能够全方位的保护你的知识产权。Allatori具有以下几种保护方式:命名混淆,流混淆,调试信息混淆,字符串混淆,以及水印技术。对于教育和非商业项目来说这个混淆器是免费的。...原创 2022-08-26 16:43:05 · 467 阅读 · 0 评论 -
SpringBoot 拦截器WebMvcConfigurer实现
WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些 Handler、Interceptor、ViewResolver、MessageConverter。基于java-based方式的spring mvc配置,需要创建一个配置类(@Configuration注解标识) 并实现 WebMvcConfigurer 接口;在SpringBoot 1.5版本都是靠重写 WebMvcConfigure原创 2022-06-10 16:40:28 · 1194 阅读 · 0 评论 -
springboot读取.properties配置文件中的map和list类型配置参数
xxx.properties文件中存放一组配置参数,分别为map类型和list类型,做测试方式,读取配置参数。1、配置文件xxx.properties#map 第一种方式data.person.name=zhangsandata.person.sex=mandata.person.age=11data.person.url=xxxxxxxx#map 第二种方式data.person[name]=zhangsandata.person[sex]=mandata.person[age]原创 2022-01-26 09:11:32 · 5296 阅读 · 1 评论 -
@Data@Sf4j注解 与 lombok
目录简介lombok pom依赖使用原理优缺点简介@Data 注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法。lombok pom依赖要使用 @Data 注解要先引入lombok,lombok 是什么,它是一个工具类库,可以用简单的注解形式来简化代码,提高开发效率。在maven中添加依赖<dependency> <groupId>org.projectlom原创 2022-01-25 16:40:00 · 667 阅读 · 0 评论 -
nacos 配置
配置 默认值 描述 spring.cloud.nacos.discovery.server-addr 注册中心服务器地址 spring.cloud.nacos.discovery.service ${spring.application.name} 命名当前服务名称 spring.cloud.nacos.discovery.weight 1 权重, 1到100,值越大,权重越大 spring.cloud.nacos.discovery.i..原创 2022-01-25 09:37:04 · 781 阅读 · 0 评论 -
SpringBoot集成mongodb关闭自动连接实例化
在启动类加上即可(exclude = MongoAutoConfiguration.class)@SpringBootApplication(exclude = MongoAutoConfiguration.class)public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); }原创 2022-01-11 18:37:58 · 1858 阅读 · 0 评论 -
mybatis 忽略实体对象的某个属性
@TableField exist 插入查询都会忽略此属性。 @TableField(exist = false) private String kafkaStatus;原创 2022-01-10 18:09:09 · 864 阅读 · 3 评论 -
mina框架详解
Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。Mina 主要有1.x 和2.x 两个分支,这里我们讲解最新版本2.0,如果你使用的是Mina 1.x,那么可能会有一些功能并不适用。原创 2021-05-26 19:05:08 · 7576 阅读 · 1 评论 -
spring cloud 集成redis一直打印重连日志问题
正常日志 在logback.xml中设置过滤掉即可。<logger name="io.lettuce.core.protocol" level="ERROR"/>原创 2021-05-26 17:39:11 · 1382 阅读 · 0 评论 -
DevOps到底是什么意思?-小白收藏
目录DevOps到底是什么意思?DevOps的起源DevOps到底是什么DevOps的发展现状DevOps与虚拟化、容器、微服务最后的话DevOps到底是什么意思?提到DevOps这个词,我相信很多人一定不会陌生。作为一个热门的概念,DevOps近年来频频出现在各大技术社区和媒体的文章中,备受行业大咖的追捧,也吸引了很多吃瓜群众的围观。那么,DevOps是什么呢?有人说它是一种方法,也有人说它是一种工具,还有人说它...转载 2021-01-29 09:07:49 · 340 阅读 · 0 评论 -
边缘计算和相关开源平台介绍-小白收藏
边缘计算和相关开源平台介绍边缘计算中的边缘(edge)指的是网络边缘上的计算和存储资源,这里的网络边缘与数据中心相对,无论是从地理距离还是网络距离上来看都更贴近用户。作为一种新的计算范式,边缘计算将计算任务部署于接近数据产生源的网络边缘,利用边缘资源为用户提供大量服务或功能接口,大大减少上传至云数据中心的数据量,缓解网络带宽压力,同时可以更好地解决数据安全和隐私问题。在边缘计算环境下,数据具有异构性且数据量较大,数据处理的应用程序具有多样性,不同应用程序所关联的计算任务又不尽相同,对于计算任务.原创 2020-12-16 17:31:47 · 1107 阅读 · 1 评论 -
关闭依赖jar包日志-小白实操记录
1 最近遇到一个问题引用jar 日志频繁,想关闭掉,只需要上一句配置即可。2 在logback.xml中加上如下配置即可。 <logger name=" packname" level="OFF"/>packname一般是包名,但也可能是其他的名字,这个取决于java代码中写的名字 <logger name="org.jinterop" level="OFF"/>3 或在application.properties中加上log4j.logger.原创 2020-11-28 15:06:10 · 3175 阅读 · 2 评论 -
spring boot+ mybatis 搭建过程踩坑记录-小白实操记录
简介简单构建spring boot +mybatis+mysql,记录搭建过程遇到的问题。一般遇到的问题是--> Invalid bound statement (not found): com.sec.otc.odbc.dao.OdbcDataMapper.selectTableData对应关系没有关联正确,一般就是以下注意点:1 application.properties mybaties配置路径一定要对#实体类目录mybatis.type-aliases-pack.原创 2020-11-08 22:09:14 · 315 阅读 · 0 评论 -
Sping Boot 注解开发记录 小白笔记
1 DependsOn注入时依赖于另外一个实例初始化完成;@DependsOn(value = {"B","C"})private Server A;但是B,C中不能注入A;如果有需要加上@Lazy 延迟加载,使用时再注入2 @PostConstruct项目启动的时候执行;注入顺序Constructor >> @Autowired >> @PostConstruct>afterPropertiesSet 如果存在依赖关系也要使用DependsOn...原创 2020-09-27 19:22:15 · 172 阅读 · 0 评论 -
Spring IoC和AOP的理解
spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦2.可以使用容易提供的众多服务,如事务管理,消息服务等3.容器提供单例模式支持4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能5.容器提供了众多的辅助类,能加快应用的开发6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等7.spring属于低侵入式设计,代码的污染极低8.独立于各种应用服务器9.spring的DI机制降低了业务对象替换的复杂性10转载 2020-08-21 17:52:07 · 284 阅读 · 0 评论 -
thymeleaf和freemarker比较
个人更倾向于freemarker这种模板引擎,两者的设计思路本就不同。我已经习惯了类似于freemarker这种编程式模板引擎,比如之前我们用一个判断会这么写<#if ${isBig}>Wow!</#if>而在thymeleaf中你首先要考虑的问题是我的DOM是什么,而不是将 if 的逻辑放在哪里在thymeleaf中判断会写出下面代码:<div th:switch="${user.role}"> <p th:case="'admin转载 2020-07-19 22:56:14 · 771 阅读 · 0 评论 -
springboot与springcloud的关系
1. 问题描述随着springboot、springcloud的不断迭代升级,开发效率不断提升,越来越多的开发团队加入到spring的大军中,今天用通俗的语言,介绍下什么是springboot,springcloud以及它们之间的关系。2. 方案2.1 首先说下maven关于maven不想多说了,maven主要有两个功能,一是通过gav定位获取jar包,一是编译打包。gav示例: <dependency> <grou...转载 2020-07-20 21:51:03 · 269 阅读 · 0 评论 -
springboot项目快速搭建
1. 问题描述springboot的面世,成为Java开发者的一大福音,大大提升了开发的效率,其实springboot只是在maven的基础上,对已有的maven gav进行了封装而已,今天用最简单的代码快速入门springboot。2. 解决方案强烈推荐大家使用Idea的付费版(破解感谢下蓝宇),Idea对maven、git等插件支持的更加好。使用idea自带的spring Initializr(实际调用的是springboot的官网上的initializr),快速新建springboo转载 2020-07-20 21:41:38 · 351 阅读 · 0 评论 -
注解@Async异步线程池用法
注解@Async异步线程池用法在Spring中,基于@Async标注的方法,称之为异步方法;这些方法将在执行的时候,将会在独立的线程中被执行,调用者无需等待它的完成,即可继续其他的操作。在Java中,一般在处理类似的场景之时,都是基于创建独立的线程去完成相应的异步调用逻辑,通过主线程和不同的线程之间的执行流程,从而在启动独立的线程之后,主线程继续执行而不会产生停滞等待的情况。或是使用...原创 2019-07-31 16:29:54 · 1717 阅读 · 0 评论 -
Spring 定时任务之 @Scheduled cron表达式
一个基于Spring boot的一个demo:Java配置中开户对Scheduled的支持import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.annotation.EnableScheduling;@Configuration@Enabl...转载 2019-02-13 15:21:35 · 1015 阅读 · 0 评论