自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (4)
  • 收藏
  • 关注

原创 JAVA中的集合

集合类用于存储一组对象,其中的每个对象称之为元素,在java.util包中提供了所有使用到的集合类集合类存放的都是对象的引用,而非对象本身,集合也不能存储基本数据类型ava中集合类主要有4种类型:Set(集)、List (列表)、Queue(队列)、Map(映射)集合类的主要方法:1.添加、删除操作,例如add(添加)、addAll(添加所有)、remove(删除)、removeAll(删除所有)等2.查询操作,例如size(长度)、isEmpty(判断是否为空)、contains、iterato

2021-12-16 11:41:35 2234 4

原创 Docker进阶

swarm集群的管理和编号。docker可以初始化一个swarm集群,其他节点可以加入。(管理、工作者)Node就是一个docker节点。多个节点就组成了一个网络集群。(管理、工作者)service任务,可以在管理节点或者工作节点来运行。核心。!用户访问!Task客器内的命令,细节任务![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6JQFSVUW-1658059434819)(Docker进阶.assets/1658058602191.png)]逻辑是不变的。...

2022-07-18 10:00:00 334 2

原创 双亲委派机制

采用双亲委派的一个好处是比如加载位于rt.jar包中的类java.lang.Object,不管是哪个加载。类去完成,每一个层次类加载器都是如此,因此所有的加载请求都应该传送到启动类加载其中,器加载这个类,最终都是委托给顶层的启动类加载器进行加载,这样就保证了使用不同的类加载。只有当父类加载器反馈自己无法完成这个请求的时候(在它的加载路径下没有找到所需加载的。当一个类收到了类加载请求,他首先不会尝试自己去加载这个类,而是把这个请求委派给父。Class),子类加载器才会尝试自己去加载。...

2022-07-17 17:17:15 257

原创 MySQL高级篇4

MVCC (Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC 是通过数据行的多个版本管理来实现数据库的。这项技术使得在InnoDB的事务隔离级别下执行操作有了保证。换言之,就是为了查询一些正在被另一个事务更新的行,并且可以看到它们被更新之前的值,这样在做查询的时候就不用等待另一个事务释放锁。MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能,用更好的方式去处理,做到即使有读写冲突时,也能做到,,而这个读指的就是, 而非。当前读实际上是

2022-07-01 10:00:00 394

原创 MySQL高级篇3

事务有4种特性:原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢?一方面,缓冲池可以帮助我们消除CPU和磁盘之间的鸿沟,checkpoint机制可以保证数据的最终落盘,然而由于checkpoint的,而是master线程隔一段时间去处理的。所以最坏的情况就是事务提交后,刚写完缓冲池,数据库宕机了,那么这段数据就是丢失的,无法恢复。另一方面,事务包含的特性,就是说对于一个已经提交的事务,在事务提交后即使系统发生了崩溃,这个事务对数据库中所做的更改也不能丢失。那么如何保证这个持久性呢?

2022-06-30 10:00:00 214

原创 MySQL高级篇2

索引结构给我们提供了高效的索引方式,不过索引信息以及数据记录都保存在文件上的,确切说是存储在页结构中。另一方面,索引是在存储引擎中实现的,MySQL服务器上的负责对表中数据的读取和写入工作。不同存储引擎中一般不同的,甚至有的存储引擎比如Memory都不用磁盘来存储数据。由于是MySQL的,所以本章剖析InooDB存储引擎的数据存储结构。InnoDB将数据划分为若干个页,InnoDB中页的大小默认为。以作为磁盘和内存之间交互的基本单位,也就是一次最少从磁盘中读取16KB的内容到内存中,一次最少把内存中的16K

2022-06-29 10:00:00 319

原创 MySQL高级篇1

检查mysql service:1.2 MySQL的卸载1. 关闭 mysql 服务2. 查看当前 mysql 安装状况3. 卸载上述命令查询出的已安装程序务必卸载干净,反复执行确认是否有卸载残留4. 删除 mysql 相关文件删除上述命令查找出的相关文件5.删除 my.cnf2. MySQL的Linux版安装2.1 CentOS7下检查MySQL依赖1. 检查/tmp临时目录权限(必不可少)由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所

2022-06-28 10:00:00 755

原创 MySQL基础3

视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。精简版4. 查看视图语法1:查看数据库的表对象、视图对象语法2:查看视图的结构语法3:查看视图的属性信息执行结果显示,注释Comment为VIEW,说明该表为视图,其他的信息为NULL,说明这是一个虚表。语法4:查看视图的详细定义信息5. 更新视图的数据5.1 一般情况MySQL支持使用INSERT、UPDATE和DELETE语句对视图中的数据进行插入、更新和删除操作。当视图中的数据发生

2022-06-27 10:00:00 1387

原创 MySQL基础2

可以对数值型数据使用AVG 和 SUM 函数。1.2 MIN和MAX函数可以对任意数据类型的数据使用 MIN 和 MAX 函数。1.3 COUNT函数COUNT(*)返回表中记录总数,适用于任意数据类型。COUNT(expr) 返回expr不为NULL的记录总数。问题:用count(*),count(1),count(列名)谁好呢?其实,对于MyISAM引擎的表是没有区别的。这种引擎内部有一计数器在维护着行数。Innodb引擎的表用count(*),count(1)直接读行数,

2022-06-26 21:15:25 469

原创 MySQL基础篇1

DB:数据库(Database)DBMS:数据库管理系统(Database Management System)SQL:结构化查询语言(Structured Query Language)非关系型数据库,可看成传统关系型数据库的功能阉割版本,基于键值对存储数据,不需要经过SQL层的解析,性能非常高。同时,通过减少不常用的功能,进一步提高性能。MySQL5.7中问题再现:命令行操作sql乱码问题问题解决步骤1:查看编码命令步骤2:修改mysql的数据目录下的my.ini配置文件步骤3:重启服务步骤4:查

2022-06-26 21:13:05 135

原创 Redis面试题

Redis持久化策略有两种:RDB和AOFRDB是Redis默认的持久化策略。RDB持久化的机制是在指定时间间隔内生成数据快照,就是将内存中的数据以快照的方式写入到二进制文件中(默认保存到dump.rdb文件中),然后每次Redis重新启动都会自动加载快照文件中的数据到内存中还可以手动执行命令生成RDB快照,进入redis客户端执行命令save或bgsave可以生成dump.rdb文件,每次命令执行都会将所有redis内存快照到一个新的rdb文件里,并覆盖原有rdb快照文件save是同步命

2022-06-19 17:20:10 243

原创 SpringSecurity

-->用户名存在后进入,核实密码是否正确,密码未加密-->先创建PasswordEncoder接口实现类实例@Configurationpublic class SecurityConfig { @Bean public PasswordEncoder passwordEncoder() { return new MyPasswordEncoder(); }}-->接口实现类实例验证未加密状态密码public class MyPasswordEncoder implements

2022-06-08 19:43:17 117

原创 SpringBoot

`java> starter启动器,启动器运行时生效> autoConfigure> spring-boot-autoConfigure> mybatis-spring-boot-autoConfigure> > matadata.json-->配置信息,默认值,有则写,没有不写> > spring.factories-->Auto Configure-->configuration类型环境装配,初始化创建对象 ctrl+n> springfactoriesloader加

2022-06-05 09:56:12 350

原创 SSM详解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uebV4tVc-1654393801942)(C:\Users\纵横\AppData\Roaming\Typora\typora-user-images\image-20210608183852358.png)]

2022-06-05 09:52:18 413

原创 Java 笔记

注解元注解–>meta-annotation@Target-->注解的使用范围@Retention-->注解的声明周期--source<class<runtime@Documented-->注解包含在javadoc中 @Inherited-->子类可以继承父类中的注解自定义注解@interface@Target(value = {ElementType.TYPE, ElementType.FIELD, ElementType.METHOD

2022-05-29 10:00:00 117

原创 NIO BIO AIO

BIOIO流类的体系1、InputStream/OutputStream :字节流的抽象类2、Reader/Writer :字符流的抽象类3、FileInputStream/FileOutputStream :节点流,以字节为单位直接操作“文件”4、ByteArrayInputStream/ByteArrayOutputStream :节点流,以字节为单位直接操作“字节数组对象”5、DataInputStream/DataOutputStream:数据流,可操纵数据类型6、Obje

2022-05-28 12:16:44 93

原创 JAVA算法

基本算法算法总结基本算法时空复杂度:选择排序import java.util.Arrays;public class 选择排序 { public static void main(String[] args) { int[] arr={5,4,6,2,1,7,0,9,8,3}; int[] res = sort(arr); System.out.println(Arrays.toString(res)); } public static int[] s

2022-05-25 10:00:00 251

原创 java数据结构

*/import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/**基于树形结构实现元素存储的容器*///一个节点就是一个元素public class Text5 {//子节点映射父节点private Map<E,E> aa=new HashMap<>();//父节点映射子节点private Map<E,List...

2022-05-24 14:00:00 88

原创 java学习笔记1

HelloWorld//人生中第一个程序,推开源码的世界/** * public 访问修饰符 * static 静态关键字 * void 方法返回值类型,代表无返回值 * main 方法名称 * String[] args 形式参数 * 字符串类型的数组 * 在执行主方法的时候,可以传入一些参数,将来在主方法中,可以接收到这些参数 * Args是一个参数名称,任意修改 * String[]的中括号也可以写到args后面* * System.out

2022-05-24 08:40:12 99

原创 java面试题

JavaOOP面试题什么是B/S架构?什么是C/S架构?1、B/S(Browser/Server):浏览器/服务器程序2、C/S(Client/Server):客户端/服务端Java开发平台1、JAVA SE:主要用在客户端开发2、JAVA EE:主要用在web应用程序开发3、JAVA ME:主要用在嵌入式应用程序开发JDK、JRE、JVM、JIT1、JDK:java development kit:java开发工具包,是开发人员所需要安装的环境2、JRE:java runti

2022-05-23 20:15:01 345

原创 Kafka

Kafka为什么要使用消息队列1.使用同步的通信方式解决多个服务之间的通信[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f6v9N9zl-1653142857621)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\1652791725686.png)]同步的通信方式会存在性能和稳定性的问题使用异步的通信方式[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pVVh10

2022-05-21 22:21:59 230

原创 PostgreSQL

PostgreSQL简介:PostgreSQL是一个自由的对象-关系数据库服务器(数据库管理系统),是从伯克利写的 POSTGRES 软件包发展而来的。经过十几年的发展,PostgresQL 是世界上可以获得的最先进的开放源码的数据库系统,它提供了多版本并发控制,支持几乎所有sQL语句(包括子查询,事务和用户定义类型和函数),并且可以获得非常广阔范围的(开发语言绑定(包括c,c+t,Java,perl,python,php,nodejs,ruby) .数据库排名: DB-Engines Ranking

2022-05-18 10:00:00 1979

原创 MongoDB

MongoDB文档地址: What is MongoDB? — MongoDB Manual简介说明官方MongoDB是一个文档数据库,旨在方便应用开发和扩展。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ak70Ne1J-1652786798071)(MongoDB.assets/1652526836510.png)]百度百科MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展高性能数据存储解决方案。

2022-05-17 19:27:32 2941

原创 Docker

参考资料官方文档:Redirecting…【官方文档超级详细】仓库地址:Docker Hub【发布到仓库,git pull push】b站教程:【狂神说Java】Docker最新超详细版教程通俗易懂_哔哩哔哩_bilibili?【这个教程非常简洁!且深入!基于企业应用场景!推荐!以下笔记都基于该课程】前期基础linux基本命令,类似cd,mkdir等Docker概述Docker为什么会出现一款产品,开发和上线两套环境,应用环境配置费时费力,而且容易出问...

2022-05-15 10:00:00 575

原创 SpringBoot 整合RabbitMQ

导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>

2022-05-10 20:17:51 368

原创 SpringBoot集成ElasticSearch

依赖<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>7.6.2</version></dependency>配置基本项目:配置类:package com.l.

2022-05-05 10:00:00 364

原创 ElasticSearch 关于文档的基本操作

PUT /test1/type1/1{ "name": "是阿离啊", "age": 18}PUT /test2{ "mappings": { "properties": { "name": { "type": "text" }, "age":{ "type": "long" }, "birthday":{ "type": "date" } } }.

2022-05-04 10:00:00 223

原创 多线程编程

Callable jdk8api在这里可以看出几个关键点:1、可以又返回值 2、可以抛出异常 3、方法不同,run()/ call()import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;public class CallableTest { public static void ma

2022-05-02 10:00:00 146

原创 四大函数试接口

新时代的程序员:lambda表达式、链式编程、函数式接口、Stream流式计算函数式接口:只有一个方法的接口@FunctionalInterfacepublic interface Runnable { public abstract void run();}//简化编程模型,在新版本的框架底层大量应用//foreach(消费者类型的函数式接口)代码测试:函数式接口:funcationimport java.util.function.Functio.

2022-05-02 10:00:00 483

原创 集合类不安全

代码:import java.util.*;import java.util.concurrent.CopyOnWriteArrayList;// ConcurrentModificationExceptionpublic class ListTest { public static void main(String[] args) { //并发下 ArrayList 不安全 /** * 解决方案: * 1.使用Vec

2022-04-29 10:00:00 109

原创 多线程编程

多线程买火车票 如果不加锁的话顺序会乱而且会多卖相同的票synchronized 锁实现买票public class SaleTicketDemo01 { public static void main(String[] args) { Ticket ticket = new Ticket(); new Thread(() -> { for (int i = 0; i < 10; i++) {

2022-04-28 15:10:07 623

原创 HTTPS工作原理

HTTPS工作原理 1、首先HTTP请求服务端生成证书,客户端对证书的有效期、合法性、域名是否与请求的域名一致、证 书的公钥(RSA加密)等进行校验; 2、客户端如果校验通过后,就根据证书的公钥的有效, 生成随机数,随机数使用公钥进行加密(RSA 加密); 3、消息体产生的后,对它的摘要进行MD5(或者SHA1)算法加密,此时就得到了RSA签名; 4、发送给服务端,此时只有服务端(RSA私钥)能解密。 5、解密得到的随机数,再用AES加密,作为密钥(此时的密钥只有客户端和服务端.

2022-04-27 08:10:02 2896

原创 分布式事务

常见分布式事务解决方案1、 seata 阿里分布式事务框架(首推AT)2、消息队列(TCC)3、 saga(Saga)4、XA(XA)他们有一个共同点,都是"两阶段(2PC)".“两阶段"是指完成整个分布式事务,划分成两个步骤完成。实际上,这四种常见的分布式事劳解决方案,分别对应着分布式事务的四种模式:AT、TCC、Saga、XA;四种分布式事务模式,都有各自的理论基础,分别在不同的时间被提出;每种模式都有它的适用场景,同样每个模式也都诞生有各自的代表产品;而这些代表产品,可能就是我

2022-04-23 21:00:02 258

原创 java堆排序

堆排序是借助堆来实现的选择排序,思想同简单的选择排序,以下以大顶堆为例。注意:如果想升序排 序就使用大顶堆,反之使用小顶堆。原因是堆顶元素需要交换到序列尾部。 首先,实现堆排序需要解决两个问题: 如何由一个无序序列键成一个堆? 如何在输出堆顶元素之后,调整剩余元素成为一个新的堆? 第一个问题,可以直接使用线性数组来表示一个堆,由初始的无序序列建成一个堆就需要自底向上从第 一个非叶元素开始挨个调整成一个堆。 第二个问题,怎么调整成堆?首先是将堆顶元素和最后一个元素交换。然后比较当前

2022-04-21 19:50:13 756

原创 BIO,NIO,AIO 有什么区别?

简答 BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并 发处理能力低。 NIO:Non IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。 AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。 详细回答 BIO (Blocking I/O): 同步阻塞I/O模式,数据的..

2022-04-19 19:26:13 136

原创 SpringCloud

微服务架构4个核心问题1.服务很多,客户端该怎么访问?2.这么多服务?服务间如何通信3.这么多服务?如何治理4.服务挂了怎么办?解决方案:Spring Cloud 它是你个生态!1.Spring Cloud NetFlix 一站式解决方案api网关,zuul组件Feign HttpClinet Http通信方式,同步,阻塞服务注册于发现:Eureka熔断机制:Hystrix2.Apache Dubbo Zookeeper 半自动,需要整合别人的API:没有

2022-04-15 10:00:00 492

原创 Redis 持久化

Redis持久化分为两种 AOF RDB:RDB:在主从复制中rdb就是备用了 从机上面在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。Redis会单独创建 ( fork )一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的。这就确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RD

2022-04-14 10:00:00 333

原创 redis事务

Redis事务本质:一组命令的集合,一个事务中的所有命令都会被序列化,在事务执行过程中会按照顺序执行一次性,顺序性,排他性,执行一系列的命令Redis事务没有隔离级别的概念所有的命令在事务中,并没有直接被执行,只有发起执行的命令才会执行Redis单条命令是保证原子性的,但是事务不保证原子性redis的事务:开启事务(multi)命令入队执行事务(exec)测试开启事务127.0.0.1:6379[1]> multiOK命令入队127.0.0.1:637

2022-04-13 10:00:00 79

原创 Redis另外三种特殊的类型

reids在3.2版本就推出了地理位置这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人!相关命令:添加数据 规则:两级无法直接添加 可以通过java程序一次性导入该命令采用标准格式 x,y 的参数,因此必须在纬度之前指定经度。可以索引的坐标存在限制:非常靠近极点的区域不可索引。EPSG:900913 / EPSG:3785 / OSGEO:41001规定的确切限制如下:有效经度为 -180 到 180 度。 有效纬度为 -85.05112878 到 85.05112

2022-04-12 10:00:00 113

原创 mybatis缓存

缓存:原始意义是指访问速度比一般随机存取存储器(RAM)快的一种高速存储器,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。缓存的设置是所有现代计算机系统发挥高性能的重要因素之一。缓存的好处:缓存主要是为了提高数据的读取速度。因为服务器和应用客户端之间存在着流量的瓶颈,所以读取大容量数据时,使用缓存来直接为客户端服务,可以减少客户端与服务器端的数据交互,从而大大提高程序的性能使用缓存可以减少与数据库交互的次数,减少系统开销,提高系统效率缓存运用的场景:经常查询且不经常改

2022-04-11 10:00:00 966

apifor-2.1.27 windows版下载

apifor-2.1.27 windows版下载

2022-10-21

GoLang1.18.4下载

GoLang1.18.4下载

2022-08-05

apipost6.1.0下载

apipost6.1.0下载

2022-04-24

Vscode压缩包下载

Vscode压缩包下载

2022-04-22

Dubbo Admin2.5.0 jar包

Dubbo Admin2.5.0 jar包

2022-04-22

空空如也

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

TA关注的人

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