自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 类加载过程

类加载过程系统加载class文件可分为加载->连接->初始化,连接可分为验证->准备->解析。加载1.通过全类名获取定义此类的二进制字节流。2.将字节流所代表的静态存储结构转换为发方法区的运行时的数据结构3.在内存中生成一个代表该类的class对象,作为方法区这些数据的访问入口一个非数组类的加载阶段(加载阶段获取类的二进制字节流的动作)是可控性最强的阶段,这一步我们可以去完成还可以自定义类加载器去控制字节流的获取方式(重写一个类加载器的 loadClass()

2020-09-03 10:07:50 87

原创 JVM内存模型

一、程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数器来完成。另外,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各线程之间计数器互不影响,独立存储,我们称这类内存区域为“线程私有”的内存。从上面的介绍中我们知道程序计数器主要有两个作用:字节码解释器通过改变程序计数器来依次读取指令,从而实现

2020-09-02 15:47:52 75

原创 mysql学习整理

MySQLmysql是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。MySQL的默认端口号是3306。存储引擎查看mysql提供的所有引擎,当前的默认存储引擎是InnoDB,并且在5.7版本中所有的引擎中只有InnonDB支持事务查看MySQL当前默认的存储引擎show variables like '%storage_engine%';MyISAM和InnoDB区别在5.5以前,mysql的默认存储引擎是MyIsam,性能

2020-09-02 13:51:22 104

原创 消息队列学习

消息队列的主要使用场景:解耦、异步、削峰解耦:一个系统或者一个模块调用多个系统时,互相之间的调用复杂,维护麻烦,不需要同步进行的接口可以借用MQ异步解耦异步:不需要同步的数据借用MQ异步处理,减少接口调用时间削峰:高峰期请求先打入MQ,mysql每秒处理数2000。消息队列缺点(1):系统可用性降低(2):系统复杂度提高(3):一致性问题如何保证消息不被重复消费重复消费场景:处理失败导致重发消息,多线程下会造成多次重发。采用幂等处理幂等性:一个数据,或者一个.

2020-09-01 14:31:11 151

原创 redis学习

redis基础知识:有五种基本数据类型。(1)字符串类型(String)(2)散列类型(hash)(3)列表类型(list)(4)集合类型(set)(5)有序集合类型(zet)redis为什么快(1)数据存在内存上(2)数据结构简单(3)采用单线程,不用考虑多线程环境下的并发操作(4)使用多路 I/O 复用模型,非阻塞IOredis三种集群模式(1)主从模式(2)哨兵模式(3)Cluster集群模式redis持久化持久化简而言之就是将内存中的数据保

2020-09-01 12:15:07 64

原创 Redis缓存雪崩、击穿、穿透

1.redis缓存雪崩比如说双11晚上12点开始大量的用户开始请求,这是刚好有大量的热点数据过期,所有的请求都打到了数据库,造成数据库宕机,这就是缓存雪崩。处理方法:(1):存储热点数据时设置有效期为随机值,保证数据不会在统一时间大面积失效(2):设置热点数据永不过期2.redis缓存穿透redis和数据库都没有该数据,黑客利用该漏洞大量请求,所有请求都打到数据库处理方法:(1):当redis和数据库都没有该值时往redis里面存入一个占位符,当有请求过来时在redis.

2020-08-31 15:06:43 97

转载 归档delete删除数据引发select查询慢的问题

比如说存在一个用户数据表,并且这个表没有添加索引。这个表里的数据每天都要进行归档操作,把用户数据表里的数据转移到另外一个表,然后delete以前的数据。时间一长这就可能造成查询速度慢。原因是数据库碎片引起的,那什么是数据库碎片。了解数据库碎片之前,先要了解一个词:水位线。什么是水线(High Water Mark)?     所有的Oracle段(segments,在此,为了理解方便,建...

2018-07-20 17:03:19 2175

原创 javaweb文件上传和下载实现

在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。一、实现文件的上传       1.1 前端页面html代码如下<input class="inputFile" type="file" name="" value="">           js代码如下 // 监控上传后的事...

2018-07-19 15:47:37 292

空空如也

空空如也

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

TA关注的人

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