`
sbpya
  • 浏览: 615621 次
  • 性别: Icon_minigender_1
  • 来自: 杭州,长沙
社区版块
存档分类
最新评论

java性能优化之:使用Stack变量

    博客分类:
  • Java
阅读更多

/**

 * @(#)TestProfile.java

 *

 *

 * @author 

 * @version 1.00 2009/8/18

 */

import java.util.Calendar;

 

public class TestStack {

private long x;

private static long staticX;

 

    public TestStack() {

    }

 

    //显示时间

    private long displayCurrentTime(String msg) {

     Calendar crt = Calendar.getInstance();

     System.out.println(msg);

     System.out.println(crt.getTimeInMillis());

     return crt.getTimeInMillis();    

    }

 

    //成员变量测试

    public void accessInstance(long val) {

        long startTime = displayCurrentTime("成员变量开始:");  

     for (long i=0;i < val;i++) {

     x += 1;

     }

     long endTime = displayCurrentTime("成员变量结束.");

     System.out.println(new StringBuffer("成员变量测试总共花了:")

     .append(endTime - startTime).append("毫秒.").toString());

    

    }

 

    //静态变量测试

    public void accessStatic(long val) {

     long startTime =displayCurrentTime("静态变量开始:");  

     for (long i=0;i < val;i++) {

     TestStack.staticX += 1;

     }

     long endTime = displayCurrentTime("静态变量结束.");

     System.out.println(new StringBuffer("静态变量测试总共花了:")

     .append(endTime - startTime).append("毫秒.").toString());

    }

 

    public void accessStack(long val) {

     long n = 0l;

     long startTime = displayCurrentTime("局部变量(Stack)开始:");  

     for (long i=0;i < val;i++) {

     n += 1;

     }

     long endTime = displayCurrentTime("局部变量(Stack)结束.");

     System.out.println(new StringBuffer("局部变量(Stack)测试总共花了:")

     .append(endTime - startTime).append("毫秒.").toString());

    }

 

    public static void main(String[] args) {

     TestStack ts = new TestStack();

    

     ts.accessStack(500000000);

     ts.accessStatic(500000000);

     ts.accessInstance(500000000);

    

    

    }

}

 

 

局部变量(Stack)开始:

1250585378078

局部变量(Stack)结束.

1250585380125

局部变量(Stack)测试总共花了:2047毫秒.

静态变量开始:

1250585380125

静态变量结束.

1250585382515

静态变量测试总共花了:2390毫秒.

成员变量开始:

1250585382515

成员变量结束.

1250585385609

成员变量测试总共花了:3094毫秒.

分享到:
评论

相关推荐

    java性能优化.pdf

    标题为“java性能优化.pdf”,描述也为“java性能优化.pdf”,文件标签为“技术”,内容涉及Java性能优化的多个方面,包含了Java虚拟机(JVM)特性、Java API用法、设计模式、I/O操作、多线程编程、Web应用性能调整...

    性能优化:什么是性能优化

    理解何时创建对象,何时复用对象,以及如何正确地释放不再使用的资源,是Java性能优化的基础。 2. 代码效率: 代码效率直接影响程序运行速度。优化包括避免不必要的计算,使用适当的数据结构和算法,以及减少冗余...

    一起学习java stack 的信息,如何查看

    了解 Java Stack 的信息非常重要,因为它可以帮助开发者更好地理解 Java 程序的执行过程和性能优化。 查看 Java Stack 的方法 有多种方法可以查看 Java Stack 的信息,以下是其中的一些: 1. 使用 `jstack` 命令 ...

    如何来提高自己对java的性能上提高

    Java性能优化是一个涵盖广泛的主题,它涉及到代码质量、内存管理、并发处理、数据库交互等多个方面。以下是一些关键的知识点,可以帮助你提升Java程序的性能: 1. **代码优化**: - **避免过度设计**:简洁的代码...

    代码优化:有效使用内存

    在现代软件开发中,代码优化是提升应用程序性能的关键环节,其中有效使用内存更是优化中的重中之重。内存管理不当不仅会导致程序运行缓慢,还可能引发各种难以追踪的错误,如内存泄漏、堆栈溢出等。因此,掌握如何...

    Java GC与性能调优

    在 JVM 中,Heap 和 Method Area 是被所有线程的共享使用的,而 Java Stack、Program Counter 和 Native method stack 是以线程为粒度的,每个线程独自拥有自己的部分。 三、 Java 代码的编译和执行的整个过程 ...

    java代码效率优化.docx

    3. 尽量使用局部变量:调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。 Java 中的局部变量保存在栈中,而实例变量和静态变量保存在堆(Heap)中。使用局部变量可以提高性能。 4...

    java基础优化编程

    ### Java基础优化编程知识点详解 ...通过以上优化技巧的应用,可以显著提升Java程序的性能和稳定性,减少资源浪费,提高用户满意度。掌握这些基础知识,对于初学者来说,是构建高效、健壮Java应用程序的关键。

    java-sizeof-0.0.4:一个查看java对象占用内存大小

    这个工具提供了查看对象实例大小的能力,这对于调试和性能优化非常有用。"java-sizeof-0.0.4"包含三个不同类型的JAR文件: 1. `java-sizeof-0.0.4-javadoc.jar`:这是Java文档的归档,包含了关于工具的API和方法的...

    java 栈的实现和应用

    总结来说,Java提供了多种方式来实现和使用栈,无论是简单的`ArrayDeque`还是传统的`Stack`类,都能满足不同场景下的需求。栈作为一种基础数据结构,其灵活性和效率使其在编程中扮演着至关重要的角色。通过熟练掌握...

    Java进阶学习资料.zip

    Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高度的可移植性、健壮性和安全性。在Java进阶学习中,你需要掌握以下几个关键的知识点: 1. 高级数据结构与算法:理解并能熟练运用ArrayList、LinkedList...

    java提高性能.pdf

    综上所述,该文档可能是围绕Java性能优化的主题,从多个角度提供了性能提升的技巧和方法,包括代码层面的优化(如合理使用同步、选择合适的数据结构、字符串和集合操作、避免不必要的对象创建、使用final关键字等)...

    eclipse性能优化 <深度理解jvm>读书笔记

    《Eclipse性能优化——&lt;深度理解JVM&gt;读书笔记》主要涵盖了如何利用Eclipse IDE进行Java应用程序的性能优化,以及深入理解JVM的工作原理。在本文中,我们将探讨Eclipse的性能调优策略,以及JVM内存管理和垃圾回收机制...

    Java性能调优--关于垃圾回收机制的分析和指导

    Java性能调优,特别是关于垃圾回收机制的分析和指导,是优化Java应用程序的关键环节。Java的垃圾回收(Garbage Collection, GC)是自动管理内存的一种机制,它负责识别并清理那些不再使用的对象,以释放内存资源。...

    Java 虚拟机规范.pdf

    8. **性能优化**: - 理解JVM规范有助于对Java程序进行性能调优,如调整堆大小、设置垃圾回收参数等。 Java 虚拟机规范是Java平台的重要组成部分,它不仅保证了Java语言的跨平台特性,也为Java的运行提供了强大的...

    Java中堆内存与栈内存分配浅析

    - 局部变量:方法内部声明的变量。 - 方法调用记录:每次函数调用都会在栈上保留一份记录,包括返回地址等信息。 #### 三、堆内存与栈内存的比较 ##### 1. 分配方式的比较 - **堆内存**:动态分配,大小不确定...

    JVM与性能优化知识点整理.pdf

    接下来将详细阐述JVM内存区域划分、执行子系统、垃圾回收器和内存分配策略、编写高效优雅Java程序以及性能优化等几个重要知识点。 首先,JVM内存区域划分为以下几个部分: 1. 程序计数器(Program Counter Register...

    通过Java代码技巧改善性能

    将局部变量替换为类的静态变量: ```java static int aa = 0; @Test public void test(){ long start = System.currentTimeMillis(); for (int i=0;i;i++){ aa++; } long useTime = System.currentTimeMillis...

    Java内存溢出解决办法

    理解并解决Java内存溢出问题对于优化应用性能、提高系统稳定性至关重要。 首先,我们需要了解Java内存模型。Java虚拟机(JVM)将内存分为几个区域:堆(Heap)、栈(Stack)、方法区(Method Area)、程序计数器...

    JVM内存模型深度剖析与优化.pdf

    JVM内存模型是Java虚拟机的核心组件之一,它直接影响着Java应用程序的性能和可靠性。本文将深入剖析JVM内存模型的结构和工作机理,并讨论如何优化JVM参数以提高Java应用程序的性能。 一、JVM内存模型结构 JVM内存...

Global site tag (gtag.js) - Google Analytics