自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (7)
  • 收藏
  • 关注

转载 Maven插件系列之spring-boot-maven-plugin

Spring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Maven操作的可能。Spring Boot Maven plugin能够将Spring Boot应用打包为可执行的jar或war文件,然后以通常的方式运行Spring Boot应用。1.Spring Boot Maven plugin的5个Goalsspring-boot:repackage,默认goa.

2020-11-02 12:57:03 48

转载 CopyOnWriteArrayList 源码解析和设计思路

在 ArrayList 的类注释上,JDK 就提醒了我们,如果要把 ArrayList 作为共享变量的话,是线程不安全的,推荐我们自己加锁或者使用 Collections.synchronizedList 方法,其实 JDK 还提供了另外一种线程安全的 List,叫做 CopyOnWriteArrayList,这个 List 具有以下特征:线程安全的,多线程环境下可以直接使用,无需加锁; 通过锁 + 数组拷贝 + volatile 关键字保证了线程安全; 每次数组操作,都会把数组拷贝一份出来,在新.

2020-10-30 16:57:54 9 1

转载 CPU load过高产生的原因及排查

什么是cpu load 值top命令中显示的load average即为最近1分钟、5分钟和15分钟的系统平均负载。系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程数。如果一个进程满足以下条件则其就会位于运行队列中:它没有在等待I/O操作的结果 它没有主动进入等待状态(也就是没有调用’wait’) 没有被停止(例如:等待终止)在Linux中,进程分为三种状态,一种是阻塞的进程blocked process(等待I/O设备的数据或者系统调)

2020-10-12 11:29:24 16

转载 rocketmq设置instanceName

以下只针对集群模式:1producer默认情况下不需要设置instanceName,rocketmq会使用ip@pid(pid代表jvm名字)作为唯一标示如果同一个jvm中,不同的producer需要往不同的rocketmq集群发送消息,需要设置不同的instanceName原因如下:如果不设置instanceName,那么会使用ip@pid作为producer唯一标识,那么会导致多个producer内部只有一个MQClientInstance(与mq交互)实例,从而导致只往一个集群发消息。2 .

2020-09-29 10:31:14 69

转载 TCP 为什么三次握手而不是两次握手

参考文章Why do we need a 3-way handshake? Why not just 2-way这里先给出结论:为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。 三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已经收到了序列号起始值的必经步骤 如果只是两次握手, 至多只有连接发起方的起始序列号能被确认, 另一方选择的序列号则得不到确认先修知识TCP 通信流程TCP 的通信流

2020-09-17 10:36:01 27

转载 Spring 中bean 的生命周期

Spring 中bean 的生命周期短暂吗?在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不会有什么问题,但对于多线程的程序,就必须注意安全(Thread-safe)的议题,防止多个线程同时存取共享资源所引发的数据不同步问题。然而在spring中 可以设定每次从BeanFactory或Applicat

2020-09-09 09:58:02 21

转载 常见内存溢出原因及解决思路

内存溢出(OOM)通常出现在某一块内存空间耗尽的时候,导致内存溢出的原因有很多,常见的有堆溢出、直接内存溢出、永久区溢出等。堆溢出 堆是Java程序中最为重要的内存空间,由于大量的对象都直接分配在堆上,因此它也成为最有可能发生溢出的区间。一般来说,绝大部分Java的内存溢出都属于这种情况。其原因是因为大量对象占据了堆空间,而这些对象都持有强引用,导致无法回收,当对象大小之和大于由Xmx参数指定的堆空间大小时,溢出错误就自然而然地发生了。【示例】ArrayList对象持有byte数组...

2020-09-08 11:54:29 65

原创 MySQL索引原理 B+Tree

2020-09-07 17:48:37 20

转载 BitMap的原理和实现

相关概念基础类型在java中:byte -> 8 bits -->1字节char -> 16 bit -->2字节short -> 16 bits -->2字节int -> 32 bits -->4字节float -> 32 bits -->4字节long -> 64 bits -->8字节位运算符在java中,int数据底层以补码形式存储。int型变量使用32bi

2020-09-07 15:57:43 28

转载 G1垃圾回收过程

G1垃圾回收过程的详细说明

2020-09-04 16:01:17 26

转载 synchronized

1.为什么要使用synchronized在并发编程中存在线程安全问题,主要原因有:1.存在共享数据 2.多线程共同操作共享数据。关键字synchronized可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块,同时synchronized可以保证一个线程的变化可见(可见性),即可以代替volatile。2.实现原理synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性3.synchronized的三种应用方

2020-06-12 15:45:48 31

遗传算法求解旅行商问题

算法毕业设计 基于遗传算法求解旅行商问题

2010-04-24

Traveling Salesman Problem Based on Genetic Algorithm

Traveling Salesman Problem Based on Genetic Algorithm

2010-04-24

Traveling Salesman Problem Based on Genetic Algorithm

Traveling Salesman Problem Based on Genetic Algorithm

2010-04-24

tomcat源码学习

tomcat源码学习,可以结合深入剖析tomcat来学习,感觉这本书挺好的,值得深入

2018-08-03

mysql5.6.14配置主从复制

mysql5.6.14配置主从复制 ,自己搭建的mysql5.6.14配置主从复制步骤记录

2016-02-04

redis-3.0-winport

redis 3.0 的一些资料,仅供学习使用

2016-02-04

企业人事管理系统 大家来下吧,只是作为一个参考用,是不完全的

企业人事管理系统。企业人事管理系统 大家来下吧,只是作为一个参考用,是不完全的

2009-07-02

空空如也

空空如也

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

TA关注的人 TA的粉丝

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