自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Stomp的使用

本文主要讲spring boot项目中spring stomp的使用。

2023-05-14 16:30:52 239

原创 了解Spring Stomp,这一篇就够了

Spring针对长链接协议的一个组件,使用Spring WebSocket可以让服务端开发人员方便快速的开发部署一个长链服务。:Spring Websocket确实方便了开发长链服务,不需要自己处理链接的建立、握手等底层问题,但是对于客户端与服务端要传递的消息,需要开发者自己定义一套自己的消息协议,以方便对消息的解析处理。而Spring Stomp正是在Spring WebSocket的基础上,进一步引入并支持了对Stomp这一消息协议的解析处理,并且做了很多其他方便开发者使用的功能。

2023-05-13 18:27:36 574

原创 Spring源码分析(一)

Spring源码分析(一)前言​ 本人在研究生时期的项目一直是使用的C++,到毕设时导师给定的课题需要用Java实现,所以当时简单的学了SSM框架。当时也仅限于知道Spring的简单的使用,找工作用的也是C/C++,可是入职后三个月为了适应公司的需求,“自愿”转了java,由于有研究生时候的经验,所以相比于其他转java的同事,我情况可能还是比较好的。​ 转java后也用的都是公司现成的框架,项目都是现成的,骨架都早已搭好,只需会基本的if-else,再加上照着之前的代码框架写就行了,一直也没时间

2021-07-21 23:48:42 172

原创 HashMap线程安全问题

ConcurrentHashMap使用Segment[]+HashEntry[]的数据结构;(为什么使用这种结构?)A:1.JDK1.7中,ConcurrentHashMap从过二次hash的方式(Segment -> HashEntry)能够快速的找到查找的元素2.Segment是一种可重入锁(ReentrantLock),在ConcurrentHashMap里扮演锁的角色,将一个大的table分割成多个小的table进行加锁。为什么在获取索引的与运算中国:segment使用hashcode

2020-11-29 18:46:47 284 1

原创 HashMap基本的实现流程之扩容

本文接上篇:《HashMap最基本的实现流程(源码角度)》前言上篇主要说了HashMap的put操作实现的主流程,分析了源码中某些关键步骤之所以那样写的原因;对于一些分支流程没有过多展开,这里就填一下扩容的坑;扩容这里先把涉及到扩容的地方的源码贴一下: void addEntry(int hash, K key, V value, int bucketIndex) { if ((size >= threshold) && (null != table[

2020-11-20 22:13:28 776 2

原创 HashMap最基本的实现流程(源码角度)

前言HashMap,之前准备找工作的时候,在各大面试宝典中都会看到对它的讲解,参加工作之后,作为一个小小的码农,写BUG过程中用到的最多的容器也是HashMap,可是一直没有对HashMap真正的学习过,一直处于一种模糊的状态,今天由于业务需求需要了解MurmurHash,在搜索过程中就慢慢偏离的圆轨道,又遇到了HashMap,这次一定要给他整明白了,并且以此博文来进行总结、记录,以为巩固。预备知识HashMap底层使用的数据结构是?数组。所以HashMap的特性会受到数组特性的影响;① 数组在

2020-11-16 22:05:01 738 3

原创 分布式入门之路:了解概念

CAP理论首先看一下这三个字母分别代表什么意思:C:Consistency;即一致性。A:Availability;即可用性。P:partition;分隔。P描述的是一个问题: 在分布式环境中,由于网络问题会造成某个节点和其他节点失去联系(暂称之为孤立节点),这时候就形成了分隔。A和C描述的是解决P问题的两种方式(两种侧重): 当形成分隔时,孤立节点无法完成数据同步。- 这时候我们如果选择继续让孤立节点提供服务,则称之为CP(即保证节点的可用性,但是失去了一致性);- 如果选择等待孤立节点

2020-05-31 17:19:18 113

原创 RabbitMQ集群搭建

rabbitmq集群搭建前期准备从官网下载的rabbitmq是最原始的,需要进行一些设置启动rabbitmq镜像docker run -it -P rabbitmq /bin/bash更换源,为了更好的安装软件文件位置:/etc/apt/sources.list文件内容:deb-src http://archive.ubuntu.com/ubuntu xenial main ...

2019-06-13 15:42:24 175

原创 Docker基础系列三:DockerFile

DockerFileWhat?DockerFile是用来构建Docke镜像的构建文件,是由一系列命令和参数构成的脚本。构建三步骤:编写DockerFile源文件使用docker build -f 命令进行构建使用docker run 运行。DockerFile解析Dockerfile内容基础知识每条保留字指令都必须为大写字母且后面要跟随至少一个参数指令按照从上到下,顺序...

2019-05-08 16:47:55 147

原创 Docker基础系列二:Docker数据卷

Docker基础Docker容器数据卷Why?Docker的理念:将应用与运行环境打包形成容器运行,运行可以伴随着容器,但是我们对数据的要求希望是持久化的容器之间希望共享数据Docker容器产生的数据如果不通过docker commit 生成新的镜像,是的数据作为镜像的一部分存下来,那么当容器删除后,数据自然也就没有了。为了能保存数据,在docker中使用卷。What?卷就是...

2019-05-08 11:09:10 160 1

原创 Docker基础系列一:Docker安装与基础命令

DockerDocker三要素镜像(image)是一个只读的模板。镜像可以用来创建docker容器,一个镜像可以创建很多容器镜像类似于Java中的类。容器则类似于对象(实例)容器(container)Docker利用容器(Containe)来独立运行一个或一组应用。容器是用镜像创建的运行实例它可以被启动、开始、停止、删除,每个容器都是相互隔离的、保证安全的平台容器的定义个...

2019-05-07 11:30:18 144

原创 图论

简介图的分类根据有无方向分为有向图 无向图根据权重值分为有权图 无权图图的连通性图的节点不一定都有边将它们连在一起简单图节点与节点之间的边有: - 自环边:自己与自己相连 - 平行边:两个节点之间有多条边; 平行边和自环边都不会影响图的连通性、图的最短路径等一些问题; 所谓简单图就是没有自环边和平行边的图以后以简单图、无向图为例图的表示用一个...

2018-07-25 20:45:10 222

原创 C++中的extern关键字

目的:自己学习、记录用;1、extern修饰变量(函数);main.cpp 只有全局变量可以一处定义,到处声明并使用,如other.cpp中的局部变量a,就不可以在main.cpp中声明使用 int i;是一个变量定义;写在函数外,分配存储空间,会赋初始值为0;写在函数内不会赋初始值; extern int j;是一个变量声明,不会初始化,不会分配内存;表明有这么个变量j可以使用...

2018-07-25 20:30:07 103

原创 关于Qt不同编译器的选择以及应用程序的发布

在Qt安装的时候,会让选择安装组件,其中有MSVC****_32、MSVC****_64、MinGW32等,这些都是Qt的编译器的版本,因为Qt没有自己的编译器,这些编译器分为两类: MSVC类编译器     MinGW类的编译器对于第一类:        需要电脑上有VS,根据自己的VS版本来选择编译器;至于MSVC32和MSVC64的区别只是,你编译出来的应用程序的位数;对...

2018-06-04 16:26:16 3349

原创 关于Qt项目目录没有.db文件

      本人在Qt中创建了一个项目,并且已经成功创建并连接数据库(驱动为QSQLITE),各种增删改查的功能也可以用,但是项目目录却找不到数据库文件(.db文件),于是网上一翻寻找并没有找到,后来在另一个目录【C:/Users/你的名字 】下发现了数据库文件。特在此记录一下。...

2018-03-07 20:53:23 2516

空空如也

空空如也

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

TA关注的人

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