自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记忆碎片

All those moments will be lost in time

  • 博客(335)
  • 资源 (23)
  • 问答 (5)
  • 收藏
  • 关注

原创 在Chrome浏览器中打开抗量子加密功能

Chrome 116提供了一些新的功能,其中包括了对于抗量子算法Kyber的支持,用户可以通过以下的步骤打开:1.在浏览器中输入:2.将3.打开:进行测试:

2024-04-01 16:41:49 216

原创 SOFT_RoCE环境搭建

然后进行用户态配置,其中rxe_0是你希望的RDMA的设备名,可任意取名。ens33为Soft-RoCE设备所绑定的网络设备名,也就是我们刚才ifconfig看到的网卡名,每个虚拟机可能都不一样。从外到内依次是:物理层-->以太网链路层-->IPv4网络层-->UDP传输层-->IB传输层-->数据。可以看到例子中使用的是RC类型的连接,进行了SEND操作。ibverbs各厂商用户态驱动(包括RXE)如果是m或者y,表示当前内核支持RDMA。ibverbs动态链接库。

2023-03-13 20:30:46 620 1

原创 阿里HPCC算法简介

HPCC(高精度拥塞控制)基于INT(带内遥测)技术,可以非常精确的获取网络的拥塞状态,能够实现快速的收敛以及利用带宽,并通过实现“零队列”来实现超低的延迟,下面将主要分拥塞感知和拥塞控制两个部分来对这个算法进行解读。

2023-03-08 20:48:58 907

原创 Kafka快速入门(一、 基本概念)

本文主要介绍了Kafka的一些基本概念。

2021-11-22 00:01:53 1695

翻译 SDN与NFV之战

前言在过去的20年中,网络出现了缓慢而有条不紊的变革步伐,每套新技术应运而生,有序地超过了前一代。但是今天,两种新技术,即软件定义网络(SDN)和网络功能虚拟化(NFV),准备通过将网络从物理变为虚拟来真正颠覆这一步伐。在企业市场中,关于这两者之间的差异似乎有很多争议,通常人们将两者进行比较,并极力推崇其中的一种。如果您想对比这两种新兴的网络方法到底孰优孰劣,那么您来错了地方。SDN和NFV彼此有很多共同点。实际上,两者可以共存于相同的网络环境中,并具有许多相同的特征和组件。主要的不同点在于出发点以

2020-11-21 18:43:43 795

原创 Retrofit使用简介

相信做过移动端开发的同学一定会知道Retrofit这个强大的开源Http框架,其底层基于OKHTTP框架,并提供了适配器CallAdapter以及数据转换器Converter等功能,下面将通过一个简单的例子来讲解一下其使用方法:首先需要导入相关的依赖:implementation('com.squareup.retrofit2:retrofit:2.4.0')implementation('com.squareup.retrofit2:converter-gson:2.4.0')新建一个..

2020-08-30 18:57:59 371

原创 项目构建神器之Gradle

1.前言在Spring Boot 2.3.0版本之后,官方就将构建工具从Maven转为Gradle,主要的目的是加快项目的构建速度,因此我们这些普通“搬砖党”也不能落后呀,下面将从0开始搭建一个基于Gradle的分模块项目:2.实验环境JDK版本 11 SpringBoot版本 2.3.2.RELEASE Gradle版本 6.3 3.详细步骤首先,需要明确,我们需要创建一个父模块,在这个父模块中又包含:rest,service,d...

2020-08-02 20:20:47 364

原创 Netty源码阅读之NioEventLoop简析

在Netty中NioEventLoop以及NioEventLoopGroup是很重要的两个类,而NioEventLoopGroup主要是对NioEventLoop进行管理;首先来看一下这两个类的关系图(错综复杂): 图 11. NioEventLoopGroup初始化流程通过分析NioEven...

2020-06-25 21:08:15 444

原创 Netty源码阅读之编码器简析

上回主要聊了一下Netty中的解码器,那么既然有解码,必须也必须得聊下编码过程了,下面将对Netty中的编码器作一下总结:1.编码器简介作为解码的逆过程,编码的目的主要是将消息转换为字节或者消息,Netty中主要使用了MessageToByteEncoder这个抽象类来规定处理编码的一些流程,不妨先来看下该类的UML:可以看出编码器其实也只是一类特殊的ChannelHandler,使用encode()方法来处理编码相关的逻辑,不妨先自定义一个编码器然后写一段demo:1.1...

2020-06-07 16:46:09 514

原创 Netty源码阅读之解码器简析

通过网络传输过来的数据,需要通过netty中的解码器进行处理,其中抽象类ByteToMessageDecoder中定义了相应的处理方法。不妨先来围观下该类的继承关系:由上图可以明白,该类实现了ChannelHandler这个接口,所以,说到底,解码器就是一个特殊的handler而已。查看channelRead()方法:public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {

2020-05-26 00:07:08 440

原创 Netty源码阅读之ByteBuf简析(二)

前面对于Netty中的ByteBuf缓存做了一下简单的介绍,下面将围绕源码,对于其中的几个特性进行分析。1.扩容机制首先来聊下Bytebuf的扩容机制,这个机制也是Netty比较强悍的地方,而我们知道JDK自带的ByteBuffer是无法扩容的,在Bytebuf创建的时候,我们通常会设置一个初始容量,在我们写数据的时候,如果写指针超过了设置的初始容量,那么Bytebuf将进行扩容,废话不多说,下面我们直接通过源码来一探究竟吧:public ByteBuf writeBytes(ByteBuf

2020-05-10 22:09:35 618

原创 Netty源码阅读之ByteBuf简析(一)

在Netty中ByteBuf主要是用于数据的中转,底层IO将数据读取到ByteBuf,之后传输给应用程序;而应用程序在处理完之后将数据封装成ByteBuf发送给底层IO。在介绍ByteBuf具体的实现之前,让我们先来查看一下相关类的关系图:...

2020-05-05 22:07:55 354

原创 Netty源码阅读之事件传输机制的简要分析

前面提到,ChannelHandler可以用来处理inBound以及outBound事件;而inBound以及outBound事件的流转也是Netty中比较重要的一环;下面,将对Netty源码中对事件的传输机制进行简要的分析:在Netty的事件传播过程中,总共有两种的传播方式,第一种方式是调用pipeline进行传播,另外的一种是直接以pipeline中的某个Context作为起始进...

2020-04-19 19:32:31 720 1

原创 Netty源码阅读之Pipeline中添加以及删除ChannelHandler流程总结

1.简要介绍 首先,ChannelHandler主要的作用是用来处理inbound或者outbound事件,调用者可以通过ch.pipeline().addLast()来进行添加,我们可以通过一张经典图例来认识一下ChannelHandler、pipeline、以及ChannelHandlerContext之间的关系: 通过上图,我们知道,Channel以及pipel...

2020-04-04 22:04:41 628

原创 Netty源码阅读之Pipeline初始化流程

1.Pipe的创建时机Pipe的创建是在AbstractChannel类的构造函数中完成的:protected AbstractChannel(Channel parent) { this.parent = parent; id = newId(); unsafe = newUnsafe(); pipeline = newC...

2020-03-29 19:34:25 386

原创 使用Hutool 工具库导出Excel表格

Hutool是Hu + tool的自造词,前者致敬我的“前任公司”,后者为工具之意,谐音“糊涂”,寓意追求“万事都作糊涂观,无所谓失,无所谓得”的境界。Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以“甜甜的”。Hutool最初是我项目中“util”包的一个整理,后来慢慢积累并加入更多非业务相关功能,并广泛学习其它开源项目精髓,...

2020-03-14 20:00:10 18380 1

转载 Google guava新集合类型汇总整理

Google guava新集合类型汇总整理1.使用说明1.1 Multiset1.2 SortedMultiset1.3 Multimap1.4 ListMultimap1.5 SetMultimap1.6 BiMap1.7 ClassToInstanceMap1.8 Table原文地址:1.使用说明Guava中新定义的集合类型有以下的几种:1.1 Multiset首先是Multiset...

2019-11-16 12:18:28 791 1

转载 关于DDD领域驱动设计的理解

转载自:点击这里当人们要做一个软件系统时,一般总是因为遇到了什么问题,然后希望通过一个软件系统来解决。比如,我是一家企业,然后我觉得我现在线下销售自己的产品还不够,我希望能够在线上也能销售自己的产品。所以,自然而然就想到要做一个普通电商系统,用于实现在线销售自己企业产品的目的。再比如,我是一家互联网公司,公司有很多系统对外提供服务,面向很多客户端设备。但是最近由于各种原因,导致服务经常...

2019-09-22 22:47:59 489

原创 javassist简单介绍以及如何使用它来实现lombok的功能

最近在学习MyBatis的源码,在阅读的过程中,发现有一个叫做javaassist的工具,查阅了一些资料,这个工具和ASM的功能类似,可以直接修改Java的字节码文件,而ASM要更偏向底层一些。下面我们通过一个例子来学习其使用方法:public class Run { public static void main(String[] args) { Class...

2019-07-10 23:59:16 788

转载 Java 11 新特性介绍

原文地址Java 11 已于 2018 年 9 月 25 日正式发布,之前在 Java 10 新特性介绍中介绍过,为了加快的版本迭代、跟进社区反馈,Java 的版本发布周期调整为每六个月一次——即每半年发布一个大版本,每个季度发布一个中间特性版本,并且做出不会跳票的承诺。通过这样的方式,Java 开发团队能够将一些重要特性尽早的合并到 Java Release 版本中,以便快速得到开发者的反馈...

2019-06-12 23:25:32 23906 1

原创 Angular6.x 实战开发总结

最近的一段时间,撸了一些前端的东西,对于前端开发有了一些新的认识,下面主要针对Angular(主要是2.0以后的版本)这个开发框架来对前端的知识点进行一些简单的总结:1. 实现返回功能:private goBack() { this.router.navigate(["../controllerinfo"], { relativeTo: this.r...

2019-05-14 19:38:54 667 1

转载 Elasticsearch-基础介绍及索引原理分析

本文转载自:http://blog.pengqiuyuan.com/ji-chu-jie-shao-ji-suo-yin-yuan-li-fen-xi/最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计查询的方案设计工作,花了些时间学习Elasticsearch的基础理论知识,整理了一下,希望能对Elasticsearch感兴趣/想了解的同学有所帮助。 ...

2019-03-31 23:45:13 372

原创 初识Spring Cloud--Spring Cloud Bus在服务配置中心的简单应用

前面对配置中心进行了讲解,我们可以很明显的感受到使用spring cloud在处理配置方面的便捷性,然而,当托管到git等工具上的配置一旦发生变化,若采用前面的架构我们的每一个客户端都需要发送一遍请求,这势必会照成一些问题,这时候,spring cloud bus横空出世了。下面,我们直接进入正题,通过一个简单的例子来进行测试:首先,我们需要做一些准备的工作:安装zookeeper和kaf...

2019-03-31 12:19:54 243

原创 spring boot 2.1.x整合jersey遇到的坑

由于最近的开发需要用到这个框架,所以打算重新学习下,但是spring boot的版本升级了,导致了依赖方面一些问题,应用老是起不来,没想到这个还是spring boot的bug...这里记录一下:首先来看一下相关的依赖:<dependencies> <dependency> <groupId>org.springframework.boot&...

2019-01-01 13:34:19 1773

转载 全面了解Nginx到底能做什么

原文链接前言本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得。所以还请见谅,同时欢迎留言交流Nginx能做什么1.反向代理2.负载均衡3.HTTP服务器(包含动静分离)4.正向代理以上就是我了解到的Nginx在不依赖第三方模块能处理的事情,下面详细说明每种功...

2018-12-23 12:26:13 272 1

原创 初识Spring Cloud--分布式配置中心实践

在一个分布式的微服务集群中,各个服务的数量可能有成百上千,管理成本将非常大,这时候就迫切需要一个统一的配置和管理中心,spring cloud就提供了一套集中式的配置中心方案,下面是配置中心的示意图:依照上边的原理图,我们首先来实现config-server,也即配置中心的服务端:创建项目sc10,导入相关的依赖:<dependency> <grou...

2018-12-15 23:25:51 338

原创 初识Spring Cloud--微服务网关实现之zuul

在spring cloud中,zuul主要担任服务网关的角色(现已被Spring Cloud Gateway所取代),可以将外部的请求分发到不同的微服务上去,官网上有一张图片,可以直观的展示zuul的功能,其中的API Gateway便是今天的主角--zuul。为了使用这个服务网关功能,首先,我们需要创建一个新项目sc09,并指定端口号为8996,设定服务名称为service09。要使...

2018-12-14 23:01:53 313

原创 初识Spring Cloud--利用Hystrix实现服务的熔断及降级

在分布式的系统中,服务与服务之间有可能会存在依赖的情况,这时候就会出现一些问题,比方说服务A依赖于服务B,服务B又依赖于服务C,这个时候如果服务C出现了问题,那么久而久之服务B也会也会逐渐被服务C“拖垮”,进而,服务A也会逐渐出现问题(又称雪崩效应);所以我们迫切的需要一种“快速失败”的机制,告诉客户,我这个服务出现了问题,不再提供服务。为了实现这种快速失败的机制,spring cloud提供...

2018-12-13 23:43:41 742

原创 初识Spring Cloud--声明式REST客户端(Feign)

在前面的实践中,我们都是通过 RestTemplate来实现对远程服务的调用,但是在代码的编写上并不美观,Spring Cloud给出了另一套方案,也即是本篇中提到的Feign,Spring Cloud Feign 是基于Netflix Feign 实现的。那么,怎么实现咧?依然使用前面的架构,不同的是,这次我们通过Feign来实现:1.新建工程sc07,并添加Feign相关的依赖:...

2018-12-08 22:47:24 273

原创 初识Spring Cloud--Ribbon客户端负载均衡

首先来看一下Ribbon的作用:ribbon 是一个客户端负载均衡器,主要是实现类似于 nginx的负载均衡的功能。SpringCloud提供了7种负载均衡的算法,如下表所示,ribbon 默认使用轮询算法(RoundRobinRule)来实现负载均衡,策略名 策略声明 策略描述 实现说明 BestAvailableRule public class B...

2018-12-04 00:12:27 437

原创 初识Spring Cloud--Eureka服务注册中心搭建

首先,来认识一下SpringCloud:Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)。分布式系统的协调导致了样板模式,使用Spring Cloud开发人员可以快速建立实现这些模式的服务和应用程序。它们可以在任何分布式环境中很好地工作,包括开发人员自...

2018-11-29 22:49:46 407

原创 Rancher Kubernetes Engine(RKE)安装K8S

k8s又推出了一些新的版本,部署的难度又增加了不少,虽然前面做过一些工作:https://blog.csdn.net/yalishadaa/article/details/78765031,但对新版本的k8s安装,基本没有什么太大的帮助,下面我将通过RKE这款开源的安装程序来对k8s进行安装和部署。环境:rke安装机  centos7.4   192.168.61.140node1  ...

2018-11-28 16:39:36 2020

转载 伪共享、缓存行填充以及CPU缓存机制

  关于伪共享的一篇好文,转载自:https://blog.csdn.net/karamos/article/details/801267041.认识CPU CacheCPU Cache概述随着CPU的频率不断提升,而内存的访问速度却没有质的突破,为了弥补访问内存的速度慢,充分发挥CPU的计算资源,提高CPU整体吞吐量,在CPU与内存之间引入了一级Cache。随着热点数据体...

2018-09-14 13:33:59 413

转载 你真的了解java的lambda吗?- java lambda用法与源码分析

from:https://www.cmlanche.com/2018/07/22/lambda%E7%94%A8%E6%B3%95%E4%B8%8E%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/用法示例:最普遍的一个例子,执行一个线程new Thread(() -> System.out.print("hello world")).start();...

2018-08-20 20:50:59 925 1

原创 intellij idea使用git stash暂存一次提交

分享一个小技巧:在日常开发中有时候需要切换到另外的一个分支,但在某些条件下当前的分支上存在一些文件尚未提交,这时候就需要使用到idea自带的git stash功能来"暂存"一些尚未提交的文件,待切换到另外的分支上再提交到新的分支上去。任意打开一个项目进行演示:step1:切换到分支astep2: stash changesstep3:切换到分支b,unstash...

2018-07-31 21:46:21 14241 2

原创 Kubernetes文件挂载问题

当我们将应用打包成docker镜像并发布时,可能会有替换掉内部配置文件的需求,有别于docker中自带的文件挂载功能,Kubernetes挂载配置文件的时候会覆盖掉原有的文件。这里,我们可以通过创建一个符号链接来挂载宿主机上的配置文件。首先,执行以下的命令来创建一个configmap:kubectl create configmap conf-config --from-file=applicat...

2018-07-05 22:04:46 10272

原创 redis lua脚本学习

在实际的项目开发中,使用lua脚本能够减少对于redis的访问次数,提高效率,下面通过一个入门级的例子来对redis中的lua脚本进行介绍:public class RedisTemplateLua { public static void main(String[] args) { // ClassPathXmlApplicationContext applicatio...

2018-05-13 21:33:37 1130

转载 分布式一致性算法Paxos介绍

原文地址PAXOS可以用来解决分布式环境下,选举(或设置)某一个值的问题(比如更新数据库中某个user的age是多少)。分布式系统中有多个节点就会存在节点间通信的问题,存在着两种节点通讯模型:共享内存(Shared memory)、消息传递(Messages passing),Paxos是基于消息传递的通讯模型的。它的假设前提是,在分布式系统中进程之间的通信会出现丢失、延迟、重复等现象,但不会出现...

2018-05-13 17:09:38 453

转载 源码分析shiro认证授权流程

原文地址:https://www.cnblogs.com/davidwang456/p/4428421.html1. shiro介绍Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:认证 - 用户身份识别,常被称为用户“登录”;授权 - 访问控制;密码加密 - 保护或隐藏数据防止被偷窥;会话管理 - 每用户相关的时

2018-05-01 16:33:13 363

原创 EnumSet源码解析

EnumSet表示一个枚举类的集合,而且这个集合中只包含同一种枚举类的对象,下面来看一下这个类型的使用方法:首先定义一个枚举类:public enum Color { RED("红色",0),BLUE("蓝色",2),ORANGE("橙色",3); private String color; private int value; Color(String

2018-04-22 23:25:19 340

华三HCL模拟软件专业版下载

(HCL)V2.1.1是一套界面图形化全真网络设备模拟软件。 用户可以通过该软件实现H3C公司多种型号设备的虚拟组网、配置、调试。该软件具备友好的图形界面,可以模拟路由器、交换机、防火墙等网络设备及PC的全部功能,用户可以使用它在个人电脑上搭建虚拟化的网络环境。

2020-11-14

OV7670摄像头驱动程序

基于stm32F407的ov7670摄像头模组驱动程序,适用于不带缓存芯片的摄像头模组

2018-02-18

MarkdownPad2中文破解版

MarkdownPad2破解版+解决HTML渲染问题的组件:awesomium_v1.6.6_sdk_win.exe

2018-01-31

stm32F407ADC电压采集串口输出程序

stm32F407ADC电压采集串口输出,采用均值滤波对采集的ad值进行处理...

2018-01-31

java线程池思维导图

线程池ThreadPoolExcructor思维导图

2018-01-24

Netty权威指南

Netty权威指南

2018-01-24

电子相册(可以实现滑动显示SD卡中的图片)

帮同学做的毕设,主要的功能是实现一个电子相册,可以读取SD卡中的相片,并滑动显示

2017-12-22

ov2640摄像头模块驱动程序

根据正点原子的代码进行了一定的改写,适合于不带FIFO的ov2640摄像头,本人自己写的,保证可用

2017-12-22

uCGUI源代码

比较经典的一款GUI系统,基于VC++6.0,感兴趣的可以拿去研究

2017-12-22

msp430单片机库函数模板

参考原子stm32库函数工程改写,在msp430149芯片上调通,430其他系列的芯片直接改写MSP430.h文件即可

2017-12-22

诺基亚手机5110液晶模块驱动程序

本人写的5110驱动程序,通过stm32F407单片机驱动,保证可用

2017-12-22

嵌入式实时操作系统uCOS-II在X86平台上的移植(运行环境VC++6.0)

麻雀虽小,五脏俱全,对操作系统感兴趣的朋友可以下载来看看

2017-12-22

两轮平衡车资料(stm32+mpu6050 的PID控制方案)

很久之前做的一些两轮平衡车资料,主要是一些文档,也有部分的驱动代码

2017-12-22

java_util_concurrent_user_guide

concurrent包使用手册 本来打算免分分享的,但是现在上传好像至少都是2分了

2017-10-29

registServer2

本地授权服务器

2017-01-30

小车轨迹显示App

通过蓝牙和baidu地图显示小车路径

2016-10-25

zigbee外部中断唤醒发送数据(未运行协议栈).rar

zigbee通过外部中断唤醒发送数据,通过外部下降沿触发zigbee唤醒,然后串口发送数据

2016-09-25

zigbee通过外部中断唤醒发送数据(未运行协议栈)

zigbee通过外部中断唤醒发送数据(未运行协议栈)

2016-09-24

AppServ2(支持win7 64位)

AppServ 是 PHP 网页架站工具组合包,作者将一些网络上免费的架站资源重新包装成单一的安装程序,以方便初学者快速完成架站,AppServ 所包含的软件有:Apache[、Apache Monitor、PHP、MySQL、phpMyAdmin等。如果您的本地机器没有安装过php、mysql等系统,那么用这个软件则可以让你迅速搭建完整的底层环境。

2016-09-05

AppServ(支持win7 64位)

2016-09-04

基于stm32F407的音乐播放器

支持mp3,wav,ape,flac等格式的音频,支持sd卡,支持中文日文等字库,可以通过OLED屏幕显示当前的歌曲信息,暂不支持歌词显示

2016-08-25

24L01多发多机通讯(基于stm32F407这是从机部分)

实现了24l01模块的多发一收,基于stm32F407平台

2016-08-25

24L01多发多机通讯(基于stm32F407这是主机部分)

实现了24L01的多发一收功能,开发环境是mdk5.0,亲测可用

2016-08-25

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

TA关注的人

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