- 博客(11)
- 收藏
- 关注
原创 Elasticsearch下载与使用
ES节点客户端(Node client)节点客户端作为一个非数据节点加入到本地集群中。换句话说,它本身不保存任何数据,但是它知道数据在集群中的哪个节点中,并且可以把请求转发到正确的节点。传输客户端(Transport client)轻量级的传输客户端可以将请求发送到远程集群。它本身不加入集群,但是它可以将请求转发到集群中的一个节点上。功能:搜索引擎;底层:基于lucence;特点:分布式、实时性;语言:java提供:Restful API;使用方式:JSON;
2023-07-01 14:09:05
729
原创 zookeeper安装与启动
zk被设计用于存储协调数据:状态信息、配置、位置信息等,因此每个节点存储的数据一般很小,在B~KB的范围内。•心跳:主机 A, B 通过 tcp 连接发送数据,如果拔掉 A 主机的网线,B 是无法感知到的。•znode维护一个统计结构,其中包括数据更改、ACL更改和时间戳的版本号,每次znode数据更改时,版本号都会增加。•临时节点:只要创建znode的会话处于活动状态,这些znode就存在,当会话结束时,znode被删除。存储内存数据库快照的位置,除非另有说明,否则存储数据库更新的事务日志。
2023-07-01 13:55:26
2472
原创 Redis跳跃表
redis的5种数据类型:○string(字符串):一个key对应一个value,可以包含任何数据,比如jpg或者序列化对象,一个key最大存储512MB的value。命令:•hash(哈希):是string类型的field和value的映射表,适合存储对象。设置两个key-value○list(列表):Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。最多可存放2^32-1个元素。
2023-07-01 13:51:56
144
原创 Netty(一)
一个socket代表网络通信的一端,是由操作系统提供的进程间通信机制。零拷贝:零表示次数为0,拷贝表示把数据从一个存储区转移到另一个存储区。write:先将数据写入到socket缓冲区中,最后写入网卡设备。read:将数据从磁盘读取到内核缓存区中,再拷贝到用户缓冲区。合起来就是,不需要将数据从一个存储区复制到另一个存储区。优点:提供异步的、事件驱动的网络应用程序框架和工具。图1 java IO的内部过程。通过DirectByteBuf。二、Linux IO模型。
2023-07-01 13:42:21
118
原创 操作系统的一些概念
HLDA总线响应:输出,高电平有效。传输:DMAC获得总线控制权后,CPU即可挂起或只执行内部操作,有DMAC输出读写命令,直接控制RAM与I/O接口进行DMA传输。此时,总线裁决逻辑输出总线应答,表示DMA已响应,通过DMAC通知I/O接口开始DMA传输。总线是由导线组成的传输线束,实现计算机各种功能部件之间传送信息,主要分为数据总线(Data Bus)、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。请求:CPU对DMAC初始化,并向I/O接口发出操作指令,I/O接口提出DMA请求。
2023-07-01 13:38:13
86
原创 springboot拦截器鉴权
实现处理器预处理,请求会先到这里,当这个方法返回值是true的时候表示处理器可以正常往下执行,返回false,则不会继续执行处理器的代码,一般用来身份验证和鉴权。在springboot中可以通过实现HandlerInterceptor接口实现拦截器,这里主要介绍通过预处理做身份鉴权的方法。拦截器:作用类似于Servlet中的Filter,用于对处理器进行预处理和后处理。在视图渲染完毕时候调用,一般用来进行统一的异常处理,日志处理。是后处理回调方法,也就是控制器完成后执行。
2023-05-29 15:14:16
450
原创 springboot使用shardingsphere
shardingjdbc是基于aop原理,在应用程序对本地执行的sql进行拦截,解析,改写,路由处理。使用方便,只需要在配置文件编写实现,支持java语言,性能较高。在 mybatis中对逻辑表名‘like_record和like_log’进行操作就可以了。
2023-05-06 13:11:01
1546
原创 RestTemplate的使用
restTemplate是spring框架提供的,可以简化与restful服务进行交互的过程。可以在服务中方便的调用其他http服务。
2023-05-06 13:10:10
237
1
原创 start与run方法的区别
start与run方法的区别运行结果Thread类实现了Runnable接口run()方法为Runnable接口中的方法,必须被实现。而Thread类的start()方法中调用了start0()方法Thread.java:native关键字表示这不是一个java方法我们去jvm源码中查看thread.c文件...
2021-06-01 15:57:43
151
原创 一维数组建立完全二叉树
一维数组建立完全二叉树python实现// An highlighted blockclass TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Nonedef CreateTree(completeTreeList, start): """ 用数组创建完全二叉树 :param completeTreeList: li
2021-01-25 14:50:09
970
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人