首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

源码级深度理解 Java SPI

**SPI 配置:**Java SPI 机制约定的配置文件,提供查找服务实现类的逻辑。...配置文件必须置于 META-INF/services 目录中,并且,文件名应与服务提供者接口的完全限定名保持一致。文件中的每一行都有一个实现服务类的详细信息,同样是服务提供者类的完全限定名称。...MySQL查询 MOCK 类package io.github.dunwu.javacore.spi;public class MysqlStorage implements DataStorage {...配置文件必须置于 META-INF/services 目录中,并且,文件名应与服务提供者接口的完全限定名保持一致。文件中的每一行都有一个实现服务类的详细信息,同样是服务提供者类的完全限定名称。...以本示例代码为例,其文件名应该为io.github.dunwu.javacore.spi.DataStorage, 文件中的内容如下:io.github.dunwu.javacore.spi.MysqlStorageio.github.dunwu.javacore.spi.RedisStorage

30920

认识Java Core和Heap Dump

为了能够保留Java应用发生致命错误前的运行状态,JVM在死掉前产生两个文件,分别为JavaCore及HeapDump文件。...JavaCore和Heap Dump的区别 l JavaCore是关于CPU的 JavaCore文件主要保存的是Java应用各线程在某一时刻的运行的位置,即JVM执行到哪一个类、哪一个方法、哪一个行上。...通过对JavaCore文件的分析可以得到应用是否“卡”在某一点上,即在某一点运行的时间太长,例如数据库查询,长期得不到响应,最终导致系统崩溃等情况。 l HeapDump文件是关于内存的。...HeapDump文件是一个二进制文件,它保存了某一时刻JVM堆中对象使用情况,这种文件需要相应的工具进行分析,如IBM Heap Analyzer这类工具。...Thread and Monitor Dump Analyzer for Java 功能:IBM Thread and Monitor Dump Analyzer for Java是一个可以用来分析JavaCore

2.4K70

jvm 性能调优工具之 jinfo

当系统崩溃时,jinfo可以从core文件里面知道崩溃的Java应用程序的配置信息 jinfo 用法 ?...参数说明 pid 对应jvm的进程id executable core 产生core dump文件 [server-id@]remote server IP or hostname 远程的ip或者...输出对应名称的参数 -flag [+|-]name 开启或者关闭对应名称的参数 -flag name=value 设定对应名称的参数 -flags 输出全部的参数 -sysprops 输出系统属性 Javacore...概述 Javacore,也可以称为“threaddump”或是“javadump”,它是 Java 提供的一种诊断特性,能够提供一份可读的当前运行的 JVM 中线程使用情况的快照。...应用程序如果出现不可恢复的错误或是内存泄露,就会自动触发 Javacore 的生成。 示例一: no option 命令:jinfo pid 描述:输出当前 jvm 进程的全部参数和系统属性 ?

1.4K80

深入理解 Java 反射和动态代理

本文已归档到:「javacore」 本文中的示例代码已归档到:「javacore」 1. 简介 1.1....很多框架(比如 Spring)都是配置化的(比如通过 XML 文件配置 JavaBean、Filter 等),为了保证框架的通用性,它们可能需要根据配置文件加载不同的对象或类,调用不同的方法,这个时候就必须用到反射...类加载过程 类加载的完整过程如下: 在编译时,Java 编译器编译好 .java 文件之后,在磁盘中产生 .class 文件。.class 文件是二进制文件,内容是只有 JVM 能够识别的机器码。...JVM 中的类加载器读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息。...JVM 会去本地磁盘查找 User.class 文件并加载 JVM 内存中。 JVM 通过调用类加载器自动创建这个类对应的 Class 对象,并且存储在 JVM 的方法区。

33420

深入理解 Java 注解

本文已归档到:「javacore」 ? 本文中的示例代码已归档到:「javacore」 1. 简介 1.1. 注解的形式 Java 中,注解是以 @ 字符开始的修饰符。...作为 Java 程序员,多多少少都曾经历过被各种配置文件(xml、properties)支配的恐惧。过多的配置文件会使得项目难以维护。个人认为,使用注解以减少配置文件或代码,是注解最大的用处。.../codes/basics/src/main/java/io/github/dunwu/javacore/annotation/SafeVarargsAnnotationDemo.java: 某些输入文件使用了未经检查或不安全的操作...[WARNING] /D:/Codes/ZP/Java/javacore/codes/basics/src/main/java/io/github/dunwu/javacore/annotation/SafeVarargsAnnotationDemo.java...当一个注解类型被定义为运行时的注解后,该注解才能是运行时可见,当 class 文件被装载时被保存在 class 文件中的注解才会被虚拟机读取。

1.1K30

性能监控之常见JDK命令行工具整理

这里说的数据包括:运行参数、运行日志、异常堆栈、GC日志、线程快照(threaddump/javacore文件)、堆转储快照(heapdump/hprof文件)等 本文只讨论JDK8的常用参数及工具 一...-printcomplilation:输出已经被JIT编译的方法 4.jmap(Memory Map for Java) JAVA内存映像工具,一方面用于生成堆转存储快照(heapdump或dump文件...-histo 显示堆中对象的统计信息,包括类、实例数量、合计容量等 -permstat 以ClassLoader为统计口径显示永久代的内存状态 -F 强制生成dump快照 使用jmap生成dump文件...technotes/tools/unix/jmap.html 5.jstack(Stack Track for Java) JAVA堆栈跟踪工具,用于生成JVM当前时刻的线程快照(threaddump或javacore...文件)。

88120
领券