(一)How Tomcat Works - 原始Web服务器
Tomcat是一个Servlet容器,Servlet首先是一个web服务器。先来看一下最基础的web服务器怎么构造的。 Tcp tcp server tcp client Http http server http client 一个原始的web服务器 Tcp web服务器其实...
Tomcat是一个Servlet容器,Servlet首先是一个web服务器。先来看一下最基础的web服务器怎么构造的。 Tcp tcp server tcp client Http http server http client 一个原始的web服务器 Tcp web服务器其实...
HTTP(HyperText Transfer Protocol)是超文本传输协议。hyper是亢奋、过度的意思,有点儿像super,HyperText就是超级文本,或者说超越普通文本,柯林斯词典对这个词的解释为:In computing, hypertext is a way of connecting pieces of text so that you can go quickly a...
看到Tomcat自定义的classloader有感而发,总结一下Java里的classloader。 classloader概述 classloader做什么 classloader加载类的流程 Java的ClassLoader体系 位置 sun.boot.class.path...
之前利用github pages提供的便利,使用jekyll创建了个人静态网站: Jekyll:GitHub Pages:如何使用jekyll搭建网站; Jekyll:mimima结构:minima网站架构; Jekyll:minima主题自定义:各种自定义元素,以minima为例; 使用了jekyll的默认主题minima。 结构 框架文件 ...
在Java程序中,一般需要统计的量被称为metric。比如请求个数、请求到来的速率、请求处理的时间分布quantile(.50/.95/.99等)。 metric统计方案 最简陋 正常部署方案 优化部署方案 大一统方案 - micrometer micrometer 统一的meter接口 ...
Java在运行时,能够实时获取对象的类型信息:RTTI(RealTime Type Identification,实时类型识别)。比如多态,父类引用指向子类对象,在调用方法时能准确地调用子类的override方法。本文从RTTI谈到反射,再聊一聊反射相关的一大应用——动态代理。 Class对象 getClass() Class.forName(Stri...
使用json序列化对象是一个很常见的方式,和其他字节方式序列化框架protobuf、avro、Java自带序列化相比,使用json的一个显而易见的好处就是可读性。 多态 Jackson @JsonTypeInfo @JsonSubTypes 必须记录的多态类型 附:示例代码 json序列化可以使用的依赖有很多,比如fas...
Java序列化框架是一种Java专有的非通用的序列化方案,这是和protobuf、avro、json等通用序列化框架的根本区别。除此之外,Java的序列化更慢、序列化后的体积更大,所以即使是在Java里,应用也没以上通用序列化框架广泛。 Java如何序列化反序列化 序列化 - write 为什么想要序列化的类必须实现Serial...
使用avro提供的工具,可以通过命令行直接查看avro文件、查看avro schema、avro和json互转等。 avro-tools 命令 base 查看avro:tojson 查看schema:getschema json转avro:fromjson 生成Java code Ref ...
Avro结合Java使用,主要有: avsc编译为Java代码; 使用生成的代码序列化反序列化对象; 编译avsc 创建对象 Avro null value 代码分析 null定义的特例 序列化反序列化 使用生成的代码 不使用生成的代码 Ref 编译avsc...