在Java 中,使用static 关键字描述的方法是静态方法。与静态方法相比,实例方法的调用需
要消耗更多的系统资源,这是因为实例方法需要维护一张类似虚拟函数导向表的结构,这样可以
方便地实现对多态的支持。对于一些常用的工具类方法,我们没有必要对其进行重载,那么我们
可以尝试将它们声明为static,即静态方法,这样有利于加速方法的调用。
1 即谭浩强教授,他编著的《C 程序设计》发行了1100 万册。
第3 章 Java API 调用优化建议 ■ 57
如代码清单3-7 所示,我们分别定义了两个方法,一个是静态方法,一个是实例方法,然后
在main 函数进程里分别调用10 亿次两个方法,计算两个方法的调用总计时间。
代码清单3-7 静态方法示例
public static void staticMethod(){
}
//实例方法
public void instanceMethod(){
}
@Test
public static void main(String[] args){
long start = System.currentTimeMillis();
//循环10 亿次,创建静态方法
for(int i=0;i<1000000000;i++){
staticVSinstance.staticMethod();
}
System.out.println(System.currentTimeMillis() - start);
start = System.currentTimeMillis();
staticVSinstance si1 = new staticVSinstance();
//循环10 亿次,创建实例方法
for(int j=0;j<1000000000;j++){
si1.instanceMethod();
}
System.out.println(System.currentTimeMillis() - start);
分享到:
相关推荐
Java性能调优是提高应用程序效率的关键环节,尤其是在大型企业级应用和高并发环境中。以下是根据提供的文件内容提炼出的一些核心知识点: 1. **对象生成与大小调整**: - 减少对象生成:生成大量对象可能导致频繁...
在Java开发中,JVM(Java Virtual Machine)性能调优是提升应用程序效率的关键环节。JVM内存模型的理解和优化,对于解决性能瓶颈、避免内存泄漏以及提高系统稳定性至关重要。本文将详细探讨JVM的内存结构,以及如何...
Java虚拟机(JVM)是Java程序运行的基础,它的调优是提高应用程序性能、稳定性和资源利用率的关键步骤。作为一名Java开发人员,理解JVM的工作原理并掌握调优技巧至关重要。以下将详细介绍Java虚拟机调优的一些核心...
在Java和数据库性能优化方面,有许多关键点需要关注,以提高系统的整体效能和响应速度。以下是基于标题和描述中的内容进行的详细解释: 1. **Java性能优化设计基础**: - **对象生成与大小调整**:尽量避免频繁...
39. **避免在循环中调用静态方法**:静态方法调用不涉及实例化,但过多调用也可能影响性能。 40. **减少网络I/O**:优化网络请求,如压缩数据、合并请求等。 41. **代码优化**:遵循SOLID原则,编写可读、可维护的...
在Java编程中,提高性能是每个开发者关注的重点。下面是一些关键点,旨在优化Java程序的性能: 1. **单例模式的使用**:单例模式可以减少对象的创建,节省资源,尤其适用于控制资源访问、限制实例创建和实现跨线程/...
尽量减少静态变量和实例变量的使用,除非它们在整个方法或类中都需保持其状态。 7. **优化数学运算**: 对于乘法和除法操作,可以考虑使用移位操作代替,尤其是在循环中。例如,`val 等同于`val * 8`,而`val >> 1`...
- 接口默认方法和静态方法。 以上只是Java面试中常见的一些知识点,实际面试可能会根据职位需求和技术深度进行扩展,包括JVM调优,Spring框架,设计模式,数据库操作,网络编程等方面的内容。对于Java开发者来说,...
根据标题"读书笔记,一文读懂如何调优JAVA程序"和描述"多年经验总结加读书笔记",我们可以总结出以下知识点: 一、异常处理 * 在 JAVA 中,异常可以分为编译错误、逻辑错误和运行时错误三种/non-normal situations...
- **运行时数据区**:包括方法区(存储已加载的类信息)、堆(存储对象实例)、虚拟机栈(管理方法调用)、本地方法栈(支持JNI调用)和程序计数器(记录当前线程执行的指令位置)。 2. **内存管理**: - **堆...
**JVM性能优化是Java开发中的重要环节,它关乎到应用程序的运行效率和稳定性。本文将根据"JVM性能学习笔记思维导图"的主题,详细阐述JVM的主要组成部分,性能调优的关键点以及相关的工具与实践策略。** 1. **JVM...
Java虚拟机(JVM)是Java开发中的核心组成部分,它负责执行字节码,管理内存,以及优化程序性能。在Java应用的运行过程中,如果出现性能问题,JVM瓶颈定位就显得至关重要。本文将深入探讨如何理解和解决Java JVM的...
7. **谨慎使用synchronized**:同步可能导致性能下降和死锁,尽量缩小同步块的范围,使用方法同步代替代码块同步,并避免不必要的同步。 8. **StringBuilder与StringBuffer**:字符串拼接时,使用StringBuilder(单...
- **永久代(Permanent Generation)**:早期JVM实现中用来代替方法区的一个概念,永久代中主要存放类的信息、常量池等数据,但并不是所有的JVM都支持永久代。在JDK8之后,永久代被元空间(Metaspace)所替代。 - **...
这个资源对Java开发者尤其是系统运维人员和性能调优工程师来说非常宝贵,它提供了理论与实践相结合的学习路径,帮助他们更好地理解和应对JVM相关的问题。通过深入研究和实践,开发者可以提高故障排查能力,提升应用...
- **公有静态方法**:提供获取单例对象的方式,确保每次调用都能返回相同的实例。 #### MVC设计模式解析 - **模型(Model)**:负责管理应用程序的数据逻辑,处理业务规则和数据的存储。 - **视图(View)**:负责...
在Java编程中,内存管理是优化程序性能和避免内存泄漏的关键环节。本教程将深入探讨Java语言中内存管理的几个重要技巧,旨在帮助开发者更好地理解和掌握这一核心概念。 1. **对象创建与垃圾回收** - **对象创建**...
Java虚拟机(JVM)是Java程序运行的核心,它负责管理程序的内存、执行字节码以及优化性能。以下是对JVM相关面试题的详细解释: 1. **JVM内存区域**: - **堆(Heap)**:是JVM中最大的内存区域,存储对象实例。`-...
- **定义**:存储类的所有字段和方法字节码,包括静态变量、常量、类信息(如构造方法、接口定义)及运行时常量池。 - **特性**:虽然在Java虚拟机规范中被描述为堆的一部分,但通常被称为“非堆”(Non-Heap)以区别...