60,000 毫秒内对 Linux 进行性能诊断 Java

60,000 毫秒内对 Linux 进行性能诊断

当你发现 Linux 服务器上的系统性能问题,在最开始的 1 分钟时间里,你会查看哪些系统指标呢? Netflix 在 AWS 上有着大规模的 EC2 集群,以及各种各样的性能分析和监控工具。比如我们使用 Atlas 来监控整个平台,用 Vector 实时分析 EC2 实例的性能。这些工具已经能够帮助我们解决大部分的问题,但是有时候我们还是要登录进机器内部,用一些标准的 Linux 性能分析工...
阅读全文
解读 Java 内存模型 编程技术

解读 Java 内存模型

伟人之所以伟大,是因为他与别人共处逆境时,别人失去了信心,他却下决心实现自己的目标。 Java内存模型(Java Memory Model)定义了Java的线程在访问内存时会发生什么。这里针对以下几个要点进行解析: 重排序 可见性 synchronized volitile final Double-Checked Locking 首先了解一...
阅读全文
java中的枚举(及七种常见的形式) 编程技术

java中的枚举(及七种常见的形式)

枚举是一种规范它规范了参数的形式,这样就可以不用考虑类型的不匹配并且显式的替代了int型参数可能带来的模糊概念 枚举像一个类,又像一个数组。 Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口。 当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征。 **1.它不能有public的构造...
阅读全文
60,000 毫秒内对 Linux 进行性能诊断 编程技术

60,000 毫秒内对 Linux 进行性能诊断

当你发现 Linux 服务器上的系统性能问题,在最开始的 1 分钟时间里,你会查看哪些系统指标呢? Netflix 在 AWS 上有着大规模的 EC2 集群,以及各种各样的性能分析和监控工具。比如我们使用 Atlas 来监控整个平台,用 Vector 实时分析 EC2 实例的性能。这些工具已经能够帮助我们解决大部分的问题,但是有时候我们还是要登录进机器内部,用一些标准的 Linux 性能分析工具...
阅读全文
Java自动化测试(Maven 8) 编程技术

Java自动化测试(Maven 8)

Maven作用 Maven主要作用是使用它来导入第三方jar包 管理项目 下载Maven 下载地址:http://maven.apache.org/download.cgi image-20200718084505519 Binary:编译之后的二进制文件; Source:表示可以查看源代...
阅读全文
SCTF 2020 两道Login Me预期解的核心技术 Java

SCTF 2020 两道Login Me预期解的核心技术

详细的漏洞分析可以参考 Apereo CAS 4.X execution参数反序列化漏洞分析 这里不在赘述。文章提到了,前后两个版本区间的encode方法是不一样。 在cas4.x-cas.4.1.5中的加密伪代码如下 payload = gzip(Java Serialized data) body = aes128_cbc_encode(key, iv, payload)...
阅读全文
Java对世界不同时区timezone之间时间转换的处理方法 编程技术

Java对世界不同时区timezone之间时间转换的处理方法

最近出现一个问题是这样的:我们的系统在国外打印的日志时间由于时差关系和国内不一致,看起来不方便,希望国外的日志和国内保持一致,即:需要对不同时区的时间做转换调整,统一为国内时间。 一、关于时区的一些概念 1.1 什么是时区? timezone,即由于世界各国家与地区经度不同,地方时也有所不同,按照经度将全球划分为24个时区。 时区有相应的英文字母缩写,例如GMT,UTC,C...
阅读全文
CAS底层原理与ABA问题 编程技术

CAS底层原理与ABA问题

CAS定义 CAS(Compare And Swap)是一种无锁算法。CAS算法是乐观锁的一种实现。CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当预期值A和内存值V相同时,将内存值V修改为B并返回true,否则返回false。 CAS与synchronized (1)synchronized加锁,同一时间段只允许一个线程访问,能够保证一致性但是并发性下降。 (2)C...
阅读全文
Loading...