- 博客(29)
- 收藏
- 关注
原创 多线程详解
文章目录多线程一、基本概念:程序、进程、线程线程二、并行与并发三、多线程优点四、创建多线程方式一:继承Thread五、线程常用方法六、创建多线程方式二:实现Runnable接口七、创建多线程方式三:实现Callable接口 jdk5.0八、线程的生命周期九、三种方法解决线程安全问题十、死锁问题十一、线程通信十二、线程通信的应用:生产者/消费者十三、sleep() 和 wait() 区别十四、线程池使用Executors创建线程池 例: (==不允许使用Executors创建线程池==)使用ThreadPo
2022-05-17 14:20:09
3326
2
原创 RabbitMQ
文章目录RabbitMQ一、什么是MQ二、MQ的优点三、rabbitMQ四、docker安装五、rabbitmq的工作模式六、四种交换机七、简单模式案例八、rabbitmq的核心组成九、fanout(订阅)模式案例十、direct(路由)模式十一、topic(主题)模式十二、工作模式轮询分发工作模式公平分发工作模式十三、springboot整合rabbitmq --fanout案例十四、direct模式--springboot十五、使用注解完成 topic主题模式十六、过期时间TTL16.1、给队列配置t
2022-05-17 14:16:44
1103
原创 xxl-job
定时任务一、springTask使用方式 @EnableScheduling+@Scheduled@SpringBootApplication@EnableSchedulingpublic class Application {}@Componentpublic class TaskTest { @Scheduled(cron = "*/5 * * * * ?") private void test1(){ System.out.println("每隔5秒
2022-04-26 17:25:32
1322
1
原创 POI和easyExcel
文章目录POI和easyExcelPOI基本功能EasyExclePOI操作Excel基本写入操作设置excel单元格为会计专业,日期等大数据量写入基本读操作读取不同类型的值读取计算公式EasyExcel简单写操作:POI和easyExcelPOIApache POI 提供API给JAVA程序对 Office格式文档读和写的功能基本功能HSSF - 提供读写Excel 格式档案功能 03版 最大65535行 xlsXSSF - 提供读写Excel 格式档案动能 07版 xlsxH
2022-02-17 16:28:07
1034
原创 缓存架构解析
文章目录缓存架构解析什么是缓存缓存架构本地缓存和分布式缓存服务层缓存方式本地缓存框架对比分布式应用缓存对比项目中缓存常用法SpringCache 常用注解SpringCache使用SpringCache原理SpringCache支持缓存框架缓存架构解析什么是缓存将持久化的数据存放到内存副本中,用以提高并发,提高读取速度优点基于内存操作(快)空间换时间降低瓶颈操作减少对外依赖缓存架构层级常见产品缓存解决方案缓存技术应用层浏览器浏览器缓存本地缓存
2021-12-21 14:38:20
760
原创 springMVC基本实现
文章目录SpringMVC一、什么是MVC二、什么是SpringMVC三、SpringMVC特点四、HelloWord4.1、配置web.xml4.2、添加Controller (handler)返回ModelAndView4.3、配置springMVC.xml4.4、创建jsp页面4.5、启动访问五、SpringMVC执行原理六、注解开发SpringMVC一、什么是MVCMVC是一种软件架构的思想, 将软件按照模型、视图、控制器来划分M:Model,模型层,指工程中的JavaBean,作用是处理数
2021-12-15 16:53:49
902
原创 spring+spring5新功能
文章目录spring一、概述二、入门案例三、IOC3.1、什么是IOC3.2、IOC底层原理3.3、IOC接口3.4、Xml中Set属性注入3.5、Xml中有参构造注入3.6、P名称空间注入3.7、Xml中注入null和特殊字符3.8、Xml中外部bean注入3.9、Xml中内部bean注入,和级联赋值4.0、Xml集合属性注入 (二)4.1、Xml集合属性注入(二)4.2、Bean管理(工厂Bean)4.3、Bean的作用域4.4、Bean的生命周期 (从对象创建到销毁的过程)4.5、bean的后置处理器
2021-12-14 15:13:21
1245
原创 Stream流
文章目录Stream流概述:获取Stream流的两种方式Stream流注意事项Stream流常用方法forEach方法 逐一处理count方法 统计个数filter方法 过滤limit方法 取前几个skip方法 跳过前几个map方法 映射类型转sorted 方法 排序distinct方法 去重match方法 匹配指定条件fina方法 找第一个元素max和min方法 最大值和最小值获取reduce方法 归纳数据得到结果map结合reduce使用mapInt方法 将Integer类型Stream流转
2021-12-03 17:17:49
719
原创 sql_递归sql_explan详情
文章目录SQLcreateselectinsert intoupdatedelete函数mysql数据库时间与东八区相差8小时 修改mysql服务器时间 (建议自己new DATE)设置数据库时间字段随系统时间更新和创建字段类型选择LIKE模糊查询,函数优化CAST()和CONVERT()函数 装换类型is not null (is null) 查询慢优化mysql 递归查询sqlmysql EXPLAN 详情SQLcreate# CREATE DATABASE 语句 创建数据库CREATE
2021-11-26 15:24:01
752
原创 一段时间,周几出现的次数
一段时间,周几出现的次数public static List<Date> getDays(String dateBegin, String dateEnd,Integer weekDays){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date dtS = null; Date dtE = null; try { dtS = sdf
2021-11-02 18:42:26
196
原创 jsr303参数校验
JSR303 参数校验基本实现前提springboot项目引入依赖<!--jsr303校验--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </depen
2021-10-29 17:54:43
133
原创 base64编码
BASE64什么是base64编码?Base64,就是使用64个可打印字符来表示二进制数据的方法Base64能做什么?转码,图片,加密解密…Base64,什么时候使用?URL特殊字符,转码、转义嵌入图片 src=“base64编码后的内容”语言文字,底层都是用二进制来存储的Base64算加密算法吗?Base64是一种编码加密:把明文变为一种不可破解密文,提高识别难度编码:换一种体现形式,以便于传输,提高可读性为什么是64位可打印字符呢?中文–>一般都是双字节世界上最大
2021-10-11 13:44:44
600
原创 javaWeb全
文章目录JavaWeb一、基本概念1.1、前言1.2、web应用程序1.3、静态web1.4、动态web二、web服务器2.1、技术讲解2.2、web服务器2.3、Tomcat2.4、Tomcat配置请谈谈网站是如何访问的?2.5、发布一个web网站三、Http3.1、什么是Http3.2、版本3.3、Http请求3.3.1、请求行3.3.2、消息头3.4、http响应3.4.1、响应体3.4.2、响应状态码当你在浏览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么?四、Maven5.1、ma
2021-09-30 17:27:21
178
原创 注解和反射
文章目录注解和反射一、注解 Annotation1.1、元注解1.2、自定义注解二、反射 Reflection1.1: 只要元素类型与维度一样,就是同一个class1.2: 得到Class类的几种方式1.3: 所有类型的class1.4: 类加载--内存分析1.5: 获取类的运行时结构1.6:动态创建对象执行方法1.7:反射获取注解信息注解和反射一、注解 Annotation1.1、元注解//Target表示我们的注解可以用在那些地方@Target(value = {ElementType.T
2021-09-16 19:53:10
96
原创 java类加载、类加载器
文章目录Java类加载概述:Java类生命周期一: 加载二:连接2.1、验证2.2、准备2.2.1、方法区扩展2.3、解析 (静态解析、动态解析)三:初始化Java类加载概述:类加载:就是把一份被javac编译过的class文本文件,通过加载,生成某种形式的class数据结构进入内存,程序可以调用这个数据结构来构造出object这个过程是在运行时进行的----------->java动态扩展性的根基[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jK0qbf
2021-09-16 15:20:28
430
原创 Nginx安装及简单使用
Nginx安装及简单使用一、安装官网下载地址: http://nginx.org/en/download.html下载后上传到linux服务器解压tar -zxvf nginx-1.20.0.tar.gz安装指令注意:mark指令需要gcc环境如果没有gcc环境,需要安装gcc:yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel# 执行配置文件,完成自动配置./configure # 编译安装源
2021-09-09 23:27:49
120
原创 java操作ffmpeg+ffmpeg使用
ffmpeg官网: http://ffmpeg.org/文档: http://ffmpeg.org/基本使用官网下载一、视频转换ffmpeg.exe -i 1.avi 1.mp4转mp4,mp3,mkv,gif都可以二、将视频文件转换为m3u8文件将视频转为mp4ffmpeg.exe -i 1.avi -c:v libx264 -s 1280x720 -pix_fmt yuv420p -b:a 63k -b:v 753k -r 18 ./1.mp4-c:v 视频编码
2021-09-08 23:13:37
9909
1
原创 java使用外部程序方法
java使用外部程序方法在java中可以使用Runtime类和ProcessBuilder类两种方式来执行外部程序ProcessBuilder类参数少的情况: //创建processBuilder对象 ProcessBuilder processBuilder = new ProcessBuilder(); //设置第三方应用命令 processBuilder.command("ping", "127.0.0.1");
2021-09-08 23:07:28
425
原创 多线程-静态代理-Lambda表达式
多线程进程和线程 (Process and Thread)程序,程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念进程,进程是执行程序的一次执行过程,它是一个动态的概念,是系统资源分配的单位线程,通常一个进程可以包含若干个线程,当然一个进程至少有一个线程,线程是cpu调度和执行的单位很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核.线程线程就是独立的执行路径在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程、gc线程main()称为
2021-09-03 11:01:29
662
原创 minio实现大文件分片上传+断点续传+预览
minio实现大文件分片上传+断点续传+预览只提供后端java代码思路:前端分片校验文件md5是否已经存在 --不存在创建临时桶存分片校验分块是否已经上传分块上传合并分块校验合成后md5是否相同代码gitee:https://gitee.com/lulunb/minio-boot.git...
2021-08-31 15:02:09
3866
原创 自定义异常
自定义异常继承Exceptionpublic class MyException extends Exception{ private int detail; public MyException(int detail) { this.detail = detail; System.out.println("数字不可大于10"); } @Override public String toString() {
2021-08-30 22:36:42
54
原创 static关键字
static关键字修饰变量public class Demo01 { private static int age; //静态变量 类变量 private int score; //非静态变量 public static void main(String[] args) { Demo01 demo = new Demo01(); System.out.println(Demo01.age); //静态变量可以直接调用
2021-08-23 22:27:06
47
原创 新版minio简单使用
MinIO官方:https://min.io/中文版:http://www.minio.org.cn/ 更新不及时,有坑环境搭建:单机部署:基于dockerdocker pull minio/minio//创建文件夹mkdir -p /data/minio/configmkdir -p /data/minio/data#启动docker run -p 9000:9000 -p 9001:9001 --name minio -d --restart=always -e "MINIO
2021-08-22 23:44:30
5082
1
原创 使用mybatis-generator插件,动态生成对应数据库表的—pojo—mapper—mapper.xml
使用mybatis-generator插件动态生成对应数据库表的—pojo—mapper—mapper.xml引入依赖<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> <
2021-08-17 16:03:53
458
原创 IO流+File类
File类文件,文件夹,一个File对象代表磁盘上的某个文件或文件夹就是用来操作文件(夹)路径的构造方法File(String pathname) 根据给定的字符串路径创建其对应的File对象File file = new File("d:/a/1.txt");File(String parent,String child) 根据给定的字符串形式的父目录和子文件(夹)名创建File对象File fil
2021-08-14 16:45:09
57
原创 数组+用stream流将数组转list
数组数组是相同类型数据的集合数组有先后顺序取数组中的值通过下标,下标从0开始arr.length 获取数组长度数组的声明和创建//数组的声明int[] nums; //推荐使用int nums[];//数组得到创建nums = new int[10];//合并int[] nums = new int[10];数组三种初始化//静态初始化int[] array = {1,2,3,4,5};//动态初始化 包含默认初始化/*动态初始化就是后续需要手动赋值默认初始化
2021-08-06 14:09:10
8654
原创 java值传递
java值传递参数类型形参:方法被调用时需要传递进来的参数.如sum(int a,int b)中a和b就是形参,它只有在sum被调用期间a/b才有意义,也就是会被分配内存空间,在方法执行完成后,a/b就会被销毁释放空间实参:方法被调用时传入的实际值值传递_引用传递值传递:在方法被调用时,实参通过形参把它的内容副本传入方法内部,此时形参接受到的内容是实参值的一个拷贝,因此在方法内对形参的任何操作,都仅仅是对这个副本的操作,不影响原始值的内容.值传递传递的是真实内容的一个副本,对副本的操作不影响
2021-08-05 13:23:04
51
原创 java数据类型及常见问题
数据类型java是^ 强类型语言java数据类型分为两类基本数据类型引用数据类型基本数据类型#mermaid-svg-cNEZZ9eyESdMdD93 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-cNEZZ9eyESdMdD93 .label text{fill:#333}#mermaid-s
2021-08-03 22:42:40
215
原创 常用DOS命令
打开CMD的方式开始+系统+命令提示符win+r 输入cmd 打开控制台在任意的文件夹下面,按住shit+鼠标右键,在此处打开命令行窗口资源管理器的地址栏前面加上 cmd 路径常用DOS命令#盘符切换 D:#查看当前目录下的所有文件 dir#切换目录 cd cd\ 进入根目录 cd..进入上一级目录#清理屏幕 cls (clear screen)#退出终端 exit#查看电脑的ip ipconfig#打开软件 calc 计算器 mspaint 画图 notepad
2021-08-03 15:25:16
86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人