自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JavaEE菜鸟

个人学习总结和做项目中遇到的问题总结

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

原创 mysql中特殊字符存储,如表情字符

1.mysql中特殊字符存储,如表情字符;2.重启mysql3.mysql黑名单

2023-10-16 10:47:21 687

原创 java中使用二进制进行一个整形字段来表示多个整形,如数据库中一个字段存放多个整形经过二进制计算得到的一个整形

2.相应一个整形计算得到多个整形(复原)1.多个整形计算得到一个整形。

2023-10-16 10:31:13 127

原创 Java程序突然挂掉

服务经常性突然挂掉,查看服务没有任何报错信息,有可能Java进程本身没有内存过高被杀,但是这个进程当时占用的内存过高,挤占了OS内核空间, 直接被操作系统触发OOM-Killer给杀死了.

2023-08-30 15:44:19 2020

原创 Springboot中集成mongodb,mysql(密码从密码服务中获取并且动态更新)

一般我们都会用一些数据库组件如Druid,它们都会去处理数据库基本异常,像密码错误等在异常类中判断如果错误码是1045,则重新调用密码服务获取密码,然后restart()方法重置数据库连接池;

2022-11-26 16:56:18 2615 2

原创 报java.io.IOException: 打开的文件过多

java项目报java.io.IOException: 打开的文件过多

2022-08-31 14:12:40 2090

原创 mqtt服务器—web服务器——web页面

核心:mqtt服务器------>mqtt客户端--------->数据库----------->web服务器------------>web页面详情:mqtt服务器发布主题之后,客户端订阅主题,通过回调类拿到数据保存到数据库,接着web服务器读取数据库中的数据显示在页面。大部分内容复制粘贴而来,加了一些自己的见解,如有理解不正确的地方请指教,谢谢!一 m...

2019-03-30 20:15:51 17386 2

原创 日志数据采集存储

像日志这种大数据量落库,都是新增且无修改得场景建议使用 Clickhouse 进行存储,好处是相同数据量下对比 MySQL 占用存储更少,查询速度更快,坏处就是并发查询性能比较低,相比 MySQL 使用不算那么成熟。在上面的高峰期场景下,日志采集服务会有不小的压力,如果程序代码逻辑处理稍有不当,就会造成服务卡顿、CPU 占用过高、内存溢出等问题。对上报后的日志如果要再发送给其他服务,是需要进行压缩后再处理,这一步是为了避免消耗过多网络带宽。这里直接给出日志采集程序使用 Netty 后的一些优化点,

2024-04-11 14:27:04 1187 1

原创 数据库事务使用

框架提供得事务注解,相信这是许多人都知道的,但是在一些高性能场景下,是不建议使用的,推荐通过编程式事务来手动控制事务提交或者回滚,减少事务影响范围,因而提升性能。这里面有个问题,订单回滚方法里面其实只有 2、3、4 步骤是需要在一个事物里执行的,第 1 步其实可以放在事物外面来执行,以此缩小事物范围。批量写入场景里要不要启用事物,其实很多人都有自己的看法,这里我给出启用于不启用的利弊,可以看到采用编程式事务后,我们将查询逻辑排除在事务之外,这样也就减小了事物影响范围。使用编程式事务对其优化后,代码如下。

2024-04-11 14:24:49 442

原创 配置nginx

客户端向Nginx发送请求的超时时间。# 与后端服务器建立连接的超时时间。# 向后端服务器发送请求的超时时间。# 等待后端服务器响应的超时时间。

2024-04-11 11:20:17 116

原创 分页-PageHelper原理以及实时分页-键集分页

分页-PageHelper原理以及实时分页-键集分页

2024-03-27 17:53:19 1037

原创 【无标题】

不要单例的话将类上的。

2024-03-22 16:00:41 193

原创 经过拦截器cookie验证后用户信息放入哪里,以便后面接口使用

需要注意线程池的使用,因为线程池中的线程可能被复用,导致ThreadLocal中的数据被其他请求使用;3.优点生命周期明确,与请求的生命周期绑定,请求结束时,用户信息自动销毁,不会造成内存泄露,性能较好,因为用户信息仅存储在当前请求的内存中,不需要额外的存储和序列化开销;2.优点可以跨请求共享数据,用户信息在多个请求之间可以保持一致,无需每次请求都重新验证Cookie,更适合存储较大的会话数据,例如购物侧信息,用户偏好设置等;线程隔离,每个线程都有自己的用户信息副本,互不干扰。

2024-03-20 13:33:22 397

原创 Elasticsearch8搭建及Springboot中集成使用

Elasticsearch8搭建及Springboot中集成使用1.搭建;2.springboot中集成配置,基础框架结构,通用方法及业务示例。

2024-03-20 13:22:14 1162

原创 流式响应-AI问答

接入流式响应,使用Flux.Flux是Reactor项目中的一个核心概念,它代表了一个可响应式、可取消的、元素序列。Flux是异步的,这意味着它不会阻塞当前线程来处理数据。相反,它允许数据项在它们准备好时一个接一个地处理,通常是通过一个非阻塞的方式。在Spring WebFlux中,Flux通常用于处理HTTP请求和响应,特别是在需要处理流式数据时。例如,一个Flux可以表示一个服务器发送事件(SSE)流,或者一个客户端接收到的流式数据流。

2024-03-19 14:33:36 1011

原创 动态添加字段和注解,形成class类,集合对象动态创建Excel列

动态添加字段和注解,形成class类,集合对象动态创建Excel列

2024-01-25 17:32:27 910

原创 修改容器响应时间

2.服务端出现java.io.IOException:java.util.concurrent.TimeOutException:Idle timeout expired:500/500ms。1.使用jetty容器可以设置-Dorg.eclipse.jetty.io.IdIeTimeout=<timeout>来修改默认的等待时间;2.修改jetty配置:server.jetty.connection-idle-timeout。

2024-01-23 13:45:19 404

原创 SpringBoot 请求参数校验

自定义注解枚举校验。

2023-10-16 10:11:01 190

转载 list并列排序

list集合并且排序

2023-05-26 16:09:18 199

原创 使用AES加解密异常

3.AES加解密时,会使用到Java.security.*包,即jdk security,其中使用的jar包%JAVA_HOME%/jre/lib/security/local_policy.jar和%JAVA_HOME%/jre/lib/security/US_export_policy.jar有对技术出口的限制(因为美国的出口限制,Sun通过权限文件local_policy.jar、US_export_policy.jar做了相关限制),加密只有128bit,而没有限制的则有256bit。

2023-02-09 16:27:39 1536

转载 Linux修改系统编码

Linux修改系统编码

2023-02-09 16:05:38 121

转载 跨域解决及详细介绍

解决方式还有更多各种各样的,但我认为最优雅的莫过于这两种,因此其他的解决方式可以暂时不提及,那些方法不仅增加了阅读复杂度还增加了维护成本不建议使用。无论是采用何种方式,我们都是要让后端修改代码,修改header或修改返回数据格式,都离不开后端的参与,所以遇到跨域问题,赶快找后端,一起解决这个问题。

2022-12-23 14:58:50 126

翻译 SpringBoot - @PostConstruct、InitializingBean、 ApplicationRunner 和 CommandLineRunner的执行顺序

@PostConstruct > InitializingBean > ApplicationRunner > CommandLineRunner

2022-11-07 15:55:44 418 1

转载 logback介绍

Logback是由log4j创始人设计的另一个开源日志组件,官方网站:。

2022-11-03 14:16:40 344

原创 线程提高请求性能

1、简单的异步化改造,不管是服务器是否处于存在瓶颈的状态,都不能提高性能,反而因为异步增加了线程间切换的成本,性能还会有所下降。类,去重写doGet和doPost方法,tomcat会在接收到一个socket连接的时候,将其请求参数封装,并调用这个doGet或doPost钩子方法(这里我们只说这两种常用的,其他的PUT HEAD等方法这里不提了)。可能Task类能解决这个问题,使一个方法内多段代码异步执行,但我想这对编程能力的要求,应该不低,普通程序员可能容易出错。(1)明确这个方法是允许做异步化改造的。

2022-09-26 14:00:49 246

转载 Redis

Redis 使用单线程,来避免共享资源的竞争,使用多路复用实现高性能的I/O,它是内存数据库,所有操作都在内存上完成,使用哈希表,跳表等一系列高效的数据结构,这些特性保证了 Redis 的高性能。...

2022-08-31 14:00:34 71

原创 ==和equals区别

3.八大基本数据类型:Byte,short,int,long,double,folat,boolean,char,其中占一个字节的是byte,short和char占两个字节,int,float占四个字节,double和long占8个字节,boolean只有true和false,这八种数据变量中直接存储值。2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量,equals继承Object类,比较的是是否是同一个对象。如果作用于引用类型的变量,则比较的是所指向的对象的地址。...

2022-08-30 16:07:54 187

原创 Mysql安装及问题

解决:这个和本地的socket连接有关,直接使用-h ip进行连接mysql.

2022-08-11 14:16:36 229

原创 application.yml和application.properties加载顺序

3.最后根据spring.profiles.action配置去加载application-dev.yml文件,会覆盖之前相同的配置。1.先加载application.yml获取到spring.profiles.action配置;2.再加载application.properties文件;

2022-08-10 19:19:44 2687 1

转载 接口优化的方法

接口优化的方法

2022-07-19 10:56:13 97

转载 Nginx配置各种响应头防止XSS,点击劫持,frame恶意攻击(1)

Nginx配置各种响应头防止XSS,点击劫持,frame恶意攻击(1)_普通网友的博客-CSDN博客_nginx防xss攻击

2022-07-14 16:34:17 801

转载 @indexed,@Configuration,@Component,@Service、@Controller,@ComponentScan,@ComponentScans介绍

重点:在项目中使用了@Indexed之后,编译打包的时候会在项目中自动生成META-INT/spring.components文件。当Spring应用上下文执行ComponentScan扫描时,META-INT/spring.components将会被CandidateComponentsIndexLoader 读取并加载,转换为CandidateComponentsIndex对象,这样的话@ComponentScan不在扫描指定的package,而是读取CandidateComponentsIndex对

2022-07-13 13:59:34 104

转载 AES异常java.security.InvalidKeyException: Illegal key size的问题

AES异常java.security.InvalidKeyException: Illegal key size的问题(已解决)_Solid-Snaker的博客-CSDN博客_aes illegal key size说明一下,JDK1.8.0_151及其之后的版本(JDK11应该不会出这个问题),无需去官网下载 local_policy.jar US_export_policy.jar这个jar包,只需要修改Java\jdk1.8.0_151\jre\lib\security这目录下的java.securi

2022-07-13 13:57:00 225

原创 java多线程使用

多线程

2022-06-27 15:10:48 177

转载 使用Arrays.asList时出现java.lang.reflect.UndeclaredThrowableException

java.lang.reflect.UndeclaredThrowableException

2022-06-09 10:54:31 104

原创 CollectionUtils扩展方法(注:去重方法中有线程安全问题)

常用的CollectionUtils扩展方法

2022-06-08 15:28:55 503

翻译 @Configuration和@Component区别

@configuration@configuration 中所有带@bean注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例:注意:使用@configuration标记的类:(1)配置类必须以类的形式提供,不能是工厂返回的实例,允许通过生成子类在运行时增强(cglib动态代理);(2)配置类不能是final类(没法动态代理);(3)配置注解通常为了通过为了通过@Bean注解生成spring容器管理的类;(4)配置类必须是非本地的(即不能再方法中声明,不能是private)

2021-11-16 15:38:15 249

转载 java字符串拼接方法比较

https://github.com/xingshaocheng/architect-awesome

2021-11-04 15:41:30 71

原创 开发学分认定管理系统遇到的问题

问题一:错误:在项目Daoimpl中用HQL语句查询出对象集合返回给action方法中,返回后的值转化成json格式的数据出,现错误,不转换,但是在Daoimpl层把查询出来的对象集合遍历打印在控制台,在action中的可以成功转换json数据未解决问题二:在进行压缩包上传时,在Struts.xml中不配置的话,struts.multipart.maxSize默认的是2...

2019-08-30 23:02:21 280

原创 ssh框架中对实体属性加注释生成表

1,基本属性@Table声明了该实体bean映射指定的表(table),目录(catalog)和schema名字@Id声明了该实体bean的标识属性(对应表中的主键)。@Column声明了属性到列的映射。该注解有如下的属性:name 可选,列名(默认值是属性名)unique 可选,是否在该列上设置唯一约束(默认值false)nullable 可选,是否设置该列的...

2019-08-25 11:07:39 140

原创 spring中IOC、DI、AOP的理解

1.IOC 即“控制反转”,它是一种设计思想,他能指导我们设计出松耦合、更优良的程序。 在java开发中,IOC意味着将设计好的对象交给容器控制,而不是传统的在对象内部直接控制,用IOC容器之前对象是由自己来手动创建(new),是程序主动去创建依赖对象,用IOC容器之后来控制对象(不仅仅是对象还有其他外部资源获取比如文件)的创建、生命周期、对象之间的关系 反转:对于某个具体的对象...

2019-08-20 16:18:29 1022

空空如也

空空如也

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

TA关注的人

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