自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (2)
  • 收藏
  • 关注

原创 SpringCloud组件总结

https://www.processon.com/view/link/64e85fe76b2cbb581a3835bc 访问密码:afGw。

2023-08-25 16:00:55 221

原创 多线程与高并发(17)——多线程总结(很全)

总结并复习了一下之前写的多线程的知识,见下图。不够清楚可私信或者processOn。

2023-07-27 20:08:28 285

原创 JVM系列(9)——调优初体验

吞吐量&&响应时间

2023-07-21 16:18:17 371

原创 Java实现AES加解密

Java实现AES加解密

2023-07-19 20:05:02 111

原创 JVM系列(8)——对象的内存布局

本文总结了JVM中类的加载、内存分配、垃圾回收、对象结构。

2023-07-19 20:00:44 995

原创 JVM系列(7)——java内存模型

先复制一份数据到 CPU Cache 中,当 CPU 需要用到的时候就可以直接从 CPU Cache 中读取数据,当运算完成后,再将运算得到的数据写回 Main Memory 中。

2023-07-19 17:13:54 975

原创 SringCloud集成Redis工具类

【代码】SringCloud集成Redis工具类。

2023-07-14 17:03:24 532

原创 JVM系列(6)——类加载器详解&&双亲委派

1、双亲委派模型:自下而上寻找,自上而下派任务去解析。2、类加载器是模板方法模式,重写indClass() 方法自定义类加载器,重写loadClass() 打破双亲委派模型。3、双亲委派模型安全、节省资源。

2023-07-14 16:12:01 705

原创 JVM系列(5)——类加载过程

加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)。

2023-07-13 15:06:49 1559 1

原创 Java大文件上传(秒传、分片上传、断点续传)

秒传就是不传,实现逻辑就是看数据库或者缓存里是否已经有这个文件了,有了,直接从已有的文件去拿就可以了(返回文件地址)。这里判断是否是相同文件,要用到信息摘要算法,详情可以参考:一文读懂当前常用的加密技术体系。信息摘要算法常常被用来保证信息的完整性,防止信息在传输过程中被篡改(无法确定信息是否被监听)。常用的就是MD5算法。分片上传,就相当于把一个大文件,拆成很多个小份,就想hls文件一样,一片一片的,上传完成后组合起来形成一个完整的文件。一般和断点续传一起使用。分片上传过程中,会话失效、网络问题、系统

2023-07-05 17:24:46 3004

原创 MySQL调优系列(八)——事务和锁分类

事务是逻辑上的一组操作,要么都执行,要么都不执行。

2023-06-26 18:29:19 215

原创 MySQL调优系列(七)——分区分表

简单来说,分而治之。

2023-06-13 18:12:27 549

原创 Java IO模型图解(BIO NIO AIO)

NIO图解

2023-06-08 16:52:40 938

原创 MySQL调优系列(六)——查询优化

能用索引就用索引。

2023-06-08 11:39:53 595

原创 Java IO详解

IO即Input和Output,即输入和输出。这里的输入和输出都是相对于内存来说的。

2023-06-06 18:01:13 6575

原创 MySQL调优系列(五)——索引详解

数据库索引就像是书前面的目录,能加快数据库的查询速度。

2023-05-19 16:20:21 753

原创 数据结构之“树”——二叉树、红黑树、B树、B+树、B*树

这篇文章主要简单总结下二叉树、红黑树、B树、B+树、B*树的基本结构和原理。

2023-05-11 18:03:14 2651 3

原创 MySQL调优系列(四)——执行计划

sql语句是有具体的执行过程的,通过查看这个执行过程,可以针对性的优化某一步骤,以加快SQL语句的执行效率。通过MySQL调优系列(一)——性能监控我们可以知道,有一个查询优化器,查询优化器:优化客户端请求query,根据客户端请求的 query 语句,和数据库中的一些统计信息,在一系列算法的基础上进行分析,得出一个最优的策略,告诉后面的程序如何取得这个 query 语句的结果。(交由优化器将请求转化成执行计划,然后与存储引擎交互。

2023-05-08 19:57:34 646

原创 MySQL调优系列(三)——存储引擎的选择

关系型数据库的数据是存在表里的,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式,每个表格就是一个数据。表是在存储数据的同时,还要组织数据的存储结构,而这些数据的组织结构就是由存储引擎决定的。即存储引擎的作用就是规定了数据存储时的存储结构,业务直接决定了存储引擎的选择。因为不同的业务对数据的要求是不同的,比如查询、增删、外键、事务、索引等。mysql查看支持存储引擎语句:show engines;可以看出mysql默认支持的InnoDB索引,且支持事务、行级锁、外键。

2023-05-08 11:36:08 583

原创 MySQL调优系列(二)——数据类型优化

应该尽量使用可以正确存储数据的最小数据类型,更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期更少,但是要确保没有低估需要存储的值的范围,如果无法确认哪个数据类型,就选择你认为不会超过范围的最小类型。2、当我们的表中存在类似于 TEXT 或者是很大的 VARCHAR类型的大字段的时候,如果我们大部分访问这张表的时候都不需要这个字段,我们就该义无反顾的将其拆分到另外的独立表中,以减少常用数据所占用的存储空间。最大空间是65535个字节,适合用在长度可变的属性。

2023-05-06 18:04:33 600

原创 NAT网关图解

本文主要以图来展示NAT网关的原理。

2023-03-13 18:23:36 251

原创 MySQL调优系列(一)——性能监控

本文主要从show profile、performance_schema、show processlist讲解mysql的性能监控。

2023-03-06 17:53:28 598

原创 Linux配置DNS

Linux配置DNS。

2023-02-23 09:34:40 148

原创 多线程与高并发(16)——线程池原理(ThreadPoolExecutor源码)

ThreadPoolExecutor使用了AQS、位操作、CAS操作等。

2023-01-06 15:19:43 439

原创 位运算详解

位运算,就是对二进制位进行操作。

2023-01-04 17:39:09 904

原创 docker(七)容器监控(CAdvisor+InfluxDB+Granfana)

CAdvisor+InfluxDB+Granfana进行容器监控

2022-12-27 19:33:00 900

原创 多线程与高并发(15)——线程池详解(非源码层面)

本篇文章就基于ThreadPoolExecutor 这个类来展开总结线程池。

2022-12-27 18:44:01 425

原创 多线程与高并发(14)——Executor框架(线程池基础)

工作单元和执行单元分开,工作单元包括Runnable和Callable,利用Executor来执行任务。通过 Executor来启动线程更易管理,效率更好,助于避免 this 逃逸问题。

2022-12-08 17:05:08 516

原创 java(面向对象)的23种设计模式(11)——观察者模式

观察者模式分析。

2022-12-01 15:44:16 634

原创 多线程与高并发(13)——Java常见并发容器总结

本文总结常见的并发容器,包含ConcurrentHashMap、CopyOnWriteArrayList 、ConcurrentLinkedQueue、BlockingQueue 、ConcurrentSkipListMap,本文仅做简单的总结,不做详细的源码分析。

2022-11-30 17:24:16 827

原创 java实现微信小程序获取手机号(htts接口实现)

1、获取通过认证的appId和secret;2、利用appId和secret获取accessToken;3、前端获取到用户的code;4、通过code和accessToken获取手机号。

2022-08-31 14:25:46 8681 2

原创 java集合(容器)基本知识

1、List有序,可重复;可根据索引获取元素。2、Set无序,不可重复;独一无二;不能根据索引获取元素。3、Queue按特定的排队规则来确定先后顺序,有序的、可重复;4、Map使用键值对(key-value)存储,类似于数学上的函数 y=f(x),"x" 代表 key,"y" 代表 value,key 是无序的、不可重复的,value 是无序的、可重复的,每个键最多映射到一个值。...

2022-08-15 16:12:32 654

原创 多线程与高并发(12)——经典面试题之写一个固定容量同步容器,拥有put和get方法,以及getCount方法,能够支持2个生产者线程以及10个消费者线程的阻塞调用

写一个固定容量同步容器,拥有put和get方法,以及getCount方法,能够支持2个生产者线程以及10个消费者线程的阻塞调用。

2022-08-11 17:27:10 222

原创 多线程与高并发(11)——经典面试题之实现一个容器,提供两个方法,add,size。

实现一个容器,提供两个方法,add,size。写两个线程,线程 1 添加 10 个元素到容器中,线程 2 实现监控元素的个数,当个数到 5 个时,线程 2 给出提示并结束。

2022-08-09 17:57:05 286

原创 docker(六)数据挂载之数据卷

数据卷可以在容器之间共享和重用,且容器停止或删除后数据卷不受影响,且对数据卷的改动是立即生效的,更新数据卷之后不会影响镜像。

2022-08-08 17:29:41 1839

原创 docker(五)构建私有仓库

这篇文章我们主要讲解创建docker私有仓库。简单概述一下,就是docker提供了一个搭建私有仓库的镜像registry ,运行该镜像的容器并且对外暴露5000端口就算是搭建完成了。

2022-08-08 16:48:15 596

原创 HashMap源码解析(jdk1.8,万字大章,图文并茂)

1、hash冲突是因为hash函数计算后,值相同,占数组里的同一个位置导致的;2、数组+链表+红黑树,几个数:16,0.75,12,8,64,扩容是2倍,HashMap 总是使用 2 的幂作为哈希表的大小。3、HashMap 可以存储 null 的 key 和 value,但 null 作为键只能有一个,null 作为值可以有多个。...

2022-07-29 16:39:37 346

原创 docker(四)运行java程序

docker运行java程序

2022-07-25 14:55:52 5217

原创 docker(三)定制私有镜像

定制镜像,是以一个镜像为基础,在其上进行定制。

2022-07-18 10:48:37 691

原创 多线程与高并发(10)——ThreadLocal解析

每个Thread中都具备一个ThreadLocalMap,而ThreadLocalMap可以存储以ThreadLocal为 key ,Object 对象为 value 的键值对。

2022-07-11 16:52:04 387

jdk1.8 API中文版

jdk1.8 API中文版

2023-05-24

VLC-4.0.0-安装包

此安装包为VLC安装包,版本为VLC-4.0.0-dev,解压即可用,可用于rtsp/rtmp/hls/http/m3u8等的播放

2020-11-06

ffmpeg安装包windows版--解压可用

ffmpeg安装包windows版--解压可用,解压后可直接进入bin目录,cmd命令下输入ffmpeg操作

2020-11-06

空空如也

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

TA关注的人

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