- 博客(11)
- 收藏
- 关注
原创 BeanFactory 和 FactoryBean
学习Spring的时候,一开始对于BeanFactory和FactoryBean都会很模糊,甚至觉得这两个类是有着类似的功能,其实比较简单的说,BeanFactory是一个工厂类,用于Bean的创建和获取等。FactoryBean则是一个Bean。BeanFactoryBeanFactory API为Spring的IOC功能提供了基础。其特定的规范主要用于与Spring和相关第三方框架的其...
2020-04-30 14:34:55 111
原创 Java 反射机制包 java.lang.reflect
Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。我们知道对于一个类或者说是class文件比较准确,是JVM将描述的类的数据从class文件加载到内存(方法区),并且对数据进行校验和初...
2020-04-30 10:52:32 313
原创 JVM 统计信息监控 — jstat
jstat是用于监视虚拟机各种运行状态信息的命令行工具,它可以显示本地或者远程虚拟机进程中中的类装载,内存,垃圾收集,JIT编辑等运行数据。我们使用jstat -help 可以查看jstat的具体用法,如下所示:Usage: jstat -help|-options jstat -<option> [-t] [-h<lines>] <vmid>...
2020-04-28 09:11:10 247
原创 JVM 简介与运行时数据区
我也不知道为什么还要写一篇这个文章,毕竟这种文章一搜一大堆,可能只是为了让这个栏目尽可能完整吧,也可能是为了自己加深印象,其实是强迫症发作。其实只要知道jvm运行时数据区划分就可以略过这篇文章。在学习Java之初,我们肯定会先下载安装JDK,然后写我们的Hello,World程序,运行程序。我们也了解了关于java的三个重要的名词:JDK,(Java Development Kit)是Java...
2020-04-25 15:22:21 101
原创 Spring IOC 容器 @Conditional 和 @Profile
说起@Profile,对于使用Spring的大多数人都很熟悉,它是Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的注解。比如我们有开发环境(dev),测试环境(Test),生产环境(Product),这三个环境分别使用不同的数据库源和Redis服务。使用@Profile注解指定组件在哪个环境的情况下才能被注册到容器中,不指定,任何环境下都能注册这个组件。如下为@Profile...
2020-04-23 17:52:23 227
原创 Spring IOC 注解 — @ImportResource,@Import
在Spring IOC 注解 — @Bean,@Scope 和 @Lazy 一篇,我们介绍了使用@Bean注解将一个组件交给Spring IOC容器去管理,除此之外我们还可以通过@ImportResource和@Import往容器中注入Bean。@ImportResource@ImportResource用于导入包含Bean定义的资源,一般为我们早期学习Spring时配置的xml资源文件,...
2020-04-23 17:52:09 188
原创 Spring IOC 注解 — @Bean,@Scope 和 @Lazy
Spring可以做很多事情,为企业级开发提供了丰富的功能,但是这些功能都依赖于它的两个核心特性:依赖注入(DI)或控制反转(IOC)和面向切面编程(AOP)。如果说Spring IOC容器将开发人员从对Bean(实例)的管理的繁重任务中脱离出来,那么Spring提供的注解则将开发人员从Spring中繁复的xml配置中解脱出来。Spring为我们提供了很多注解,用于将我们自己写的组件交给Spri...
2020-04-22 09:20:50 353
原创 JVM 内存监控之 jmap
jmap命令是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用 jmap -help 命令可以查看jmap的具体用法,如下所示:Usage:jmap [option] <pid>(to connect to running process)jmap [option] <executable <core>(to co...
2020-04-20 17:30:01 263
原创 JVM 线程监控之 jstack
jdk自带的jstack命令可以查看当前JVM中运行的Java进程ID的线程的运行情况和堆栈跟踪,并且可以将当前线程情况输入到文本。使用 jstack -help 命令可以查看jstack的具体用法,如下所示:Usage: jstack [-l] <pid> (to connect to running process) jstack -F [-m...
2020-04-14 09:13:18 187
原创 JVM 参数监控之 jinfo
jdk自带的jinfo命令,可以用来查看正在运行的 java 应用程序的扩展参数,包括Java System属性和JVM命令行参数;也可以动态的修改正在运行的 JVM 一些参数。当系统崩溃时,jinfo可以从core文件里面知道崩溃的Java应用程序的配置信息.使用 jinfo -help 命令可以查看jinfo的具体用法,如下所示:Usage: jinfo [option] <...
2020-04-13 17:33:08 569
原创 JVM 进程监控之 jps
jdk自带的jps命令可以查看当前JVM中运行的Java进程ID,java程序在启动以后,会在java.io.tmpdir指定的目录下,就是临时文件夹里,生成一个类似于hsperfdata_User的文件夹,这个文件夹里(在Linux中为/tmp/hsperfdata_{userName}/),有几个文件,名字就是java进程的pid。输入jps -help,可以输出jps的具体用法,如下所示...
2020-04-13 17:31:28 400
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人