GC日志配置

Java 8

1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh
LOG_DIR="/tmp/logs"
JAVA_OPT_LOG=" -verbose:gc"
JAVA_OPT_LOG="${JAVA_OPT_LOG} -XX:+PrintGCDetails"
JAVA_OPT_LOG="${JAVA_OPT_LOG} -XX:+PrintGCDateStamps"
JAVA_OPT_LOG="${JAVA_OPT_LOG} -XX:+PrintGCApplicationStoppedTime"
JAVA_OPT_LOG="${JAVA_OPT_LOG} -XX:+PrintTenuringDistribution"
JAVA_OPT_LOG="${JAVA_OPT_LOG} -Xloggc:${LOG_DIR}/gc_%p.log"
JAVA_OPT_OOM=" -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${LOG_DIR} -XX:ErrorFile=${LOG_DIR}/hs_error_pid%p.log "
JAVA_OPT="${JAVA_OPT_LOG} ${JAVA_OPT_OOM}"
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"

-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps
-XX:+PrintGCApplicationStoppedTime -XX:+PrintTenuringDistribution
-Xloggc:/tmp/logs/gc_%p.log -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/tmp/logs -XX:ErrorFile=/tmp/logs/hs_error_pid%p.log
-XX:-OmitStackTraceInFastThrow

Java实现链表

Java实现链表

单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。(逻辑地址相连,物理地址不相连)

Java字节码指令收集大全

Java字节码指令收集大全

常量入栈指令

指令码 操作码(助记符) 操作数 描述(栈指操作数栈)
0x01 aconst_null null值入栈
0x02 iconst_m1 -1(int)值入栈
0x03 iconst_0 0(int)值入栈
0x04 iconst_1 1(int)值入栈
0x05 iconst_2 2(int)值入栈
0x06 iconst_3 3(int)值入栈
0x07 iconst_4 4(int)值入栈
0x08 iconst_5 5(int)值入栈
0x09 lconst_0 0(long)值入栈
0x0a lconst_1 1(long)值入栈
0x0b fconst_0 0(float)值入栈
0x0c fconst_1 1(float)值入栈
0x0d fconst_2 2(float)值入栈
0x0e dconst_0 0(double)值入栈
0x0f dconst_1 1(double)值入栈
0x10 bipush valuebyte valuebyte值带符号扩展成int值入栈
0x11 sipush valuebyte1 valuebyte2 (valuebyte1 << 8)|valuebyte2 值带符号扩展成int值入栈。
0x12 ldc indexbyte1 常量池中的常量值
(int, float, string reference, object reference)入栈。
0x13 ldc_w indexbyte1 indexbyte2 常量池中常量
(int, float, string reference, object reference)入栈。
0x14 ldc2_2 indexbyte1 indexbyte2 常量池中常量(long, double)入栈。

dubbo负载均衡

Dubbo 提供了4种负载均衡实现,分别是:

  • 基于权重随机算法的 RandomLoadBalance;
  • 基于最少活跃调用数算法的 LeastActiveLoadBalance;
  • 基于 hash 一致性的 ConsistentHashLoadBalance;
  • 基于加权轮询算法的 RoundRobinLoadBalance;

java性能优化

java性能优化

项目的并发量级是多少?

有没有性能问题诊断和优化的生产经验

说说你过往项目的真实调优过程,常用指标有哪些?

jvm参数设置大小的依据是什么?

解决过索引失效问题吗?

基于并发量要求你会从哪些维度考虑

java泛型

java泛型

Java从1.5之后支持泛型,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。

|