上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页
摘要: 一、概述 HTTP 首部字段是构成 HTTP 报文的要素之一。在客户端与服务器之间以 HTTP 协议进行通信的过程中,无论是请求还是响应都会使用首部字段,它能起到传递额外重要信息的作用。 使用首部字段是为了给浏览器和服务器提供报文主体大小、所使用的语言、认证信息等内容。 HTTP/1.1 首部字段根 阅读全文
posted @ 2020-06-15 11:27 JMCui 阅读(568) 评论(0) 推荐(1) 编辑
摘要: 一、前言 高可用性 HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA 系统是目前企业防止核心计算机系统因故障停机的最有效手段。 实现 HA 的方式,一般采用两台机器同时完成一项功能,比如数据库 阅读全文
posted @ 2020-06-06 16:51 JMCui 阅读(7834) 评论(0) 推荐(1) 编辑
摘要: 一、HTTP 请求流程 最初,HTTP 协议的出现主要是为了解决文本传输的难题,由于协议本身非常简单,于是在此基础上设想了很多应用方法并投入了实际使用。现在 HTTP 协议已经超出了 Web 这个框架的局限,被运用到了各种场景里。 目前主流的 HTTP 版本还是 HTTP/1.1。 HTTP 协议基 阅读全文
posted @ 2020-05-20 11:13 JMCui 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 一、jacoco 简介 jacoco 是一个开源的覆盖率工具,它针对的开发语言是 java。其使用方法很灵活,可以嵌入到 ant、maven 中;可以作为 Eclipse 插件;可以作为 javaAgent 探针监控 java 程序等等。 很多第三方的工具提供了对 jacoco 的集成,如 sona 阅读全文
posted @ 2020-05-07 15:09 JMCui 阅读(9349) 评论(0) 推荐(2) 编辑
摘要: 一、前言 相信做过开发的同学,都多多少少写过下面的代码,很长一段时间我一直以为这就是单元测试... @SpringBootTest @RunWith(SpringRunner.class) public class UnitTest1 { @Autowired private UnitService 阅读全文
posted @ 2020-04-29 14:41 JMCui 阅读(13231) 评论(0) 推荐(7) 编辑
摘要: 一、git hook 和其它版本控制系统一样,Git 能在特定的重要动作发生时触发自定义脚本。有两组这样的钩子:客户端钩子和服务器钩子。客户端钩子由诸如提交和合并这样的操作所调用,而服务器端钩子作用于诸如接收被推送的提交这样的联网操作。 钩子都被存储在 Git 目录下的 hooks 子目录中。 也即 阅读全文
posted @ 2020-04-27 11:30 JMCui 阅读(3928) 评论(0) 推荐(0) 编辑
摘要: 在高性能硬件上部署程序,目前主要有两种方式: 1. 通过64位JDK来使用大内存。 2. 通过若干个32位虚拟机建立逻辑集群来利用硬件资源。 32位的虚拟机和64位的虚拟机部署应用有什么区别? 1. 在32位的 Windows 平台中每个进程只能使用 2GB 内存,考虑到堆以外的内存开销,堆一般最多 阅读全文
posted @ 2020-04-20 14:46 JMCui 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。每一个栈帧都包括了局部变量表、操作数栈、动态连接、方法返回地址和一些额外的附加信息。在编译程序代码的时候,栈帧中需要多大的局部变量表、多深的操作数栈都已经完全确定了,并且写入到 阅读全文
posted @ 2020-04-20 14:45 JMCui 阅读(719) 评论(0) 推荐(0) 编辑
摘要: 一、类加载机制 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。 类的整个生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析( 阅读全文
posted @ 2020-04-15 10:11 JMCui 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 一、Class 文件结构 JDK 的版本号已经到 14 了,相对于语言、API 以及 Java 技术体系中其他方面的变化,Class 文件结构一直处于比较稳定的状态,Class 文件的主体结构、字节码指令的语义和数量几乎没有出现过变动。 Class 文件是一组以8位字节为基础单位的二进制流,各个数据 阅读全文
posted @ 2020-04-11 15:55 JMCui 阅读(470) 评论(0) 推荐(0) 编辑
摘要: BTrace 是什么? BTrace 是一个动态安全的 Java 追踪工具,它通过向运行中的 Java 程序植入字节码文件,来对运行中的 Java 程序热更新,方便的获取程序运行时的数据信息,并且,保证自己的消耗特别小,大部分情况下不会影响 Java 程序的性能。 BTrace 能干什么? 相信每一 阅读全文
posted @ 2020-04-11 15:54 JMCui 阅读(779) 评论(0) 推荐(1) 编辑
摘要: 一、协程 一个进程可以产生许多线程,每个线程有自己的上下文,当我们在使用多线程的时候,如果存在长时间的 I/O 操作,线程会一直处于阻塞状态,这个时候会存在很多线程处于空闲状态,会造成线程资源的浪费。这就是协程适用的场景。 协程,其实就是在一个线程中,有一个总调度器,对于多个任务,同时只有一个任务在 阅读全文
posted @ 2020-03-25 17:12 JMCui 阅读(7961) 评论(0) 推荐(0) 编辑
摘要: 一、写在前面 Java Agent 这个技术出现在 JDK1.5 之后,对于大多数人来说都比较陌生,但是多多少少又接触过,实际上,我们平时用的很多工具,都是基于 Java Agent 实现的,例如常见的热部署 JRebel,各种线上诊断工具(Btrace, Greys),还有阿里开源的 Arthas 阅读全文
posted @ 2020-03-25 10:23 JMCui 阅读(2760) 评论(0) 推荐(0) 编辑
摘要: JCTools 早在96年就有论文提出了无锁队列的概念,再到后来 Disruptor,高性能已得到生产的验证。此处介绍的 Jctools 中的高性能队列,其性能丝毫不输于 Disruptor。 JCTools (Java Concurrency Tools) 提供了一系列非阻塞并发数据结构(标准 J 阅读全文
posted @ 2020-03-20 13:06 JMCui 阅读(4164) 评论(0) 推荐(0) 编辑
摘要: 一、写在前面 "上一篇文章" 我们介绍了性能监控的一些命令,包括 jmap (生成堆存储快照)和 jstack(生成线程快照),事实上,在没有一些监控工具之前,我们用的最多的也是这两个命令来进行虚拟机性能的监控调优。但是这两个命令都有自己不足的地方: 使用 jmap 命令,从 Heap Dump 开 阅读全文
posted @ 2020-03-19 15:49 JMCui 阅读(1718) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页