自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

感冒石头的博客

知识探讨

  • 博客(24)
  • 资源 (20)
  • 收藏
  • 关注

原创 java 之常量池

常量池是为了避免频繁的创建和销毁对象而影响系统性能,其实现了对象的共享。Java中的常量池,实际上分为两种形态:静态常量池和运行时常量池。结构存储:常量池都存在堆中,Double,Float不是常量并没有常量池,凡是new 一个对象就不是常量在java中 ==表示引用地址比较,equals表示值的比较常量池例子:String s1 = "Hello";String s2 = "H...

2019-12-29 19:57:05 208 1

原创 java之并发工具类屏障(CyclicBarrier )以及CountDownLatch 、Semaphore之间区别

1、CountDownLatch :能够使一个或多个线程等待其他线程完成各自的工作后再执行2、CyclicBarrier : 让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行。3、Semaphore : 用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理地使用公共资源4、Exchanger: 用于线程间...

2019-12-29 15:11:50 520 1

原创 java之并发工具类计数器(CountDownLatch)

java并发工具类1、CountDownLatch :能够使一个或多个线程等待其他线程完成各自的工作后再执行2、CyclicBarrier : 让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行。3、Semaphore : 用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理地使用公共资源4、Exchanger...

2019-12-29 14:44:40 2294 1

原创 springcloud之微服务Hystrix 组件原理实现

springcloud常用组件1、服务注册与发现:Eureka2、服务网关: Zuul3、服务负载均衡:Ribbon4、服务之间调用:Feign5、服务熔断:Hystrix---因官网不继续维护,可以使用阿里提供的Alibaba Sentinel轻量级的流量控制、熔断降级 Java 库6、配置中心:config---如果不想自己维护,可以使用阿里云nacos作为配置中...

2019-12-25 20:42:14 844 1

原创 限流之漏桶算法和令牌桶算法实现区别

问题描述?某天A君突然发现自己的接口请求量突然涨到之前的10倍,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。如何应对这种情况呢?生活给了我们答案:比如老式电闸都安装了保险丝,一旦有人使用超大功率的设备,保险丝就会烧断以保护各个电器不被强电流给烧坏。同理我们的接口也需要安装上“保险丝”,以防止非预期的请求对系统压力过大而引起的系统瘫痪,当流量过大时,可以采取拒绝或者引流等机制。1、漏...

2019-12-24 20:02:03 1457

原创 springcloud之微服务zuul/GateWay组件实现

springcloud常用组件1、服务注册与发现:Eureka2、服务网关: Zuul3、服务负载均衡:Ribbon4、服务之间调用:Feign5、服务熔断:Hystrix---因官网不继续维护,可以使用阿里提供的Alibaba Sentinel轻量级的流量控制、熔断降级 Java 库6、配置中心:config---如果不想自己维护,可以使用阿里云nacos作为配置中...

2019-12-24 17:57:58 1005 1

原创 springcloud之微服务Fegin组件原理实现

springcloud常用组件1、服务注册与发现:Eureka2、服务网关: Zuul3、服务负载均衡:Ribbon4、服务之间调用:Feign5、服务熔断:Hystrix---因官网不继续维护,可以使用阿里提供的Alibaba Sentinel轻量级的流量控制、熔断降级 Java 库6、配置中心:config---如果不想自己维护,可以使用阿里云nacos作为配置中心...

2019-12-22 20:41:06 1102

原创 springcloud之微服务Eureka组件原理实现

springcloud常用组件1、服务注册与发现:Eureka2、服务网关: Zuul3、服务负载均衡:Ribbon4、服务之间调用:Feign5、服务熔断:Hystrix ---因官网不继续维护,可以使用阿里提供的Alibaba Sentinel轻量级的流量控制、熔断降级 Java 库6、配置中心:config ---如果不想自己维护,可以使用阿里云nacos作为配置中心1...

2019-12-21 20:42:58 700 1

原创 java之并发工具类信号量(Semaphore)

java并发工具类1、CountDownLatch :能够使一个或多个线程等待其他线程完成各自的工作后再执行2、CyclicBarrier : 让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行。3、Semaphore : 用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理地使用公共资源4、Exchange...

2019-12-21 17:11:12 266

原创 spring 基础知识

1.控制反转(IOC): 在传统的开发模式下,我们都是采用直接 new 一个对象的方式来创建对象,也就是说你依赖的对象直接由你自己控制,但是有了 IOC 容器后,则直接由 IoC 容器来控制。所以“谁控制谁”,当然是 IoC 容器控制对象。为何是反转:没有 IoC 的时候我们都是在自己对象中主动去创建被依赖的对象,这是正转。但是有了 IoC 后,所依赖的对象直接由 IoC 容器创建后注入到被注入的...

2019-12-20 16:08:13 432 1

原创 mybatis 底层原理

https://blog.csdn.net/qq_41737716/article/details/83552103https://blog.csdn.net/qq_30125555/article/details/87954347后期补充

2019-12-14 16:39:54 120

原创 springboot 启动流程

后期补充​​​​​​​https://www.jianshu.com/p/ef6f0c0de38f

2019-12-14 16:34:33 158

原创 springbean 的加载流程

https://www.jianshu.com/p/9ea61d204559

2019-12-14 16:33:37 162

原创 java之ConcurrentHashMap在jdk1.7和jdk1.8中的不同

1.底层结构发生变化jdk 1.7底层结构是:数组(Segment)+ 链表(HashEntry节点)组成使用分段锁技术,将整个数据结构分段(默认为16段)进行存储,将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问,能够实现真正的并发访问。如下图是ConcurrentHashMap的内部结构图:从上面的结构我们可以了...

2019-12-14 14:58:11 1194

原创 java之jdk 1.8版本HashMap

首先讲一下,数据结构中常见的时间复杂度 及大小排序Ο(1)<Ο(logn)<Ο(n)<Ο(nlogn)<Ο(n2)<Ο(n3)<…<Ο(2n)<Ο(n!) //查询一个数据从简单到复杂HashMap 1.7和HashMap 1.8的区别1、hashMap的时间复杂度jdk 1.8之前版本由于HashMap底层是通过 数组加链表 的方式实现的,要找到数组对应的下标,只需要进行...

2019-12-11 20:42:05 426

原创 java之jdk 1.8版本之前的HashMap

1. HashMap的数据结构数据结构中有数组、链表来实现对数据的存储,接下来讲解HashMap数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。哈希表...

2019-12-11 17:16:22 305

原创 java spring嵌套事务详情和事务传播类型

一个有事务的方法,去调用另一个有事务的方法,会怎么样?一个没有事务的方法,去调用一个有事务的方法,会怎么样?多事务嵌套问题解答1、在同一个类中,一个无事务方法调用另一个有事务注解方法(比如@Async,@Transational)的方法,注解事务是不会生效的2、在同一个类中,一个有事务方法调用另一个有事务注解方法(比如@Async,@Transational)的方法,只有外层事务有效,...

2019-12-08 19:18:57 383

原创 java Spring的AOP理解和动态代理

什么是代理?主要有什么用?为其他对象提供一种代理来控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户和目标对象之间起到中介的作用。代理好处是:通过代理类获取目标对象,并且对类中方法进行的增强(就是切面,在方法执行前和方法执行后可以写自己逻辑,这就是AOP切面编程来源),这也就设计到一个代理模式概念代理模式在我们日常中很常见,生活处处有代理:...

2019-12-08 15:13:48 855 2

原创 MYSQL数据库的四大特征和四种隔离级别以及锁类型

事务四大隔离级别脏读解决方法:RC(read committed),并且默认就好,数据库默认状态已经解决可重复读和幻读解决方法是:间歇锁数据库默认隔离级别: mysql ---repeatable + MVCC多版本实现, oracle,sql server ---read commited四个隔离级别:https://blog.csdn.net/sinat_15805929/a...

2019-12-08 13:19:18 592

原创 redis持久化两种方式RDB和AOF原理以及优缺点

1、两者区别:RDB持久化:是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储,文件名是dump.rdb。提醒内容:Redis 调用forks。同时拥有父进程和子进程,子进程负责备份,父进程负责继续服务AOF持久化:每当 Redis 执行一个改变数据集的命令时(比如 SET), 这个命令就会...

2019-12-07 16:39:53 2067

原创 mysql索引回表

mysql索引回表概念:(1)先通过普通索引(普通索引,唯一索引,组合索引)定位到主键值;(2)在通过聚集索引定位到行记录;这就是所谓的回表查询,先定位主键值,再定位行记录,然后根据行记录数主键id扫描索引数,查询出数据,它的性能较扫一遍索引树更低举例说明:当有一个表有四个字段,分别是id、name,age、address四个字段,将id设置为主键索引,将name和age设置为组合索引查...

2019-12-07 15:13:38 835

原创 redis的使用

1、redis的好处:(1)、速度快;因为数据存在内存中,类似于hashmap,而且是单线程,减少了竞争,避免多线程上下文切换造成的开销;完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中 数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的; 采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗; 使用多路I/O复用模型,非阻塞IO

2019-12-05 17:50:08 1443 2

原创 mysql 优化方案以及性能优化

sql优化方案1、应尽量避免在 where 子句中使用 != 或 <> 操作符,否则将导致引擎放弃使用索引而进行全表扫描。SQL中,不等于操作符会限制索引,引起全表扫描,即使比较的字段上有索引。2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:3、为列选择合适的数据类型,而且要避免隐式类型转换能用TINYINT...

2019-12-01 15:45:34 431

原创 mysql存储结构索引讲解

索引是什么?索引是帮助MySQL高效获取数据的数据结构。索引能干什么?提高数据查询的效率。索引:排好序的快速查找数据结构!索引会影响where后面的查找,和order by 后面的排序。首先讲解一下数据结构类型1、hash:无规则、不能排序、仅支持"=","IN"和"<=>"精确查询并且检索效率高,但不能使用范围查询2、二叉树:解决hash索引不能排序问题,但是...

2019-12-01 14:04:20 1539

window执行脚本java springboot打包文件启动

window执行脚本java springboot打包文件启动

2022-12-18

项目进度计划表------》根据开始时间和结束时间自动显示开发周期甘特图

项目进度计划表 有两行是隐藏了。-----I和J列 重点:根据开始时间和结束时间自动显示开发周期甘特图,不需要自己画,延期需要自己画 公式:=AND(K$5>=$E5,K$5<=$F5) 参考地址:https://zhuanlan.zhihu.com/p/403179717

2022-10-07

activiti请假流程文件bpmn.xml和流程图

activiti请假流程文件和流程图

2022-09-29

RSA2--》加签+加密+解密+验签

根据证书私钥加签---》RSA公钥加密--》RSA私钥解密---》证书公钥验签

2022-09-23

java(sm2公私钥生成、加签、验签、加密、解密)

java(sm2公私钥生成、加签、验签、加密、解密)demo案列

2022-09-22

rabbitmq_delayed_message_exchange-3.8.0 延迟队列插件

rabbitmq_delayed_message_exchange-3.8.0 延迟队列插件,放到rabbitmq 的目录, /plugins 是其插件目录中

2022-05-30

jmeter压力测试脚本

jmeter压力测试脚本,仅供自己参考

2022-05-14

rocketmq设置开机启动脚本

rocketmq设置开机启动脚本

2022-03-05

linux 环境下安装maven 拉去资源设置 settings.xml 配置文件

linux 环境下安装maven 拉去资源jar settings.xml 配置文件

2022-03-02

jenkins 启动关闭命令脚本

1、jenkins 启动关闭命令脚本 service jenkins stop service jenkins start

2022-03-02

test-docker.sh

springboot jar部署docker脚本

2021-04-17

nexus-test-3.30.0-01.zip

java manven私服工具包,名称test是我随便起的,无法上传只能起test,

2021-04-15

filebeat多行合并配置文件.txt

filebeat多行日志合并配置文件

2021-01-03

elasticsearch-head 可视化界面

elasticsearch-head 主要是es可视化插件,解压后。在谷歌浏览器拓展中放进去 使用方法:在谷歌浏览器右上角点击elasticsearch-head 既可以显示可视化界面。

2020-12-04

linux 执行压测脚本文件

该文件是执行压测脚本文件 https://blog.csdn.net/qq_39291929/article/details/108239631

2020-09-13

nice_server_homeedu_prod.sh

java项目jar启动脚本 https://mp.csdn.net/console/editor/html/108561798

2020-09-13

ossimport-2.2.1.zip

linux centos系统本地静态文件上传到阿里云OSS上,详细看博文:https://mp.csdn.net/console/editor/html/107963226

2020-08-12

nginx_log_script.sh(切记,下载后将文件命名成nginx_log_script.sh,目前英文字母写错了)

nginx 日志按日切分,定时清理过期日志信息,防止占用大量磁盘空间,可访问该地址查询:https://blog.csdn.net/qq_39291929/article/details/107676337

2020-07-29

nginx多配置文件

当有开发环境,测试环境,预发环境,配置nginx时。都在nginx.conf文件中配置,导致会发生配置混乱,不清晰,为了解决这个问题引入了多配置文件

2020-06-09

linux 用户任务定时器配置 crontab -e 编辑的文本

linux 配置定时任务, crontab -e 编辑的文本,用户任务定时器配置,目录位置在 /var/spool/cron中的root文件中

2020-05-14

current_prod.sh

在装jenkins 服务器下放了所有的脚本,开发环境,测试环境,预发环境,生产环境的脚本,在jenkins中构建项目,执行本地脚本来启动本地java项目,重点:脚本都在jenkins这台服务器进行管理。

2020-05-12

linux 执行java项目脚本 dev.sh

在装jenkins 服务器下放了所有的脚本,开发环境,测试环境,预发环境,生产环境的脚本,在jenkins中构建项目,执行本地脚本来启动远程java项目,重点:脚本都在jenkins这台服务器进行管理。

2020-05-12

chromedriver_linux64.zip

当jenkins 构建vue项目时,当进行npm install 或者 npm i 等等操作需要下载chromedriver_linux64.zip ,当你服务器半天无法下载下来,你可以暂停jenkins ,然后到下载路径里删除下载中的,然后把这个文件上传上去,这样就可以跳过无法下载

2020-05-05

nginx 配置成服务

当安装nginx服务后,一般想设置成服务,比如 service ngxin start /stop/restart等命令就可以用着。 如果不设置服务启动nginx需要在nginx根目录下启动、关闭等操作

2019-04-25

mongoDB配置文件

添加mongo加权限并设置开机系统启动, # chkconfig: 2345 90 10  这个参数必须要加进去否则报错,错误信息“ service mongod does not support chkconfig ” chmod +x /etc/rc.d/init.d/mongod         --新建的文件必须赋值权限,富裕后文件名字颜色从白色到黑色 chkconfig mongod on

2019-04-11

空空如也

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

TA关注的人

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