java开发系列篇
文章平均质量分 81
java开发系列篇
山海紫穹
为天地立心,为生民立命,为往圣继绝学,为万世开太平!
展开
-
018. JVM 的参数及调优
1. 调优基本概念 在调整性能时,JVM 有三个组件: 堆大小调整 垃圾收集器调整 JIT 编译器 大多...原创 2020-05-14 02:29:00 · 73 阅读 · 0 评论 -
015. 类加载机制
1. 运行时数据区 JVM 用来存储加载的类信息、常量、静态变量、编译后的代码等数据。 虚拟机规范中这是一个逻辑区划。具体实现根据不同虚拟机来实现...原创 2020-05-07 12:01:00 · 67 阅读 · 0 评论 -
017. JDK 内置命令工具
1. JDK 内置命令 官方地址(https://docs.oracle.com/javase/8/docs/technotes/tools/) 1...原创 2020-05-12 03:13:00 · 143 阅读 · 0 评论 -
016. 垃圾回收机制
1. 自动垃圾收集 自动垃圾收集是查看堆内存,识别正在使用哪些对象以及哪些对象未被使用以及删除未使用对象的过程。 使用中的对象或引用的对象意味着...原创 2020-05-12 03:05:00 · 70 阅读 · 0 评论 -
014. Netty 职责链 Pipeline 详解
1. 设计模式 - 责任链模式 1. 概念讲解 责任链模式(Chain of Responsibility Pattern)为请求创建了一个处理对象的...原创 2020-05-07 11:56:00 · 135 阅读 · 0 评论 -
013. Netty 线程模型
1. Netty 简介 Netty 是一种高性能、高扩展性的异步事件驱动的网络应用程序框架,它极大地简化了 TCP 和 UDP 客户端和服务器开发等网络编...原创 2020-04-23 04:20:00 · 76 阅读 · 0 评论 -
012. NIO 非阻塞网络编程
1. Java NIO 始于 Java1.4,提供了新的 JAVA IO 操作非阻塞 API。用意是替代 Java IO 和 Java Networkin...原创 2020-04-14 08:50:00 · 113 阅读 · 0 评论 -
010. TCP、UDP 协议
1. OSI 网络七层模型 为使不通计算机厂家的计算机能够互相通信,以便在更大的范围内建立计算机网络,有必要建立一个国际范围的网络体系结构标准。 ...原创 2020-04-09 03:08:00 · 129 阅读 · 1 评论 -
001. JAVA程序运行原理分析
1. 先来看看JVM运行时数据区的结构 线程独占: 每个线程都有它独立的空间,随线程生命周期而创建和销毁。 线程共享: 所有线程能访问这块内存数据,随...原创 2019-11-22 00:20:00 · 85 阅读 · 0 评论 -
024. ActiveMQ 高可用集群方案
1. ActiveMQ 高可用集群方案介绍 http://activemq.apache.org/clustering.html 基...原创 2020-06-09 07:15:00 · 198 阅读 · 0 评论 -
025. ActiveMQ 持久化原理及事务机制
1. ActiveMQ 持久化方案介绍 ActiveMQ 的消息持久化机制有 JDBC、AMQ、KahaDB 和 LevelDB,无论使用哪种持久化方式,...原创 2020-06-09 07:45:00 · 162 阅读 · 0 评论 -
019. Tomcat 网络线程处理模型
1. BIO + 同步 Servlet 一个请求,一个工作线程,CPU 利用率低。 新版本不再使用。 2. APR + 异步 Servlet...原创 2020-05-14 02:38:00 · 94 阅读 · 0 评论 -
021. 分布式消息中间件设计篇
1. 单体架构 2. 分布式系统架构 3. 基于消息中间件的分布式系统架构 4. 消息中间件概述 1. 什么是消息中间件 ...原创 2020-05-14 03:04:00 · 142 阅读 · 0 评论 -
051. Redis 持久化机制
1. 持久化介绍 Redis 的数据存在在内存中,如果没有配置持久化,redis 重启后数据就全丢失了,于是需要开启 redis 的持久化功能,将数据保存...原创 2020-08-20 18:42:00 · 85 阅读 · 0 评论 -
052. Redis 内存管理
1. 内存分配 不同数据类型的大小限制 Strings 类型:一个 String 类型的 value 最大可以存储 512M。 ...原创 2020-08-20 18:48:00 · 87 阅读 · 0 评论 -
053. Redis 主从复制
1. 主从复制介绍 什么是主从复制 为什么要使用主从复制 redis-server 单点故障。 单节点 QPS 有限。 主从复制的应用场...原创 2020-08-20 19:05:00 · 122 阅读 · 0 评论 -
042. LVS 基础概念解析
1. LVS 简介 1. LVS 是什么? LVS 的英文全称是 Linux Virtual Server,即 Linux 虚拟服务器。它是我们国家的章...原创 2020-08-19 17:16:00 · 219 阅读 · 0 评论 -
049. Redis 数据结构和常用命令
1. Redis 介绍 Redis 是一个开源的使用 C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 ...原创 2020-08-20 17:54:00 · 85 阅读 · 0 评论 -
050. Spring 操作 Redis
1. 简单使用 1. 实体类 User public class User implements Serializable { private Str...原创 2020-08-20 18:10:00 · 126 阅读 · 0 评论 -
047. 谷歌 Guava 缓存
1. Guava Cache 介绍 Guava Cache 是 google guava 中的一个内存缓存模块,用于将数据缓存到 JVM 内存中。 使...原创 2020-08-20 11:06:00 · 126 阅读 · 0 评论 -
046. 使用 Java 实现一个简单的内存缓存
1. 场景 在 Java 应用中,对于访问频率高,更新少的数据,通常的方案是将这类数据加入缓存中。相对从数据库中读取来说,读缓存效率会有很大提升。 在...原创 2020-08-20 10:59:00 · 247 阅读 · 0 评论 -
040. Nginx 代理缓存机制
1. Nginx 缓存简介 nginx 的 http_proxy 模块,可实现类似于 Squid 的缓存功能。 Nginx 对客户已经访问过的内...原创 2020-08-14 18:26:00 · 83 阅读 · 0 评论 -
023. ActiveMQ 支持的消息协议
1. ActiveMQ 支持哪些协议? ActiveMQ 支持多种协议传输和传输方式,允许客户端使用多种协议连接。 ActiveMQ 支持的协议...原创 2020-05-24 04:00:00 · 108 阅读 · 0 评论 -
020. Tomcat 参数调优
1. 参数调优 2. 整体架构原创 2020-05-14 02:41:00 · 87 阅读 · 0 评论 -
022. ActiveMQ 入门
1. ActiveMQ 是什么? ActiveMQ 是 Apache 出品,最流行的,能力强劲的开源消息总线。 ActiveMQ 是一个完全支持...原创 2020-05-15 02:56:00 · 80 阅读 · 0 评论 -
026. RabbitMQ 入门及消息分发机制
1. RabbitMQ 简介 RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种客户端。用于在分布式系统中存储转...原创 2020-06-28 02:26:00 · 167 阅读 · 0 评论 -
011. BIO 阻塞式网络编程
1. http 协议 请求数据包解析 第一部分:请求行,请求类型,资源路径以及 HTTP 版本。 第二部分:请求头部,紧接着请求行(即第一行)之...原创 2020-04-13 08:23:00 · 94 阅读 · 0 评论 -
009. J.U.C 之框架及工具
1. CountDownLatch 1. AQS 实现自己的 CountDownLatch public class MyCountDownLatch {...原创 2020-04-07 02:15:00 · 67 阅读 · 0 评论 -
008. J.U.C 之并发容器类 Map
1. JDK 源码学习方法 1. 演绎推导法 示例:因果推理。 因为 JAVA 中只提供了 BIO 和 NIO 两种方式,所以一切框架中,涉及到网络...原创 2020-04-06 02:32:00 · 133 阅读 · 1 评论 -
005. 线程安全之原子操作
1. 理解原子操作 1. 实现一个简单的测试用例 public class Counter { volatile int i = 0; pu...原创 2020-03-31 02:55:00 · 151 阅读 · 0 评论 -
007. J.U.C 之锁的使用
1. Lock API 1. Locks 包类层次结构 2. Lock 接口 方法签名 描述 ...原创 2020-04-05 04:39:00 · 97 阅读 · 0 评论 -
006. 线程安全之 JAVA 锁相关
1. JAVA中锁的概念 自旋锁: 是指当一个线程在获取锁的时候,如果锁已经被其他线程获取,那么该线程将循环等待,然后不断地判断锁是否能够被成功获取,直...原创 2020-04-05 04:33:00 · 72 阅读 · 0 评论 -
004. 线程安全之可见性问题
1. Java 内存内存模型 vs JVM 运行时数据区 2. 初看 Java 内存模型 多线程程序语义:当多个线程修改了共享内存中的值时,应该...原创 2019-12-25 13:03:00 · 105 阅读 · 0 评论 -
003. 线程池应用及实现原理剖析
1. 为什么使用线程池?线程池是不是越多越好? 线程在 java 中是一个对象,更是操作系统的资源,线程创建、销毁需要时间。如果创建时间+销毁时间>...原创 2019-12-17 19:23:00 · 97 阅读 · 0 评论 -
002. 线程的使用
概述 今天主要看看以下几部分内容 线程状态 线程终止 内存屏障和 CPU 缓存 线程通信 线程封闭 ...原创 2019-12-04 12:50:00 · 87 阅读 · 0 评论 -
048. Redis 单机、哨兵、集群搭建
1. Redis 单机搭建(以 6.0.6 版本为例) 安装 gcc 套装。 yum install cppyum install binutils...原创 2020-08-20 17:06:00 · 87 阅读 · 0 评论 -
045. 通过 DNS 实现高可靠的负载均衡和访问提速
1. DNS 简介 1. 简单介绍 DNS(Domain Name System,域名系统),其主要作用就是将主机名解析成 ip 地址的过程,完成了从域...原创 2020-08-19 20:24:00 · 272 阅读 · 0 评论 -
044. 使用 CDN 实现应用的缓存和加速
1. CDN 简介 CDN 的全称是 Content Delivery Network,即内容分发网络。 CDN 是构建在网络之上的内容分发网络。 ...原创 2020-08-19 19:34:00 · 398 阅读 · 0 评论 -
043. 基于 VIP 的 Keepalived 高可用架构讲解
1. Keepalived 简介 1. keepalived 的作用 Keepalived 的作用是检测服务器的状态。如果有一台 web 服务器宕机,或...原创 2020-08-19 18:45:00 · 259 阅读 · 0 评论 -
033. RocketMQ 入门
1. 简介 1. RocketMQ 是什么? RocketMQ 是由阿里捐赠给 Apache 的一款分布式、队列模型的开源消息中间件,经历了淘宝双十一的...原创 2020-07-06 18:51:00 · 90 阅读 · 0 评论