自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记录一下U盘删除卷的恢复方法

###2、在磁盘管理工具中找到你的系统U盘,然后选择“删除卷”。(本次是模拟删除了,如果是勿删了就别再操作了)####1、按Win+R输入diskmgmt.msc并按Enter键打开磁盘管理工具。####7、然后下一步,下一步 最后完成就可以了。####5、默认获取磁盘(U盘)的最大可用空间。选择此电脑分配的盘符,已存在的盘符是选择不了的。####4、弹出页面后下一步就行。####3、新建简单卷。####6、选择盘符。

2023-11-01 10:33:03 548

原创 Java 导出excel,大量数据下拉(有效性)

Java excel下拉

2023-08-25 16:36:03 379

原创 使用JAVA工具类进行邮件发送

使用JAVA工具类进行邮件发送文章目录使用JAVA工具类进行邮件发送前言一、前期准备工作二、使用步骤1.引入依赖2.进行发送邮件总结前言提示:我们在开发过程中,经常遇到发送邮件的需求,我们往往需要考虑怎么去开发,考虑关于邮件的兼容性,很多让人烦恼的关联事务。提示:以下是本篇文章正文内容,下面案例可供参考一、前期准备工作准备账号开通支持smtp发送服务大部分使用的邮箱有两种(QQ邮箱和163网易邮箱),这里分别介绍怎么进行开通smtp服务的。。QQ邮箱开通SMTP服务使用QQ邮箱进行

2021-08-15 13:57:38 654

原创 乐观锁--CAS

CAS定义CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。 如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值 。否则,处理器不做任何操作。无论哪种情况,它都会在 CAS 指令之前返回该 位置的值。(在 CAS 的一些特殊情况下将仅返回 CAS 是否成功,而不提取当前 值。)CAS 有效地说明了“我认为位置 V 应该包含值 A;如果包含该值,则将...

2020-05-05 20:33:32 318

原创 单例模式

单例模式有几种?饿汉式、懒汉式。这两种是最常见的。还有几种是对其扩展的。具体如下:我们可以从上图看到,共有六种方式。其中在懒汉式基础上扩展的有两种。即:加锁的懒汉式及双重判断加锁的懒汉式还有一种是使用内部类实现的。即:内部静态类的最后一种是比较少见的。使用枚举的。我们来看看每种方式代码都怎么写。懒汉式:懒汉式优缺点:饿汉式:饿汉式的优缺点及适用场景:加锁懒汉式的由来:...

2020-05-05 15:10:50 122

转载 简述-Http

http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。HTTP的状态1.1定义:HTTP无状态协议,是指协议对于交互性场景没有记忆能力。1.2举个例子:在点击一...

2020-04-30 23:13:20 369

转载 TCP三次握手和四次挥手

序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序号;序列号表示报文段携带数据的第一个字节的编号;而确认号指的是期望接收到下一个字节的编号;因此当前...

2020-04-30 22:43:34 94

原创 cookies和session的区别

1、数据存放位置不同:cookie数据存放在客户的浏览器上,session数据放在服务器上。2、安全程度不同:cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKI欺骗,考虑到安全应当使用session。3、性能使用程度不同:session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。4、数据...

2020-04-30 22:38:45 315

转载 SQL连接查询

sql连接查询:把多张表的列组合在一起,产生新的结果表。1、内连接1.1 inner join相等连接1.2 natural join自然连接1.3 cross join交叉连接2、外连接2.1 left join左外连接2.2 right join右外连接2.3 full join全连接3、自连接内连接内连接将A表中的每一行和B表中的每一行进行比较,并找出满足连接谓词的组...

2020-04-28 21:34:59 928

原创 Linux常用命令

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 U...

2020-04-28 21:27:56 132

转载 SpringMVC的工作流程和常用注解

SpringMVC框架介绍spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而...

2020-04-28 21:11:19 204

原创 Nginx介绍

Nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师伊戈尔·西索夫(Igor Sysoev)所开发,官方测试 nginx 能够支支撑 5 万并发链接,并且 cpu、内存等资源消耗却非常低,运行非常稳定。Nginx 应用场景:1、http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态...

2020-04-27 21:01:37 226

转载 redis的持久化方案

缓存击穿缓存只是为了缓解数据库压力而添加的一层保护层,当从缓存中查询不到我们需要的数据就要去数据库中查询了。如果被黑客利用,频繁去访问缓存中没有的数据,那么缓存就失去了存在的意义,瞬间所有请求的压力都落在了数据库上,这样会导致数据库连接异常。解决方案:1、后台设置定时任务,主动的去更新缓存数据。这种方案容易理解,但是当key比较分散的时候,操作起来还是比较复杂的2、分级缓存。比如设置两层缓...

2020-04-26 20:44:29 428 1

原创 Redis的过期策略和淘汰策略

redis 过期策略都有哪些,有事怎样删除的 ?过期删除策略:定时删除在设置键的过期时间的同时,创建一个定时器,让定时器在键的过期时间来临时,立即执行对键的删除操作。优点:对内存最友好的。可以及时释放键所占用的内存。缺点:对 CPU 不友好。特别在过期键比较多的情况下,删除过期键会占用相当一部分 CPU 时间。同时在内存不紧张,CPU紧张的情况下,将 CPU 用在删除和当前任务不想关...

2020-04-26 20:23:40 99

转载 布隆过滤器

缓存穿透缓存穿透,是指查询一个数据库一定不存在的数据。正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进缓存。如果数据库查询对象为空,则不放进缓存。布隆过滤器(Bloom Filter)它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都...

2020-04-25 21:06:10 134

原创 Redis分布式锁

关于分布式锁,可能绝大部分人都会或多或少涉及到。举例说明:从前端界面发起一笔支付请求,如果前端没有做防重处理,那么可能在某一个时刻会有二笔一样的单子同时到达系统后台。分布式锁的实现随着业务发展的需要,原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,单纯的Java API并不能提供分布式锁的能力。为了...

2020-04-25 21:02:02 92

原创 Redis简介

Redis 概述在我们日常的Java Web开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统在极短的时间内完成成...

2020-04-25 20:31:30 125

转载 HashMap的数据结构,哈希冲突,JDK1.7和JDK1.8 HashMap的区别

1.JDK1.7HashMap是Java中大家最常用的一个map实现类,其为键值对也就是key-value的形式。他的数据结构则是采用的位桶和链表相结合的形式完成了,即拉链法。具体如下图所示:如果两个key通过int index = hash % Entry[].length得到了相同的index(hash冲突),就会跟在之间那个entry连接在后面,也就是按照顺序存储在后面的链表中,也就是...

2020-04-24 21:43:06 265

原创 CAP 理论与BASE理论

CAP理论是:分布式系统在设计时只能在一致性(Consistency)、可用性(Availability)、分区容忍性(PartitionTolerance)中满足两种,无法兼顾三种。一致性(Consistency):服务A、B、C三个结点都存储了用户数据, 三个结点的数据需要保持同一时刻数据一致性。可用性(Availability):服务A、B、C三个结点,其中一个结点宕机不影响整个集...

2020-04-24 21:26:51 410

原创 分布式事务 解决2PC,TCC以及基于消息的最终一致性

什么是分布式系统?部署在不同结点上的系统通过网络交互来完成协同工作的系统。比如:充值加积分的业务,用户在充值系统向自己的账户充钱,在积分系统中自己积分相应的增加。充值系统和积分系统是两个不同的系统,一次充值加积分的业务就需要这两个系统协同工作来完成。什么是分布式事务?在分布式系统中一次操作由多个系统协同完成,这种一次事务操作涉及多个系统通过网络协同完成的过程称为分布式事务。这里强调的是...

2020-04-24 21:23:55 634

转载 事务的特性 分布式事务 本地事务

数据库事务具备四大特性(ACID),分别是:1.原子性(Atomicity):事务被视为不可分割的最小单元,要么全部提交成功,要么全部失败回滚。2.一致性(Consistency):事务执行前后都保持一致性状态。在一致性状态下,所有事务对一个数据的读取结果都是相同的。3.隔离性(Isolation):一个事务所做的修改在最终提交以前,对其它事务是不可见的。4.持久性(Durability)...

2020-04-23 21:06:15 141

原创 数据库的锁分类(掌握行锁,表锁,共享锁,排他锁)

当插入数据时,就锁定表,这叫做”锁表”;当更新数据时,就锁定行,这叫做”锁行”。锁在数据网络传输中是一个非常重要的概念,当多个用户对数据库进行操作时,会带来数据不一致的情况,所以,锁主要是在多用户情况下保证数据库数据完整性和一致性。当然,数据库中的锁远不止于上面提到的两种。通常提及数据库锁,想必大家优先想到的,必然是乐观锁,数据库乐观锁可以帮助我们解决很多问题,但数据库中还有很多其它的锁,总...

2020-04-23 20:57:32 893

原创 数据库优化----结构优化

前面介绍了索引,其实最重要的是数据库表结构对数据库的影响,良好的数据库逻辑设计和物理设计是数据库获取高性能的基础,数据库结构优化的目的:1、减少数据冗余,数据冗余是指相同的数据在多个地方存在,表中的某个列可以在其他某个列中获取到,2、尽量避免数据维护中出现更新、插入和删除异常,插入异常指的是,3、节约数据库存储空间。一.首先我们选择合适的数据类型数据类型的选择,重点在于“合适”二字,如何确定...

2020-04-22 20:55:20 1652

原创 MySQL优化-----索引

 对于我们经常提到的索引,就会有人说什么是索引?它的数据结构有什么?又是如何创建的?索引是为来加速对表中数据行中的检索而创建的一种分散的数据结果,时针对表而建立的,它是由数据页面以外的索引页面组成,每个索引页中的行都含有逻辑指针,以便加速检索物理数据。举个例子:索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。  数据结构有什么?你知道吗?  数据结构有: ...

2020-04-21 21:26:10 100

原创 Spring Security Oauth2 JWT----单点登录、注销、续签的问题

什么是用户身份认证? 用户身份认证即用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问。常见的用户身份认证表现形式有:用户名密码登录,指纹打卡等方式。什么是用户授权? 用户认证通过后去访问系统的资源,系统会判断用户是否拥有访问资源的权限,只允许访问有权限的系统资源,没有权限的资源将无法访问,这个过程叫用户授权。单点登录只要进行单点登录,就可以访问多个模块。 单点...

2020-04-21 15:10:46 7197 7

原创 Tomcat 的类加载器

我们知道,Java默认的类加载机制是通过双亲委派模型来实现的。而Tomcat实现的方式又和双亲委派模型有所区别。原因在于一个Tomcat容器允许同时运行多个Web程序,每个Web程序依赖的类又必须是相互隔离的。因此,如果Tomcat使用双亲委派模式来加载类的话,将导致Web程序依赖的类变为共享的。举个例子,假如我们有两个Web程序,一个依赖A库的1.0版本,另一个依赖A库的2.0版本,他们都使用...

2020-04-20 21:09:03 183

原创 Java的类加载器(ClassLoader)

当程序主动使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、连接、初始化3个步骤来对该类进行初始化。如果没有意外,JVM将会连续完成3个步骤,所以有时也把这个3个步骤统称为类加载或类初始化。类的加载过程— 加载:类加载过程的一个阶段:通过一个类的完全限定查找此类字节码文件,并利用字节码文件创建一个Class对象。— 验证:目的在于确保Class文件的字节流中包含信息符合当前虚拟...

2020-04-17 21:41:08 113

原创 微信小程序登录流程

说明:1、调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。2、调用 code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key。之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。注意:1、会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自...

2020-04-15 21:34:13 281

原创 Spring中的IOC和AOP

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服...

2020-04-14 22:01:38 604

转载 Windows环境搭建RabbitMQ集群

一、事先准备:1.两台windows主机,当然也可以用虚拟机。2.安装erlang以及rabbitmq二、安装完成的单台rabbitmq服务情况1.两台windows主机rabbitmq相关内容:a:192.168.0.88 rabbitmq节点名称:rabbit@LAPTOP-UO88M5R6b: 192.168.0.184 rabbitmq节点名称:rabbit@USER-2016...

2020-04-13 20:54:34 1066

原创 JVM优化--垃圾回收

1、什么是垃圾回收?程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存 资源,最终将导致内存溢出,所以对内存资源的管理是非常重要了。1.1、C/C++语言的垃圾回收在C/C++语言中,没有自动垃圾回收机制,是通过new关键字申请内存资源,通过delete关键字释放内存资源。如果,程序员在某些位置没有写delete进行释放,那么申请的对象将一直占用内存资源,最终可能...

2020-04-12 22:55:42 180

原创 JVM优化--内存结构

1、我们为什么要对jvm做优化?在本地开发环境中我们很少会遇到需要对jvm进行优化的需求,但是到了生产环境,我们可能将有下面的需求: (1)运行的应用“卡住了”,日志不输出,程序没有反应(2)服务器的CPU负载突然升高(3)在多线程应用下,如何分配线程的数量?……所以我们不仅要让程序能跑起来,而且是可以跑的更快!可以分析解决在生产环境中所遇到的各种“棘手”的问题。说明:本套课程使用的...

2020-04-12 22:02:30 81

原创 JVM的优化

我们首首先要了解1.8jdk1、我们为什么要对jvm做优化?在本地开发环境中我们很少会遇到需要对jvm进行优化的需求,但是到了生产环境,我们可能将有下面的需求: (1)运行的应用“卡住了”,日志不输出,程序没有反应(2)服务器的CPU负载突然升高(3)在多线程应用下,如何分配线程的数量?……所以我们不仅要让程序能跑起来,而且是可以跑的更快!可以分析解决在生产环境中所遇到的各种“棘手”...

2020-04-12 21:50:37 4737

转载 MQTT协议

MQTT协议一、简述MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协...

2020-04-10 21:28:48 426

空空如也

空空如也

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

TA关注的人

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