自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 【问题解决】HttpURLConnection如何以POST的方式发送请求,传递form表单格式的数据到外部接口

java如何以post的方法发送请求,传递form表单数据格式到三方接口

2024-06-12 16:03:32 332

原创 【问题解决】EasyExcel导出数据,并将数据中的实体类url转为图片

基于ApachePOI,EasyExcel。将url转为图片形式导出

2024-05-10 11:11:07 245 1

原创 【学习总结】EasyExcel合并同列不同行,表格数据相同的行

继承合并单元格,重写合并方法。

2023-09-14 16:13:11 848

原创 Excel表格数据读取问题

复杂Excel表格数据读取问题。(数据类型转换、合并单元格数据读取、空行数据判定)

2023-05-30 16:08:02 150

原创 【问题解决】SpringBoot整合达梦数据库+MyBatis-Plus

SpringBoot结合MyBatis-Plus整合达梦数据库

2022-11-07 17:03:06 3720 1

原创 【问题解决】Java下载远程服务器资源到本地,本地提供下载服务,解决中文乱码问题

JAVA后端提供下载服务,解决下载文件中文乱码问题

2022-10-26 10:47:22 702

原创 【开发工具】MyBatis-Plus代码自动生成

代码自动生成工具,快速搭建项目体系,提高开发效率

2022-07-18 10:52:11 566

原创 【学习笔记】自定义注解的使用

自定义注解的使用1.通过@interface 来标识这是一个自定义注解@Target(ElementType.PARAMETER)@Retention(RetentionPolicy.RUNTIME)public @interface LoginToken {}2.在定义好过后,通过去实现 HandlerMethodArgumentResolver类,重写 supportsParameter方法和resolveArgument方法。public boolean supportsParam

2022-05-07 10:28:30 1217

原创 Redis

Redis常见问题缓存缓存击穿​ 指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。解决方案设置热点数据永不过期加互斥锁缓存穿透​ 缓存和数据库中都没有的数据,而用户不断发起请求。由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。解决方案设置并发锁,防止请求大量请求数

2022-05-07 10:27:38 314

原创 Oracle问题

Oracle问题1.模糊匹配时间问题# 查询product表下,2022年7月的数据# 这里#{time} 替换为‘2022-07’就行啦Select * from product where TO_DATE(sys_create,'yyyy-MM') like #{time}2.动态获取表字段属性SELECT ut.COLUMN_NAME, --字段名称 uc.comments, --字段注释 ut.DATA_TYPE, --字典类型 ut.DATA_LENGTH, --字

2022-05-07 10:26:43 1336

原创 【学习笔记】MySQL的常见问题

MySQL的常见问题奇奇怪怪的SQL查询表中某项数据的占比一个表中,有男生,有女生;查询男生女生的分别占比SELECT ( CASE WHEN sex = '男' THEN 1 ELSE 0 END ) gender, count(id) number, count(id)/(SELECT count(id) from user) proportionFROM user GROUP BY sex函数语法case whenSELECT CASE WH

2022-05-07 10:25:40 84

原创 【学习笔记】深入理解 MySQL 事务:隔离级别、ACID 特性及其实现原理

深入理解 MySQL 事务:隔离级别、ACID 特性及其实现原理什么是事务?事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元。事务通常由高级数据库操作语言或编程语言(如 SQL,C++ 或 Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间

2022-02-21 21:17:28 192

原创 【学习笔记】Nginx核心概述

Nginx介绍Nginx 是高性能的 HTTP 和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务

2021-05-26 15:28:35 177 1

原创 【知识扫盲】Java引用类型是什么

JAVA引用类型共分为四种引用类型JDK1.2 之前,一个对象只有“已被引用”和"未被引用"两种状态,这将无法描述某些特殊情况下的对象,比如,当内存充足时需要保留,而内存紧张时才需要被抛弃的一类对象。所以在 JDK.1.2 之后,Java 对引用的概念进行了扩充,将引用分为了:强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(Phantom Reference)4 种,这 4 种引用的强度依次减弱。一,强引用Obje

2021-05-20 10:20:39 79

原创 【排序算法】快速排序

快速排序多的就不说了,控制台打印的很清楚。package cn.fyyice;public class Pool { public static void main(String[] args) { int[] arr = {10,7,2,4,7,62,9,19,80,34}; quick(arr,0,arr.length-1); int i = 0; for (Integer n:arr) { Syst

2021-05-11 14:30:00 89

原创 【学习笔记】深入浅析BIO、NIO、AIO

BIO、NIO、AIOJava的I/O演进之路I/O模型:就是用什么样的通道或者说是通信模式和架构进行数据的传输和接收,很大程度上决定了程序通信的性能,Java共支持3种网络编程的I/O模型:BIO、NIO、AIO实际 通行需求下,要根据不同的业务场景和性能需求决定选择不同的I/O模型1.I/O模型BIO同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销NIO同步非阻塞,服务器实

2021-05-06 15:38:10 1157 5

原创 【JVM】GC垃圾回收机制

GC:垃圾回收机制首先我们得知道JVM的主要组成部分:垃圾回收主要关注 Java 堆Java 内存运行时区域中的程序计数器、虚拟机栈、本地方法栈随线程而生灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由 JIT 编译器进行一些优化),因此这几个区域的内存分配和回收都具备确定性,不需要过多考虑回收的问题,因为方法结束或者线程结束时,内存自然就跟随着回收了。而 Java 堆不一样,一个接口中的多个实现类需要

2021-04-28 11:31:42 118

原创 【问题解决】解决项目打包成jar包,部署上线后,读取resources目录文件资源失效。

项目打包成jar包,部署上线后,读取resources目录文件资源失效。最近在做的一个项目需要,读取模板文件和一些静态资源文件来生成对应的pdf文档。这里涉及到了很多文件读取的细节问题。刚开始我觉得还是挺简单的吧,资源文件的读取方式有很多,这里随便列举几个:通过ClassPathResourceClassPathResource resource = new ClassPathResource("对应resources目录文加下的路径");InputStream in = classPathR

2021-04-27 17:47:55 2611

原创 【问题解决】解决多个不同类型List包含部分相同属性,过滤并返回一个新的List

反正你们也看不到,所以我说不说也不重要吧,嘿嘿。public class WarnUtils { //风力判断阈值 public List<GaleWarn> GaleWarning(List<Station> list){ //按照风速排序 Collections.sort(list, new Comparator<Station>() { @Override publi

2021-04-23 15:33:37 388

原创 【问题解决】如何将json字符串转为List

关于json字符串的处理注:这是我通过接口远程调度得到的json字符串。{ "code":0, "message":"ok", "data":[ { "stationId":54416, "localDate":"2021-04-11T16:00:00.000+00:00", "temAvgDay":3.1125, "temMaxDay":7.4,

2021-04-19 15:48:47 16660

原创 【问题解决】后端如何以文件流的形式返回本地资源给前端,提供下载服务

后端以文件流的形式返回本地资源//文件地址String path = "PDFpath";File file = new File(PDFpath);//读取生成的PDF文件InputStream inputStream;OutputStream outputStream;响应设置 重制输出流try { if (file.exists()){ inputStream = new FileInputStream(file); outputStream =

2021-04-19 14:51:08 4963 3

原创 【学习笔记】多线程进阶JUC

JUC多线程进阶视频课程地址 → 狂神说java(JUC并发编程最新版通俗易懂),再吹一波,QJ YYDS笔记由自己一边听课记录+结合自己的一些个人理解构成1.什么是JUC源码 + 官方文档JUC是 java util concurrent业务:普通的线程代码 ThreadRunnable: 没有返回值、效率相比于Callable 相对较低!2.线程和进程线程与进程的关系进程是一个程序的执行;一个进程可以包含多个线程,线程是程序执行的最小单位(资源调度的最小单位)java默认

2021-04-09 17:48:13 227

原创 【消息中间件】SpringBoot整合RabbitMQ

SpringBoot整合RabbitMQ相比于直接调用,SpringBoot为我们封装了RabbitMQ的方法,我们可以 通过注解来快速使用!步骤:创建工程引入依赖坐标编写yml配置文件测试创建工程新建一个project,这里可以使用Spring Initalizr,或者Maven的方式都可以。这里就不多做概述。为体现消息中间件的解耦特性,这里我们使用两个工程(Provider、Consumer),一发一收的方式来展示。引入依赖坐标这里需要rabbitmq的相关依赖和SpringBo

2021-03-09 17:48:47 177

原创 【消息中间件】Java使用RabbitMQ深入浅出(入门)

RabbitMQ深入浅出如果有幸能让初学的你看到这篇文章,那真是太好了。因为我这篇文章可以帮助你快速入门,好了,废话不多说,开始吧。生产者 → 消费者引言什么是rabbitMQ​ MQ(Message Quene):翻译为消息队列,通过典型的生产者和消费者模型生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入轻松的实现系统间解耦。别名为消息中间件、通过利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数

2021-03-09 14:37:36 517 1

原创 【工作流】Activit入门排雷

Activit流程中心简单聊一聊​ 这两天学习工作流,网上找了很多资料但是或多或少有一定的差异,不是时间太久就是信息不完善,因此我寻思着一直找别人的不如自己来写一篇基本入门。所有的流程操作大致都是如此,在多租户情况下,需要对所有用户的权限进行控制,然后通过身份验证进行流程操作。自习阅读activit工作流的日志记录,不难发现,每一步操作都涉及到了多了多表的同步更新,原理不难,总要的是去理解这个思想。简介Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支

2021-03-01 16:14:55 332 1

原创 【npm-问题解决】解决npm下载速度过慢

解决npm下载速度过慢更换源,这个是最直接方便 有保障的方法了,不要去安装cnpm,因为你无法确定 他是否做了后门。!!\1. 如果不想安装cnpm 又想使用淘宝服务器来下载扩展插件:(这种方法 每次都得带 废弃)npm install jquery --registry=https://registry.npm.taobao.org2.如果嫌弃每一次 在后面 加参数麻烦,那么我们可以吧这个选项加入倒配置文件中**(推荐,一步到位,搞定)**npm config set registry ht

2021-02-23 15:07:12 242

原创 【学习笔记】SpringCloud核心概述

SpringCloud技术要求:java8 + maven + git、github + Nginx + RabbitMQ + SpringBoot2.0微服务架构概述微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,微服务之间互相协调、互相配合,为用户提供最终价值。每个务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相协作(通常是基于HTTP协议的RESTful API)。每个服务都围绕着具业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一

2021-02-03 18:32:40 129

原创 【面试总结】面试前不得不刷一下的硬核总结。

一些面试中遇到的问题针对实际面试所遇到问题的查漏补缺,引荐了一些csdn大佬的回答并结合自己的观点做出的一系列总结。1. TCP和UDP协议的相似之处。TCP和UDP的基本概念TCP(Transmission Control Protocol),传输控制协议。UDP(User Data Protocol),用户数据报协议。二者的异同点1. TCP和UDP的相同点:TCP和UDP都是在网络层,都是传输层协议,都能都是保护网络层的传输,双方的通信都需要开放端口。2. TCP和UDP

2021-02-01 10:00:48 207

原创 Mybatis-Plus基础

Mybatis-Plus基础表名字映射规则---->对应实体类名字。字段对应实体类对应属性引入依赖 <!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId>

2020-12-18 10:17:02 241

原创 【学习笔记】redis 深入浅出

RedisRedis:Remote Dictionary Server,及远程服务字典。是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis能干嘛?1、内存存储、持久化,内存中是断电即失、所以说持久化很重要( rdb、aof )2、效率高,可以用于高速缓存3、发布订阅系统4、地图信息分析5、计时器、计数器( )6、…基本数据类型String、List、Hash、Set、ZSetString支持基本

2020-12-18 10:15:04 346

原创 【面试总结】实习生高频面试题总结(持续更新)

开学大四了,最近也在找java后端开发的实习生工作,根据经历的面试经验总结了一下高频面试题,希望可以帮助到和我一样在找实习的小伙伴们。本帖将会持续更新,若有错误欢迎指正~文章目录面试题总结Spring 的面试常考题1.Spring中bean的scope属性、区别2.Spring Bean 的生命周期3.谈一谈对IOC、AOP的理解4.Spring用的啥5.依赖注入的时候?Http和TCPHTTP与HTTPS有什么区别?HTTP状态码SpringBoot**1.springboot自动配置的原理**2.Sp

2020-08-24 21:22:01 373 1

原创 【设计模式】常用单例模式实现

单例模式什么是单例模式?首先看看定义:保证一个类只有一个实例,并且提供一个全局的访问点实现方式:1.懒汉模式​ 在需要的时候再创建类的实例化。class LazySingleton{ private static LazySingleton instance = null; private LazySingleton(){} public static LazySingleton getIntance(){ //双重锁判断 if(insta

2020-07-15 15:11:11 83

原创 【JDBC】关于JDBC入门和一些见解

关于JDBC的一些理解和总结JDBC连接数据库:​ 刚开始学的时候经常忘记步骤,其实多了几次之后发现完全就是自己没有理解到原理。现在回头看还是挺有意思的。分为以下几个步骤:1.注册加载JDBC驱动,把Driver装进JVMClass.forName("com.mysql.cj.jdbc.Driver");Class.forName("com.mysql.jdbc.Driver");...

2020-02-04 17:11:23 1470 1

空空如也

空空如也

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

TA关注的人

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