正文内容加载中...
posted @ 2017-07-29 09:55 Grey Zeng 阅读(223) 评论(4) 推荐(2) 编辑
摘要:作者:Grey 原文地址:Java IO学习笔记八:多路复用到Netty 多路复用多线程方式还是有点麻烦,Netty帮我们做了封装,大大简化了编码的复杂度,接下来熟悉一下netty的基本使用。 Netty+最朴素的阻塞的方式来实现一版客户端和服务端通信的代码,然后再重构成Netty官方推荐的写法。 阅读全文
posted @ 2021-06-21 22:01 Grey Zeng 阅读(180) 评论(0) 推荐(0) 编辑
摘要:作者:Grey 原文地址:Java IO学习笔记七:多路复用从单线程到多线程 在前面提到的多路复用的服务端代码中, 我们在处理读数据的同时,也处理了写事件: public void readHandler(SelectionKey key) { SocketChannel client = (Soc 阅读全文
posted @ 2021-06-19 23:21 Grey Zeng 阅读(143) 评论(0) 推荐(0) 编辑
摘要:作者:Grey 原文地址:Java IO学习笔记六:NIO到多路复用 虽然NIO性能上比BIO要好,参考:Java IO学习笔记五:BIO到NIO 但是NIO也有问题,NIO服务端的示例代码中往往会包括如下代码:即:遍历所有的SocketChannel,获取能读写数据的客户端,当客户端数量非常多的时 阅读全文
posted @ 2021-06-17 20:51 Grey Zeng 阅读(135) 评论(0) 推荐(0) 编辑
摘要:作者:Grey 原文地址: Java IO学习笔记五:BIO到NIO 准备环境 准备一个CentOS7的Linux实例: 实例的IP: 192.168.205.138 我们这次实验的目的就是直观感受一下Socket编程中BIO模型和NIO模型的性能差异 BIO 准备服务端代码: import jav 阅读全文
posted @ 2021-06-16 20:08 Grey Zeng 阅读(55) 评论(0) 推荐(1) 编辑
摘要:作者:Grey 原文地址:Java IO学习笔记四:Socket基础 准备两个Linux实例(安装好jdk1.8),我准备的两个实例的ip地址分别为: io1实例:192.168.205.138 io2实例:192.168.205.149 安装必要工具: yum install -y strace 阅读全文
posted @ 2021-06-14 15:56 Grey Zeng 阅读(147) 评论(0) 推荐(0) 编辑
摘要:作者:Grey 原文地址:Java IO学习笔记三:MMAP与RandomAccessFile 关于RandomAccessFile 相较于前面提到的BufferedReader/Writer和FileReader/Writer 普通的Reader和Writer只能顺序读写数据,RandomAcce 阅读全文
posted @ 2021-06-12 17:23 Grey Zeng 阅读(44) 评论(0) 推荐(0) 编辑
摘要:作者:Grey 原文地址:Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer ByteBuffer.allocate()与ByteBuffer.allocateDirect()的基本使用 这两个API封装了一个统一的ByteBuffer返回值,在使用上是无差别的 阅读全文
posted @ 2021-06-12 11:12 Grey Zeng 阅读(92) 评论(0) 推荐(1) 编辑
摘要:作者:Grey 原文地址:Java IO学习笔记一:为什么带Buffer的比不带Buffer的快 Java中为什么BufferedReader,BufferedWriter要比FileReader 和 FileWriter高效? 问题来自于:https://www.zhihu.com/questio 阅读全文
posted @ 2021-06-10 20:28 Grey Zeng 阅读(227) 评论(1) 推荐(2) 编辑
摘要:作者:Grey 原文地址: ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 当多个进程不在同一个系统中,用分布式锁控制多个进程对资源的访问。 在单机情况下,可以使用JUC包里面的工具来 阅读全文
posted @ 2021-06-08 23:11 Grey Zeng 阅读(248) 评论(0) 推荐(0) 编辑
摘要:作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往往是通过心跳检测来判断配置的变更,通过zk的回调机制,我们可以实现比心跳更为快速的配置检测机制,包括 阅读全文
posted @ 2021-06-07 22:20 Grey Zeng 阅读(198) 评论(0) 推荐(0) 编辑
摘要:Grey ZooKeeper学习笔记二:API基本使用 准备工作 搭建一个zk集群,参考ZooKeeper学习笔记一:集群搭建。 确保项目可以访问集群的每个节点 新建一个基于jdk1.8的maven项目。 配置依赖 <dependency> <groupId>org.apache.zookeeper 阅读全文
posted @ 2021-06-06 21:44 Grey Zeng 阅读(64) 评论(0) 推荐(0) 编辑
摘要:作者:Grey 原文地址:ZooKeeper学习笔记一:集群搭建 说明 单机版的zk安装和运行参考:https://zookeeper.apache.org/doc/r3.6.3/zookeeperStarted.html 单机版的zk只适合用于测试或者开发环境,不适合用于生产环境。 本文主要介绍z 阅读全文
posted @ 2021-06-05 16:55 Grey Zeng 阅读(210) 评论(0) 推荐(1) 编辑
摘要:作者:Grey 原文地址:Linux下安装Nginx 版本 Nginx:1.20.1 操作系统:CentOS 7 安装必要工具和依赖 yum -y install wget gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-dev 阅读全文
posted @ 2021-06-03 15:00 Grey Zeng 阅读(31) 评论(0) 推荐(0) 编辑
摘要:作者:Grey 原文地址:Redis学习笔记八:集群模式 前面提到的Redis学习笔记七:主从复制和哨兵只能解决Redis的单点压力大和单点故障问题,接下来要讲的Redis Cluster模式,主要是用来解决Redis的单点容量问题。 如何来解决Redis单点容量问题呢? 如果数据可以拆分,我们可以 阅读全文
posted @ 2021-05-31 22:27 Grey Zeng 阅读(243) 评论(0) 推荐(0) 编辑
摘要:作者:Grey 原文地址:Redis学习笔记七:主从复制和哨兵 单机,单节点,单实例的Redis会有什么问题呢? 容易导致单点故障,那么如何解决呢? 可以通过主备方式 同时可以实现读写分离 这里的每个节点是全量的,镜像的。 单节点的容量有限而且单点的压力比较大,如何解决呢? 可以分不同的实例来存不同 阅读全文
posted @ 2021-05-28 15:47 Grey Zeng 阅读(369) 评论(0) 推荐(2) 编辑
摘要:作者:Grey 原文地址:Redis学习笔记六:持久化实验(AOF,RDB) Redis几种持久化方案介绍和对比 AOF方式:https://blog.csdn.net/ctwctw/article/details/105173842 RDB方式:https://blog.csdn.net/ctwc 阅读全文
posted @ 2021-05-21 16:05 Grey Zeng 阅读(147) 评论(0) 推荐(0) 编辑
摘要:基于版本 CentOS-7-x86_64-Minimal-2009 mysql-boost-8.0.25.tar.gz 注:wget下载如果不稳定,可以手动下载好mysql-boost-8.0.25.tar.gz 下载地址见:https://dev.mysql.com/downloads/mysql 阅读全文
posted @ 2021-05-20 11:39 Grey Zeng 阅读(46) 评论(0) 推荐(0) 编辑
摘要:作者:Grey 原文地址: Redis学习笔记五:缓存常见问题 击穿 key的过期造成高并发访问数据库。 解决方案 使用Redis setnxt方法,加一把锁,只有这个人可以访问数据库,并把数据存入缓存,其他的流量就可以从缓存读取数据了。 get key setnx 3-1 ok → DB拿数据 3 阅读全文
posted @ 2021-05-17 16:17 Grey Zeng 阅读(37) 评论(0) 推荐(0) 编辑
摘要:原因 内存操作 使用IO多路复用 Redis 和 I/O 多路复用 一文搞懂 Redis高性能之IO多路复用 非CPU密集型任务,Redis的瓶颈在于内存和网络带宽。 我怎么提高多核CPU的利用率? CPU不太可能是Redis的瓶颈,一般内存和网络才有可能是。 例如使用Redis的管道(pipeli 阅读全文
posted @ 2021-05-13 14:46 Grey Zeng 阅读(59) 评论(0) 推荐(0) 编辑
摘要:作者:Grey 原文地址: Redis学习笔记三:Redis有序集的底层实现(跳表) 我们可以使用Redis中的sorted_set对数据进行排序。 基本用法 #有序集 #sorted_set #Z开头的命令,ZADD,ZCOUNT zadd fruit 8 apple 2 banana 3 ora 阅读全文
posted @ 2021-05-13 12:50 Grey Zeng 阅读(30) 评论(0) 推荐(0) 编辑