自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JDK源码级别理解双亲委派机制

JDK源码级别理解双亲委派机制。

2022-08-13 15:09:40 445 1

原创 ArrayList源码解析

特性实现了三个标记接口: RandomAccess, Cloneable, java.io.Serializable public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.SerializableRandomAccess支持随机访问(基于下标),为了能够更好地判断集合是Array

2022-05-13 18:43:54 192

原创 MySQL索引概述

索引的本质索引是帮助MySQL高效获取数据的 排好序 的 数据结构索引的数据结构下面介绍几种数据结构,先有个影响。mysql索引支持B+树 和 hash。二叉树二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。但是对于单边增长的数据没有性能提升 最后相当于链表。红黑树R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。红黑

2022-02-09 21:05:00 679

原创 zookeeper源码一(下载启动)

下载// git地址 版本3.5.8https://github.com/apache/zookeeper.git导入idea启动源码导入后,org.apache.zookeeper.Version类会报错,需要建一个辅助类package org.apache.zookeeper.version;public interface Info { int MAJOR = 1; int MINOR = 0; int MICRO = 0; String QUALIFI

2021-04-01 18:28:19 301

原创 zookeeper集群

Zookeeper集群zookeeper集群的目的是为了保证系统的性能承载更多的客户端连接设专门提供的机制。通过集群可以实现以下功能:读写分离:提高承载,为更多的客户端提供连接,并保障性能。主从自动切换:提高服务容错性,部分节点故障不会影响整个服务集群。运行机制说明:集群至少需要三台服务器,并且强烈建议使用奇数个服务器。因为zookeeper 通过判断大多数节点的存活来判断整个服务是否可用。比如3个节点,挂掉了2个表示整个集群挂掉,而用偶数4个,挂掉了2个也表示其并不是大部分存活,因此也会挂掉

2021-03-04 19:09:34 393 1

原创 zookeeper Java客户端使用

客户端API常规应用zookeeper 提供了java与C两种语言的客户端。本文引用的是java客户端。引入最新的maven依赖: <!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper --> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zook

2021-03-02 16:48:42 191

原创 zookeeper介绍及基本使用

zookeeper简介产生背景从单体项目到分布式项目转变之后,会产生多个服务节点之间的协同问题。如 1.每天的定时任务有哪个节点执行 2.RPC调用时的服务发现 3.如何保证并发请求的幂等性 4. ...这些问题可以统一归纳为多节点协调问题,如果靠节点自身进行协调这是非常不可靠的,性能也不可取。必须由一个独立的服务去完成协调工作,它必须可靠且保证性能。概要Zookeeper 是用于分布式应用程序的协调服务。他有一组简单的API,基于这组API可以进行同步节点状态、配置等信息、服务发现

2021-03-01 16:38:38 1667 2

原创 JAVAIO模型之NIO、BIO、AIO

IO模型io模型就是各种数据使用相应通道进行发送和接收。Java共支持三种网络编程IO模式 BIO、NIO、AIOBIO (Blocking IO)同步阻塞模型,一个客户端连接对应一个处理线程。缺点IO代码里read是阻塞操作,如果连接不做读写操作会导致线程阻塞,浪费资源如果读写很多,会导致服务器线程过多,压力太大。应用场景BIO适用于连接数目较小且固定的架构,这种方式对服务器资源的要求比较高,但是程序简单易理解。示例代码/** * 服务端 * @author 风信子 */

2021-02-23 14:27:47 1233 9

原创 redis linux 单机安装及简单操作

redis linux 单机简单安装下载安装redis 官网下载安装下载 : wget http://download.redis.io/releases/redis-5.0.3.tar.gz解压:tar xzf redis-5.0.3.tar.gz 进入redis 目录: cd redis-5.0.3编译与安装: make (redis是由C语言编写的,它的运行需要C环境,所以编译前需安装 gcc:yum install gcc-c++)启动并指定配置文件:src/red

2021-01-29 14:13:01 118

原创 多线程

多线程1、什么是进程正在执行的应用程序2、什么是线程线程是进程的基本单位,一个进程中可以同时存在多个线程。(可以将线程想象成控制单元)3.实现线程类的两种方式3.1 继承Thread类public class TaskThread extends Thread{ //第一步 继承Thread类 @override public void run(){ //第二步 :重写r...

2019-02-18 22:52:37 97

空空如也

空空如也

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

TA关注的人

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