自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 no matching host key type found. Their offer: ssh-rsa

Unable to negotiate with x.x.x.x port 2222: no matching host key type found. Their offer: ssh-rsa

2023-11-27 14:38:57 609

原创 spring cloud 引入nacos config配置不生效

nacos配置不生效,不刷新

2022-09-04 16:15:44 6079 3

转载 fastjson到底做错了什么?为什么会被频繁爆出漏洞?

fastjson到底做错了什么?为什么会被频繁爆出漏洞? 安全模式

2022-06-25 13:57:58 725

原创 redis在秒杀中的应用及存储优化

redis 秒杀 存储优化

2022-06-23 18:20:47 172

转载 如何确保三个线程顺序执行?

场景:有三个线程t1、t2、t3。确保三个线程t1执行完后t2执行,t2执行完成后t3执行。1.使用join thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。t.join(); //调用join方法,等待线程t执行完毕t.join(1000); //等待 t 线程,等待时间是1000毫秒。public class ThreadTest1...

2022-05-17 19:54:11 3458

转载 史上最骚最全最详细的IO流教程,没有之一!

前言io流用到的地方很多,就比如上传下载,传输,设计模式等....基础打扎实了,才能玩更高端的。在博主认为真正懂IO流的优秀程序员每次在使用IO流之前都会明确分析如下四点:(1)明确要操作的数据是数据源还是数据目的(也就是要读还是要写)(2)明确要操作的设备上的数据是字节还是文本(3)明确数据所在的具体设备(4)明确是否需要额外功能(比如是否需要转换流、高效流等)以上四点将会在文章告白IO流的四点明确里面小结一下,如果各位真能熟练以上四点,我觉得这篇文章你就没必要看了,因为你已经把I

2021-07-13 11:13:50 221

转载 大文本文件(接近7GB): 统计频数,Top K问题求解

问题你只有一个2C4G的机器(即内存是有限的)然后很简单的一个问题: 一个6G的txt文件,每一行都出现了一个IP,要统计这其中出现频次最高的IP,返回出现TopK的IP,输出如下<topCnt1, Ip1><topCnt2, Ip1>...<topCntK, IpK>TopK单机思路(分治)分治思想应该是容易想到的,如果读大二还不知道,那么赶快去学习具体实践步骤 1:每行一个IP:超过内存的大文件程序模拟产生了一个1G行,每行.

2021-07-13 10:40:36 712

转载 GC中的STW、OopMap、safePoint安全点、safeRegion

一. 问题背景遇到一个面试题“垃圾收集器”,其中涉及到了safepoint安全点,所以今天了解一下safepoint安全点此笔记仅供自己参考,如有错误请指正参考:GCRoot与safePoint二. 为什么会有safePointGC Root包括以下对象:虚拟机栈中引用的对象方法区中类属性引用的对象方法区中常量池引用的对象本地方法栈JNI引用的对象这一过程称为根节点枚举,即垃圾回收的标记过程。所有的垃圾收集器在标记阶段都需要停止所有Java执行线程(即stop the world

2021-06-15 15:54:22 274

转载 mysql qcache MySQL缓存之Qcache与buffer pool对比

Q:innodb buffer pool和Qcache的缓存区别?A:1、Qcacche缓存的是SQL语句及对应的结果集,缓存在内存,最简单的情况是SQL一直不重复,那Qcache的命令率肯定是0;2、buffer pool中缓存的是整张表中的数据,缓存在内存,SQL再变只要数据都在内存,那么命中率就是100%。一、查询缓存(QueryCache)1、关于查询缓存机制开启了缓存,会自动将查询语句和结果集返回到内存,下次再查直接从内存中取;查询缓存会跟踪系统中每张表,若表发生变化,

2021-05-28 11:18:10 332

转载 MySQL事务:ACID特性的实现原理(redo log 与 undo log)

ACID特性的实现原理ACID特性的实现原理 1、背景(什么是事务) 2、四大特性(ACID)2.1、原子性(Atomicity) 2.1.1、定义 2.1.2、undo log(回滚日志) 2.2、持久性(Durability ) 2.2.1、定义 2.2.2、redo log(重做日志) 2.3、隔离性(Isolation) 2.3.1、定义 2.3.2、锁机制(后续详细介绍) 2.3.3、并发读写问题 2.3.4、事务隔离级别 2.3.5、M

2021-05-02 15:45:53 263

转载 Spring中Bean的作用域、生命周期

Bean的作用域、生命周期 Bean的作用域  Spring 3中为Bean定义了5中作用域,分别为singleton(单例)、prototype(原型)、request、session和global session,5种作用域说明如下:singleton:单例模式,Spring IoC容器中只会存在一个共享的Bean实例,无论有多少个Bean引用它,始终指向同一对象。Singleton作用域是Spring中的缺省作用域,也可以显示的将Bean定义为singleton模式,配置为: &l...

2021-04-17 22:08:40 267

转载 Static内存图解

Static内存图解:解析:如代码:①:当程序运行,class进行加载这时在方法区则会有class文件区而class文件区内又有两个区(代码中有两个类一个person一个personDemo)这时class文件区的第一个区产生:然后产生第二个区class区域内有成员属性与成员方法.而为什么没有静态的属性与方法呢,是因为当程序加载该class文件时,系统会自动的把他所有静态的属性与方法分配到静态区(方法区内有一个静态区);静态区内也有两块区域一个是personD..

2021-04-01 15:10:57 446

转载 ThreadLocal 内存泄露

ThreadLocal 定义,以及是否可能引起的内存泄露(threadlocalMap的Key是弱引用,用线程池有可能泄露)ThreadLocal 也可以跟踪一个请求,从接收请求,处理请求,到返回请求,只要线程不销毁,就可以在线程的任何地方,调用这个参数,这是百度二面的题目,参考:Threadlocal 传递参数(百度二面)总结:JVM利用设置ThreadLocalMap的Key为弱引用,来避免内存泄露。 JVM利用调用remove、get、set方法的时候,回收弱引用。 当Thread

2021-02-10 11:45:20 214

转载 快慢指针判断链表中是否存在环&查找环的起始位置

判断链表中是否有环? 使用快慢指针, 慢指针一次走一步, 快指针一次走两步, 当快慢指针相遇时,说明链表存在环为什么快指针每次走两步而慢指针每次走一步呢? 因为slow指针和fast指针都会进入环内, 就像在环形跑道内不同位置的两个人;slow指针在后面,fast指针在前面, 但实际上fast指针也在追slow指针, 希望能在环内超slow指针一圈(当超过一圈时会相遇)。那么fast指针总会追上slow指针的;那么fast指针会不会跳过slow指针呢(为什么快慢指针的步骤差必须为1呢)...

2021-02-02 12:01:58 222

转载 Innodb 行锁与表锁

行锁与表锁InnoDB默认是行级别的锁,当有明确指定的主键时候,是行级锁。否则是表级别。#for update的注意点for update 仅适用于InnoDB,并且必须开启事务,在begin与commit之间才生效。要测试for update的锁表情况,可以利用MySQL的Command Mode,开启二个视窗来做测试。1、只根据主键进行查询,并且查询到数据,主键字段产生行锁。begin;select * from goods where id = 1 for update;c

2020-12-22 10:44:51 1437

转载 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 2483

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

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

2020-10-30 16:57:54 133 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 1641

转载 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 3086

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

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

2020-09-17 10:36:01 383

转载 Spring 中bean 生命周期过程中的各种接口

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

2020-09-09 09:58:02 1353

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

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

2020-09-08 11:54:29 16708

原创 MySQL索引原理 B+Tree

2020-09-07 17:48:37 78

转载 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 465 1

转载 G1垃圾回收过程

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

2020-09-04 16:01:17 1445

转载 synchronized

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

2020-06-12 15:45:48 87

redis在秒杀场景中的使用及存储优化

redis在秒杀场景中的使用及存储优化

2022-06-23

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

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

遗传算法求解旅行商问题

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

2010-04-24

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

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

2009-07-02

空空如也

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

TA关注的人

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