深入学习Redis之基础使用及功能

2020-12-30
阅读 13 分钟
2.7k
Jedis 是 Redis 官方首选的 Java 客户端开发包。集成了 redis 的一些命令操作,封装了 redis 的 java 客户端。提供了连接池管理。

深入学习Redis之特性及命令

2020-12-29
阅读 21 分钟
3.6k
什么是 RedisRedis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等...

MySQL 数据库集群-PXC 方案(四)

2020-11-28
阅读 20 分钟
2.1k
大数据归档-冷热数据分离虽然之前我们的数据是分散在不同的分片中,但是日积月累分片中的数据越来越多,数据迁移的成本就大大提高,所以能不能将数据进行分离。我们可以将很少使用到的数据,从分片中归档到归档数据库中。InnoDB 写入慢的原因因为 InnoDB 本身使用的是 BTree 索引,正因为如此,每次写入都需要用 IO 进行...

MySQL 数据库集群-PXC 方案(三)

2020-11-27
阅读 19 分钟
2.5k
MySQL 数据库集群-PXC 方案(三)什么是基准测试基准测试是针对系统的一种压力测试,但基准测试不关心业务逻辑,更加简单、直接、易于测试,不要求数据的真实性和逻辑关系。基准测试的指标Sysbench 简介Sysbench 是一个模块化的、跨平台、多线程基准测试工具,主要用于测试系统及数据库的性能。它主要包括以下几种方式的...

MySQL 数据库集群-PXC 方案(二)

2020-11-25
阅读 17 分钟
2.4k
PXC 集群信息可以分为队列信息、复制信息、流控信息、事务信息、状态信息。这些信息可以通过 SQL 查询到。每种信息的详细意义可以在官网查看。

MySQL 数据库集群-PXC 方案(一)

2020-11-24
阅读 7 分钟
5.4k
PXC 是一套 MySQL 高可用集群解决方案,与传统的基于主从复制模式的集群架构相比 PXC 最突出特点就是解决了诟病已久的数据复制延迟问题,基本上可以达到实时同步。而且节点与节点之间,他们相互的关系是对等的。PXC 最关注的是数据的一致性,对待事物的行为时,要么在所有节点上执行,要么都不执行,它的实现机制决定了...

使用 ShardingSphere 实操MySQL分库分表实战

2020-11-20
阅读 27 分钟
16.5k
Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款相互独立,却又能够混合部署配合使用的产品组成。 它们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。

Netty入门学习总结

2020-11-06
阅读 44 分钟
2.8k
NIO 的类库与 API 繁杂,需要熟练掌握 Selector、ServerSocketChannel、SocketChannel、Bytebuffer 等。

理解什么是BIO/NIO/AIO

2020-11-04
阅读 19 分钟
20.3k
Java 支持 3 种网络编程模型:BIO、NIO、AIO。Java BIO:同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不作任何事情会造成不必要的线程开销。Java NIO:同步非阻塞,服务器实现模式为一个线程处理多个请求(连接),即客户端发送的...

​Socket - TCP快速入门

2020-11-03
阅读 9 分钟
2k
Socket - TCP 快速入门TCP 是什么英语:Transmission Control Protocol,缩写为 TCP。TCP 是传输控制协议;是一种面向连接的、可靠的、基于字节流的传输层通信协议,由 IETF 的 RFC 793 定义。与 UDP 一样,完成第四层传输层所指定的功能与职责。和 UDP 最大的区别是需要连接的,三次握手四次挥手,校验机制保证了数据传...

Socket - UDP快速入门

2020-11-01
阅读 9 分钟
2.1k
Socket - UDP快速入门UDP是什么英语:User Datagram Protocol,缩写为UDP。一种用户数据报协议,又称用户数据报文协议。是一个简单的面向数据报的传输层协议,正式规范为 RFC 768。用户数据协议、非连接协议。为什么UDP是不可靠的它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份。UDP在IP数据报的头部仅仅...

Socket网络编程入门

2020-10-31
阅读 9 分钟
2.8k
什么是网络编程什么是网络?在计算机领域中,网络是信息传输、接受、共享的虚拟平台。通过它把各个点、面、体的信息联系到一起,从而实现这些资源的共享。什么是网络编程?网络编程从大的方面就是说对信息的发送接收。通过操作相应API调度计算机资源硬件,并且利用管道(网线)进行数据交互的过程。更为具体的涉及:网络...

不得不了解的HTTP协议

2020-10-30
阅读 21 分钟
5k
了解 HTTP 协议浏览器背后的故事当我们在浏览器输入一个域名后,背后究竟发生了什么?第一步:当我们输入域名后,在 DNS 服务器进行域名查询。第二步:得到对应的 ip 地址。第三步:浏览器根据 ip 向 web 服务器进行通信发送请求,而通信的协议就是 HTTP。第四步:web 服务器回传页面内容。第五步:浏览器收到回传信息的...

JVM类加载详解

2020-10-29
阅读 13 分钟
2.8k
ClassLoader的作用:ClassLoader是Java的核心组件,所有的Class都是由ClassLoader进行加载的,ClassLoader负责通过各种方式将Class信息的二进制数据流读入JVM内部,转换为一个与目标类对应的java.lang.Class对象实例。然后交给Java虚拟机进行链接、初始化等操作。因此,ClassLoader在整个装载阶段,只能影响到类的加载,...

JVM字节码指令集概述

2020-10-28
阅读 18 分钟
7.7k
Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成。由于Java虚拟机采用面向操作数栈而不是寄存器的结构,所以大多数的指令都不包含操作数,只有一个操作码。

JVM字节码文件概述

2020-10-25
阅读 13 分钟
4.8k
Java虚拟机不和包括Java在内的任何语言绑定,它只与Class文件这种特定的二进制文件所关联,无论使用何种语言进行软件开发,只要能将源文件编译为正确的Class文件,那么这种语言就可以这Java虚拟机上执行。

Java深入学习并发原理总结

2020-09-30
阅读 85 分钟
6.3k
线程池就是首先创建一些线程,它们的集合称为线程池。使用线程池可以很好地提高性能,线程池在系统启动时即创建大量空闲的线程,程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个任务。

Java并发多线程基础总结

2020-09-16
阅读 43 分钟
3.1k
Java深入学习并发原理总结线程核心一:实现多线程的正确姿势实现多线程到底有几种网上有说 2 种,3 种,4 种,6 种等等 🤦‍♂️我们看 Oracle 官网 API 是怎么描述的。官方描述为两种:继承 Thread 类实现 Runnable 接口有两种方法可以创建新的执行线程。 一种是将一个类声明为 Thread 的子类。 该子类应重写 Thread 类的 r...

JVM垃圾回收概述

2020-09-08
阅读 37 分钟
3.5k
垃圾收集机制是 Java 的招牌能力,极大的提高了开发效率。如今,垃圾收集几乎成为了现代语言的标配,即使经过了如此长时间的发展,Java 的垃圾收集机制仍然在不断的演进中,不同大小的设备、不同特征的应用场景都对垃圾收集提出了新的挑战,也是面试的热门考点。

JVM运行时数据区概述

2020-09-02
阅读 23 分钟
10.2k
JVM类加载概述JVM垃圾回收概述运行时数据区概述程序计数器(Program Counter Register)是一块较小的内存空间,可以看作是当前线程所执行字节码的行号指示器,指向下一个将要执行的指令代码,由执行引擎来读取下一条指令。虚拟机栈 (Stack Area)栈是线程私有,栈帧是栈的元素。每个方法在执行时都会创建一个栈帧。栈帧中...

JVM类加载概述

2020-08-25
阅读 7 分钟
3k
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生...