自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wangyongxun1983的博客

吃的是粮食,拉的是思想

  • 博客(96)
  • 资源 (1)
  • 收藏
  • 关注

原创 01-Dubbo的初体验

#Dubbo2.X的初识##Dubbo背景Dubbo是分布式远程服务通信框架,与传统单体框架相比,扩展了远程服务之间的通信、服务的治理,其中在单点服务之间的通信上采用RPC模式,而且在通信协议上支持Java的RMI、webservice、JAX-RS、http等协议。从Dubbo的开发您可以了解到如果我们要去开发一款远程通信框架,需要思路的方向。1、底层网络通信协议的处理。2、序列号与反序列号的处理。3、服务的治理。Dubbo框架在服务的治理中实现了:服务链路的跟踪与监测、服务的

2020-08-30 21:47:08 95

原创 01--vue3关键信息

vue.config.js的关键配置devServer来解决跨域,如果设置了代理,那你本地开发环境的axios的baseUrl要写为'',即空字符串

2021-06-14 09:09:10 134

原创 数据可信传输

数据可信传输整体设计功能设计概要1、网络通信防篡改机制通过指针Hash+原发的方式进行网络通信。1.1、总体设计1.2、放篡改机制方案1.2.1、协同验证1.2.1.1、数据传输格式采用http请求方式,其中指针保存请求头部,原文保存请求体。1.2.1.1、数据防篡改校验接收方接收到数据后,通过发送方提供的hash算法,将原文数据运算得出Hash,将得到的Hash与发送方提供的请求头提供的Hash做对比,如果相等,则接收方入库,如果不相等,接受发响应数据.

2021-03-08 16:16:16 588

原创 NPS内网穿透技术

1、官网文档https://ehang-io.github.io/nps/#/install2、简要安装与配置2.1、服务端配置2.1.1、查看系统版本多少位lsb_release -a如果提示-bash: lsb_release: command not found输入下面的指令在执行上面的查看本版指令yum install -y redhat-lsb2.1.2、下载服务器端安装包了解了自己的系统本版以后自行到https://github.com/cnlh...

2021-03-03 13:26:21 1982

原创 logstash结合后台日志过滤用户操作信息

配置文件input { file { path => ["F:/log/log_info.log"] #codec => plain{ charset => "GBK" } start_position => "beginning" stat_interval => "3" }}filter { grok { match => { "message" => "(?<systemlog>[\d\D]*

2021-02-05 16:41:28 170

原创 03--elasticsearch基本操作

创建索引numberofshards 分片数量 每个索引产生多少个分片在集群中,最好平均分布,不宜过多也不能少,如果单机的就没有必要设置很多了 1 个就可以了,这个后期是不能改的 numberofreplicas 副本数量 为了高可用 refresh_interval 数据能够刷新时间 默认是 1s查询索引信息:http://localhost:9200/user删除索引:创建文档POST http://127.0.0.1:9200/user/hello/...

2021-01-24 19:47:42 110

原创 02--elasticsearch基本数量类型

一、字段类型概述二、字符串类型ElasticSearch对字符串拥有两种完全不同的搜索方式. 你可以按照整个文本进行匹配, 即关键词搜索(keyword search), 也可以按单个字符匹配, 即全文搜索(full-text search).text用于全文搜索的, 而keyword用于关键词搜索.Text:会分词,然后进行索引支持模糊、精确查询不支持聚合keyword:不进行分词,直接索引支持模糊、精确查询支持聚合text当一个字段是要被全文搜索的,比如Em.

2021-01-24 02:43:38 249

原创 01--elasticsearch的基础

ElasticSearch简介高扩展的分布式全文检索引擎 ,近乎实时的存储、检索数据 。可以扩展到上百台服务器,处理PB级别的数据。ElasticSearch安装与启动安装ES服务ElasticSearch的官方地址: https://www.elastic.co/products/elasticsearch修改elasticsearch配置文件:config/elasticsearch.yml,增加以下两句命令:http.cors.enabled: truehttp.cors.

2021-01-23 23:42:08 64

原创 02--设计模式

泛化概念:泛化是一种一般与特殊、一般与具体之间关系的描述,具体描述建立在一般描述的基础之上,并对其进行了扩展。在java中用来表示继承的关系。表示方法:用实线空心三角箭头表示。实现概念:实现是一种类与接口的关系,表示类是接口所有特征和行为的实现,在程序中一般通过类实现接口来描述表示方法:空心三角形箭头的虚线,实现类指向接口依赖概念:是一种使用的关系,即一个类的实现需要另一个类的协助。java中,方法参数需要传入另一个类的对象,就表示依赖这个类。表示方法:虚线箭头,

2021-01-14 13:49:52 59

原创 01---设计模式--装饰者模式

1.装饰者模式让我们来假设一下,你正在寻找一个女朋友。有很多来自不同国家的女孩,比如:美国,中国,日本,法国等等,他们每个人都有不一样的个性和兴趣爱好,如果需要在程序当中模拟这么一种情况的话,假设每一个女孩就是一个Java类的话,那么就会有成千上万的类,这样子就会造成类的膨胀,而且这样的设计的可扩展性会比较差。因为如果我们需要一个新的女孩,就需要创建一个新的Java类,这实际上也违背了在程序开发当中需要遵循的OCP(对扩展开放,对修改关闭)原则。2.类图结构3.装饰者模式示例代码Girl

2021-01-14 13:23:05 60

原创 04--Linux awk用法

一、awk命令简介awk是一个强大的文本分析工具。awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。二、awk命令格式及选项语法形式awk [options] 'script' var=value file(s)awk [options] -f scriptfile var=value file(s)常用命令选项-F fs fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:-v var=value 赋值一个用户定义变量,将外部变量

2021-01-13 11:39:59 100

原创 03--Linux grep 命令

Grep 是 Global Regular Expression Print 的缩写。搜索指定文件的内容。语法grep [OPTIONS] PATTERN [FILE...]grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]常用选项--help-V, --version-G, --basic-regexp BRE 模式,也是默认的模式-E, --extended-regexp ERE 模式-P, --perl-regexp ...

2021-01-12 16:48:22 94

原创 09---集群的快速配置

1、mongodb的priority可以用来控制副本集的优先级:如果在建立config配置时候没有指定 副本集所有成员默认 priority=1,投票选举与优先级没有关系冲裁节点和延迟节点 priority=0 不参与主的竞争其他每个节点都有个优先权,可以手动设置优先权来决定谁的成为primay的权重最大。副本集中通过设置priority的值来决定优先权的大小,这个值的范围是0--100,值越大,优先权越高。修改过程:rs.conf查看副本集成员的priority值 重点看me.

2021-01-10 02:58:50 153

原创 08---搭建分片集群

mongodb 中的分片机制知识点:分片的概念 mongodb 中的分片架构 分片示例1.为什么需要分片?随着数据的增长,单机实例的瓶颈是很明显的。可以通过复制的机制应对压力,但mongodb中单个集群的 节点数量限制到了12个以内,所以需要通过分片进一步横向扩展。此外分片也可节约磁盘的存储。1.mongodb 中的分片架构1.mongodb 中的分片架构分片中的节点说明:路由节点(mongos):用于分发用户的请求,起到反向代理的作用。配置节点(config):

2021-01-10 02:24:01 132

原创 07---搭建主从复集群

mongodb搭建主从复集群知识点:复制集群的架构 复制集群搭建 复制集群的选举配置1.复制集群的架构复制集群搭建基础示例1、新建三个目录mkdir -p /data/mongo/mastermkdir -p /data/mongo/slavemkdir -p /data/mongo/slave22、在mongdb目录下新建三个配置文件vim mongo-master-27017.conf主节点配置dbpath=/data/mongo/master.

2021-01-10 02:18:00 87

原创 06--基础入门

MongoDb的逻辑组成体系结构:逻辑结构与关系数据库的对比: 关系型数据库 MongoDb database(数据库) database(数据库) table(表) collection( 集合) row( 行) document( BSON 文档) column(列) field(字段)...

2021-01-10 02:01:22 72

原创 05---mongo中使用aggregation和$lookup实现多表关联

简单两表关联---------------------mong中语句拼接------------------------java代码实现(BasicDBObject.class为返回结果集类,可根据需求进行更改,在Criteria中可进行多条件拼接)复杂多表关联(java代码实现与两表关联代码类似不重复)-----------------------------mongo语句实现($match为条件拼接,若条件为关联表中的字段,则需要根据关联表相应的结果集(as)属性后面名称拿到&l

2021-01-10 01:55:45 243

原创 04----深入理解MongoDB聚合(Aggregation )

MongoDB中聚合(aggregate)操作将来自多个document的value组合在一起,并通过对分组数据进行各种操作处理,并返回计算后的数据结果,主要用于处理数据(诸如统计平均值,求和等)。MongoDB提供三种方式去执行聚合操作:聚合管道(aggregation pipeline)、Map-Reduce函数以及单一的聚合命令(count、distinct、group)。1. 聚合管道(aggregation pipeline)1.1聚合管道聚合管道是由aggregation fram.

2021-01-10 01:51:35 1177

原创 03-索引

1. 索引索引支持查询的有效地提高效率。没有索引,MongoDB必须扫描集合的每个文档,以选择与查询语句匹配的文档。这种扫描效率很低,需要MongoDB处理大量的数据。索引是特殊的数据结构,以易于遍历的形式存储数据集的一小部分。 索引存储特定字段或一组字段的值,按照索引中指定的字段值排序。1.1 索引案例首先创建大量数据。向集合中插入10万条文档。for(i=0;i<100000;i++){ db.t1.insert({name:'test'+i, age:i}) }然后

2021-01-10 01:30:39 79

原创 02-mongodb MongoDB 聚合 group

MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的 count(*)。基本语法为:db.collection.aggregate([<stage1>,<stage2>,...])现在在mycol集合中有以下数据:{ "_id" : 1, "name" : "tom", "sex" : "男", "score" : 100, "age" : 34 }{ "_id" : 2, "n...

2021-01-10 01:19:59 1555

原创 01--mongo数据库的各种查询语句示例

db.users.find() select*fromusers db.users.find({"age":27}) select*fromuserswhereage=27 db.users.find({"username":"joe","age":27}) select*fromuserswhere"username"="joe"andage=27 db.users.find({},{"username"...

2021-01-10 00:52:27 80

原创 计算机英语的积累

converter 英[kənˈvɜːtə(r)] 转换器, 变流器; 使发生转化的人(或物); 整流器; (改变无线电信号的)变频器; ...

2021-01-03 10:15:38 50

原创 开发工具的介绍

MongoDB可视化工具:Robo 3TRedis可视化工具:MedisIntelliJ IDEA插件推荐 插件名称 插件说明 Alibaba Java Coding Guidelines 阿里巴巴代码规约 CodeGlance 代码编辑缩略图 GrepConsole 日志输出色彩区分(方便查看日志) JRebel 热部署 MavenHelper Maven插件(方便解决依赖冲突) Rest

2020-12-29 14:23:46 68

原创 Docker ---01docker的安装和配置

1、Dockerfile、Docker镜像和Docker容器的关系Dockerfile 是软件的原材料,Docker 镜像是软件的交付品,而 Docker 容器则可以认为是软件的运行态。2、安装docker01 进入centos702 卸载之前的docker sudo yum remove docker \ docker-client \ docker-client-latest \

2020-12-22 10:03:02 68

原创 网络--03使用协议进行通信

tcp连接建立以后,就可以基于这个连接通道来发送和接受消息了,TCP、UDP都是在基于Socket概念上为某类应用场景而扩展出的传输协议,那么什么是socket呢?socket是一种抽象层,应用程序通过它来发送和接收数据,就像应用程序打开一个文件句柄,把数据读写到磁盘上一样。使用socket可以把应用程序添加到网络中,并与处于同一个网络中的其他应用程序进行通信。不同类型的Socket与不同类型的底层协议簇有关联。主要的socket类型为流套接字(stream socket)和数据报文套接字(datagra

2020-12-20 20:32:37 94

原创 网络--02TCP/IP协议的深入分析

在三次握手过程中,Server发送SYN-ACK之后,收到Client的ACK之前的TCP连接称为半连接(half-open connect),此时Server处于SYN_RCVD状态,当收到ACK后,Server转入ESTABLISHED状态。SYN攻击就是Client在短时间内伪造大量不存在的IP地址,并向Server不断地发送SYN包,Server回复确认包,并等待Client的确认,由于源地址是不存在的,因此,Server需要不断重发直至超时,这些伪造的SYN包将产时间占用未连接队列,导致正常的SY

2020-12-20 18:42:36 88

原创 网络--01远程通信协议

一个http请求的整个流程负责域名解析的DNS服务首先,用户访问一个域名,会经过DNS解析DNS(Domain Name System),它和HTTP协议一样是位于应用层的协议,主要提供域名到IP的解析服务。我们其实不用域名也可以访问目标主机的服务,但是IP本身不是那么容易记,所以使用域名进行替换使得用户更容易记住。加速静态内容访问速度的CDNCDN(Content Delivery Network)内容分发网络。CDN其实就是一种网络缓存技术,能够把一些相对稳定的资源放到

2020-12-13 22:39:30 264

原创 02--Linux的sed使用

sed是流编辑器,每一次读取一行到内存中,即称之为模式空间(pattern space) 默认不修改原文件,如果需要修改需加-i参数 sed有模式空间及保持空间(hold sapce),默认打印模式空间中的内容到标准输出 sed读取每行的时候会将内容保存至内存中 支持正则和扩展正则表达式,除-y选项命令行格式:将包含sed的命令写在命令行中执行 $ sed [options] 'command' files[Options]:-n : 与p(print)命令合用时,表示只显示被选中的行,而

2020-12-05 23:54:35 56498

原创 01--Linux的vim基础操作

说明 命令 不保存退出 强制退出 保存退出 显示行号 不显示行号 光标快速定位到第99行 删除3到15行 搜索文本中Listen这个关键字,并定位到下一个搜索到的关键字 设置文档格式为uft-8 批量修改全文内容 向下翻一页 ...

2020-12-05 14:06:26 149

转载 为什么SpringMVC中请求的body不支持多次读取_2的32次方-CSDN博客

为什么SpringMVC中请求的body不支持多次读取_2的32次方-CSDN博客

2020-12-03 12:34:27 136

原创 Sharding-JDBC

01、主要概念增强了JDBC的功能,使JDBC具有分库分表的作用。比如:SQL的解析、路由、执行和结果的处理等等。02、框架:逻辑表会在SQL解析和路由时被替换成真实的表名。分片键不一定是主键,也不一定有业务含义。03、核心概念数据节点、逻辑表、真实表、动态表、广播表、绑定表、分片键【1】、动态表对于逻辑表的分表【2】、广播表全局表,每个分片的数据库都包含有该表。【3】、绑定表主表和字表的绑定关系应该在同一个数据库,负责无法关联出数据的完整性。

2020-10-23 20:59:06 303

原创 02-JVM实战

01、查看参数java -XX:+PrintFlagsFinal -version > flags.txt值得注意的是"="表示默认值,":="表示被用户或JVM修改后的值02、实践和单位换算1Byte(字节)=8bit(位) 1KB=1024Byte(字节) 1MB=1024KB 1GB=1024MB 1TB=1024GB设置堆内存大小和参数打印 -Xmx100M -Xms100M -XX:+PrintFlagsFinal 查询+PrintFlagsFinal的值...

2020-10-18 02:18:30 237

原创 01-JVM---Garbage Collect 垃圾回收

01、怎么确定一个对象是垃圾对象引用计数法:对于某个对象而言,只要应用程序中持有该对象的引用,就说明该对象不是垃圾,如果一个对象没有任何指针对其引用,它就是垃圾。【缺点:互相引用导致永远不被回收】 可达性分析:通过GC Root的对象,开始向下寻找,看某个对象是否可达。【能作为GC Root:类加载器、Thread、虚拟机栈的本地变量表、static成员、常量引用、本地方法栈的变量等】02、垃圾收集算法【1】、标记-清除(Mark-Sweep)找出内存中需要回收的对象,并且把它们标记出来.

2020-10-18 00:31:11 112 2

原创 01--BeanFactoryPostProcessor

扩展原理:BeanPostProcessor:bean后置处理器,bean创建对象初始化前后进行拦截工作的BeanFactoryPostProcessor: beanFactory后置处理器 在BeanFactory标注初始化之后调用;来制定和修改BeanFactory的内容 所有的bean定义已经保存加载到beanFactory,但是bean的实例还没有创建BeanFactoryPostProcessor原理1)、ioc容器创建对象...

2020-10-12 15:11:03 61

原创 04--@EventListener与SmartInitializingSingleton

SmartApplicationListener1)、IOC容器创建对象并refresh()2)、finishBeanFactoryInitialization(beanFactory);初始化剩下的单实例bean 1)、先创建所有的单实例bean;getBean() 2)、获取所有创建好的单实例bean,判断是否是SmartInitializingSingleton类型; 如果...

2020-10-12 14:57:31 64

原创 03--ApplicationListener用法与原理

import org.springframework.context.ApplicationEvent;import org.springframework.context.ApplicationListener;import org.springframework.stereotype.Component;@Componentpublic class MyApplicationListener implements ApplicationListener<ApplicationEvent.

2020-10-12 14:56:07 16023

原创 02--BeanDefinitionRegistryPostProcessor

BeanDefinitionRegistryPostProcessor:利用BeanDefinitionRegistryPostProcessor给容器中再额外添加一些组件BeanDefinitionRegistryPostProcessor extends BeanFactoryPostProcessor: postProcessBeanDefinitionRegistry() 在所有bean定义信息将要被加载,bean实例还未创建; 优先于BeanFactoryPostPro...

2020-10-12 14:21:13 58

原创 03-Spring @Transactional注解不回滚不起作用无效

@Transactional注解的特性:service类标签(一般不建议在接口上)上添加@Transactional,可以将整个类纳入spring事务管理,在每个业务方法执行时都会开启一个事务,不过这些事务采用相同的管理方式。 @Transactional 注解只能应用到 public 可见度的方法上。 如果应用在protected、private或者 package可见度的方法上,也不会报错,不过事务设置不会起作用。 默认情况下,spring会对unchecked异常进行事务回滚;如果是check

2020-10-11 14:15:43 93

转载 02--spring事务的介绍

一、事务简单介绍事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。1.1 事务基本要素原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。1.2 Spring事务属性Spring事务属性对应TransactionDefinition类里面的各个方法。TransactionDefinition类方法如下所示:public interface TransactionDefiniti

2020-10-11 13:59:27 55

原创 01--spring事务的简介

环境搭建导入相关依赖:数据源、数据库驱动、等等模块 配置数据源、DataSource(Spring 提供简化数据库操作工具)操作数据库 给方法上标注@Transactional表示当前方法是一个事务 @EnableTransactionManagement开启基于注解的事务管理功能 事务管理器来管理器来控制事务 PlatformTransactionManagerimport org.springframework.context.annotation.Bean;import or.

2020-10-11 13:08:09 42

sql经典优化

sql优化,提高SQL查询效率

2014-02-10

空空如也

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

TA关注的人

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