摘要: click 构建命令行工具 阅读全文
posted @ 2022-11-11 20:06 Super-Yan 阅读(15) 评论(0) 推荐(0) 编辑
摘要: <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> 阅读全文
posted @ 2021-03-01 11:41 Super-Yan 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 解析自定义标签源码: DefaultBeanDefinitionDocumentReader#parseBeanDefinitions->delegate.parseCustomElement(ele) 跟踪源码可以看到,Spring 解析自定义标签时,会从 META-INF/spring.hand 阅读全文
posted @ 2021-01-06 18:35 Super-Yan 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 一. 认识Kafka Kafka是一个开源流处理平台,高吞吐量的分布式发布订阅消息系统,可用于收集并处理用户在网站中的所有动作流数据以及物联网设备的采样信息。 使用场景 异步通信 消峰填谷 解耦 短信发送使用Kafka:如果是同步的,用户注册需要保存db(30ms)+发送短信服务(30ms)=60m 阅读全文
posted @ 2020-10-01 20:37 Super-Yan 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 一. 对象创建过程 前置知识 在 Java 程序中,我们拥有多种新建对象的方式。最常见的就是通过 new 语句,除此之外还有反射、系列化、深浅拷贝、通过Unsafe等直接操作内存。 其中深浅拷贝和反序列化通过直接复制已有的数据,Unsafe等操作内存的方法也没有初始化实例字段,而 new 语句和反射 阅读全文
posted @ 2020-09-27 15:55 Super-Yan 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 一. 基本类型 在Java中类型可分为两大类:基本类型和引用类型,我们先来看看基本类型。 Java中提供了八种预先定义好的基本类型,来支持数值计算:byte short int long char boolean float double 使用基本类型主要是基于工程上的考虑,可以在执行效率和内存使用 阅读全文
posted @ 2020-09-27 11:29 Super-Yan 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 内存是冯诺依曼体系中重要的一环,负责存储计算的数据和计算函数本身,是cpu唯一可以直接读取的硬件。对于c、c++开发人员来说,他们需要手动的申请和释放计算机内存,什么都靠自己,权力越大也就越累。对于Java程序员,在虚拟机的自动内存管理机制的帮助下,不需要再去手动操作内存(当然Java也提供了函数允 阅读全文
posted @ 2020-09-26 22:49 Super-Yan 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 一. 直接内存(堆外内存) 1. Java的Unsafe类 内地内存的操作 2. Netty#ByteBuffer,底层操作系统malloc函数 3. JNI或JNA 为什么要使用之直接内存 1. 减少垃圾回收工作,减少STW:直接内存不受JVM控制,需要手动回收 2. 加快复制的速度:例如网络IO 阅读全文
posted @ 2020-09-26 15:35 Super-Yan 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 一. 压测工具AB 安装 yum -y install httpd-tools 测试 web 项目,接口 http get 模拟10个并发(100个总请求) ab -c 10 -n 100 url 测试 web 项目,接口 http post ab -c 10 -n 100 -p 'post.txt 阅读全文
posted @ 2020-09-20 17:27 Super-Yan 阅读(307) 评论(0) 推荐(0) 编辑
摘要: jps 虚拟机进程状况工具 示例: 1. jps 打印进程号和进程名 2. jps -q1 打印进程号 3. jps -m 打印进程号、进程名和启动参数 4. jps -l 打印进程号和main程序路径名 5. jps -v 打印虚拟机及其参数 jstat 虚拟机统计信息监视工具 示例: 1. js 阅读全文
posted @ 2020-09-16 23:21 Super-Yan 阅读(121) 评论(0) 推荐(0) 编辑