java
文章平均质量分 57
Richard Chijq
当你的才华撑不起你的野心的时候,就应该静下心来学习
展开
-
搭建10W级QPS高并发系统实战
从零搭建一个大流量、高并发的优惠券系统,首先应该充分理解业务需求,然后对需求进行拆解,根据拆解后的需求,合理选用各种中间件;本文主要是要建设一套优惠券系统,因此会使用各类存储组件和消息队列,来完成优惠券的存储、查询、过期操作;在系统开发实现过程中,对核心的发券、券过期实现流程进行了阐述,并针对大流量、高并发场景下可能遇到的存储瓶颈、热点库存、券模板缓存获取超时的问题提出了对应的解决方案。其中,我们使用了分治的思想,对存储中间件进行水平扩容以解决存储瓶颈;采取库存拆分子库存思路解决热点库存问题;原创 2022-11-27 21:03:33 · 1854 阅读 · 0 评论 -
java面试总结
java面试总结原创 2022-08-22 14:06:07 · 1215 阅读 · 0 评论 -
Java面试题2022
1、Spring AOP 底层原理aop底层采用动态代理的机制实现:如果要代理的对象实现了某个接口,那么会用JDK代理; 如果没有实现接口,那么会用Cglib代理。由代理类创建出一个和实现类平级的对象(代理对象),它可以实现和原有实现类相同的功能,这个就是aop的横向机制原理,这样就不需要修改源代码。2、HashMap的底层数据结构是怎样的?JDK1.8以前JDK1.8以前HashMap底层是数组+链表结合的方式来实现的; HashMap通过 key 的 hashCode 经过扰动原创 2022-01-31 00:21:49 · 3063 阅读 · 0 评论 -
自定义拦截器打印http请求日志
1、定义一个拦截器类import com.alibaba.fastjson.JSON;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.stereotype.Service;import org.springframework.web.servlet.HandlerInterceptor;import org.springf原创 2021-09-18 16:07:42 · 591 阅读 · 0 评论 -
解决springboot2.X发送post请求数量限制问题
今天发现了一个很奇怪的问题,前端发送post请求到后台,请求的数据量非常大,数据到后台发现,controller层对应的方法接收到的参数都为空,后台没有提示什么错误,只是莫名其妙的参数全丢失了。后面尝试各种方法,终于解决问题。下面记录下springboot2.x的解决方式。1、处理post请求的大小,在配置文件中添加如下参数;server:tomcat:max-http-post-size: -12、处理post请求参数的个数,在springboot的启动类中,添加如下代码:原创 2021-05-11 16:37:46 · 1330 阅读 · 0 评论 -
SpringBoot自定义注解@Idempotent实现API幂等性(防止接口重复请求)
目的一定时间内,同样的请求(业务参数相同)访问同一个接口,则只能成功一次,其余被拒绝。自定义幂等性注解import java.lang.annotation.*;/** * 幂等注解 */@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Idempotent { /** * 幂等名称,作为redis缓存Key的一部分。 */原创 2021-02-05 16:22:03 · 6509 阅读 · 4 评论 -
记一次用SpringBoot默认连接池HikariCP拿不到连接问题
记一次用SpringBoot默认连接池HikariCP拿不到连接问题1、问题发现最近项目总接到反馈有用户登录不上系统情况,通过查看日志,并验证多次访问都是正常。2、排查问题安装pinpoint监控后,通过pinpoint监控发现确实会存在获取连接超时情况,如下图查看最近访问情况,发现存在大量超时情况,如下图3、定位问题下图是原本HikariCP数据库连接池配置,发现都没有设置数据库连接池参数。4、解决问题后通过调整连接池参数,跟踪监控,问题得以解决,下图是调整后的连接池配置监控应用原创 2020-07-16 10:48:45 · 4012 阅读 · 9 评论 -
记录一次POI导出文件超时报错的问题
后端日志错误信息![在这里插入图片描述](https://img-blog.csdnimg.cn/20200622165735646.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxODM3OTkzNzAy,size_16,color_FFFFFF,t_70)解决办法在nginx 的 location 中 添加如下参数即可 prox原创 2020-06-22 16:59:08 · 896 阅读 · 0 评论 -
记录一次springboot返回json乱码问题
@Configurationpublic class WebAppConfigurer implements WebMvcConfigurer { @Bean public HttpMessageConverter responseBodyConverter(){ //解决返回值中文乱码 StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-原创 2020-06-09 14:43:15 · 277 阅读 · 0 评论 -
springboot整合rabbitmq和ThreadPool实现异步调用
添加rabbitMq依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>配置rabbitMq 服务器服务端和消费端都要...原创 2020-04-15 15:20:48 · 2533 阅读 · 2 评论 -
poi根据模版导出多页word,带插入图片,并压缩下载
工具类代码package cn.edu.nfu.jw.srs.utils;import org.apache.poi.xwpf.usermodel.*;import org.apache.xmlbeans.XmlOptions;import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBody;import jav...原创 2020-04-03 16:21:51 · 596 阅读 · 0 评论 -
Java中使用POI读取大的Excel文件或者输入流时发生out of memory异常参考解决方案
使用Excel Streaming Reader,这个第三方工具会把一部分的行(可以设置)缓存到内存中,在迭代时不断加载行到内存中,而不是一次性的加载所有记录到内存,这样就可以不断的读取excel内容并且不影响内存的使用。 但是这个工具也有一定的限制:只能用于读取excel的内容,写入操作不可用;可以使用getSheetAt()方法获取到对应的Sheet,因为当前只是加载了有限的row...原创 2020-04-03 16:05:49 · 1758 阅读 · 3 评论 -
Srping手动获取bean工具类
package cn.edu.nfu.jw.util;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import...转载 2020-04-16 10:21:20 · 104 阅读 · 0 评论 -
Spring手动控制事务提交
1、配置文件applicationContext.xml:<beanid="txManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"p:dataSource-ref="dataSource"/>2、在需要加事务的方法上加上DataSourceTransacti...原创 2019-05-05 15:02:45 · 7691 阅读 · 2 评论 -
Java 生成pdf表格 并下载到本地
import com.itextpdf.text.*;import com.itextpdf.text.pdf.BaseFont;import com.itextpdf.text.pdf.PdfPCell;import com.itextpdf.text.pdf.PdfPTable;import com.itextpdf.text.pdf.PdfWriter;import org.ju...原创 2018-11-28 12:01:56 · 806 阅读 · 1 评论 -
读取FTP文件,并打包成压缩包下载
import java.io.*;import java.net.SocketException;import java.net.URLEncoder;import java.util.List;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;import org.apache.commons.n...原创 2018-08-23 15:52:17 · 2458 阅读 · 1 评论