随笔分类 - JAVA
摘要:Spring Boot ELK Kafka 自定义断路器Circuit Breaker 一.需求说明 微服务框架需要日志收集,包括日志的清洗分析过滤等,常见的日志系统是ELK.业务系统通过ELK组件,将日志通过logback的方式写入kafka,logstash对kafka的日志进行清洗过滤,最
阅读全文
摘要:1、编写自定义配置文件custom.propertis,并放到resource目录下 2、编写自定义的加载类CustomEnvironmentPostProcessor,实现EnvironmentPostProcessor接口,重写postProcessEnvironment方法 3、在META I
阅读全文
摘要:Executors的使用 一、线程池工作顺序 corePoolSize 任务队列 maximumPoolSize 拒绝策略 二、自带的线程池的工厂方法 1、newFixedThreadPool JDK文档描述:创建一个固定的现成池,该线程重用固定数量的线程。如果所有线程都处于活动状态,并且有新的任务
阅读全文
摘要:手写一个简单的死锁代码 死锁原因 多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放,而该资源又被其他线程锁定,从而导致每一个线程都得等其它线程释放其锁定的资源,造成了所有线程都无法正常结束。这是从网上其他文档看到的死锁产生的四个必要条件: 1、互斥使用,即当资源被一个线程使用(占有)时
阅读全文
摘要:Spring boot 自定义配置实现自动提示 这个是基于IDE来做的,Eclipse的没有试验过 1、新建一个配置类(ExampleProperties) 2、引入依赖spring boot configuration processor 3、修改IDE的配置 打开设置页面,按照箭头所指示的地方开
阅读全文
摘要:缓存中常见的概念及解决方案 缓存穿透 1、概念 用户查询数据,在数据库中以及缓存中(redis)都查询不到,导致每次请求来时,缓存(redis)中查询一次,数据库查询一次,最后返回空,每次请求都会有俩次无用的查询,缓存命中率低 2、解决方案 1) 对null值设置缓存,每隔一段时间过期 2) 使用布
阅读全文
摘要:类似百度网盘、window文件重命名规则 代码实现 最近我们公司在做一个类似百度网盘的一个公司内部网盘的项目,功能也比较简单,文件上传、解压、查看、下载等。我这边主要负责网盘服务后台接口的开发,有个业务场景就是,同一用户在同一文件夹相同格式下的不能有相同的名称,如果有,当需要在保存是,添加个(1)等
阅读全文
摘要:Spring boot Access Control Allow Origin 问题解决 最近在做一个项目,前后端分离,后端使用的框架是Spring boot,后端接口在使用swagger测试接口时没有问题,前端调用接口时,控制台发生关于“Access Control Allow Origin” 的
阅读全文
摘要:面试系列之 Java基础面试题 该面试题主要是牛客网上的面试题及自己平常面试遇到的面试问题,会不定期更新,欢迎关注。 一、请说明一下JAVA抽象类和接口的区别。 含有abstract修饰符的类即为抽象类,abstract类不能创建实例对象,含有abstract方法的类必须定义
阅读全文
摘要:常见的负载均衡策略 轮询(Round Robin) 轮询的实现方式比较简单,就是将请求以此分发到后端服务器中,将所有的请求均匀分配,均匀分配的坏处是通常后台服务器性能有差异,有时候希望性能较好的服务器可以多承担些请求,该策略无法满足需求。这个不适合对长连接和命中率有要求的场景。 加强轮询(Weigh
阅读全文
摘要:``` import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.rmi.RemoteException; import javax.xml.rpc.ServiceE
阅读全文
摘要:``` import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; i
阅读全文