/**
* @(#)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性能优化的多个方面,包含了Java虚拟机(JVM)特性、Java API用法、设计模式、I/O操作、多线程编程、Web应用性能调整...
理解何时创建对象,何时复用对象,以及如何正确地释放不再使用的资源,是Java性能优化的基础。 2. 代码效率: 代码效率直接影响程序运行速度。优化包括避免不必要的计算,使用适当的数据结构和算法,以及减少冗余...
了解 Java Stack 的信息非常重要,因为它可以帮助开发者更好地理解 Java 程序的执行过程和性能优化。 查看 Java Stack 的方法 有多种方法可以查看 Java Stack 的信息,以下是其中的一些: 1. 使用 `jstack` 命令 ...
Java性能优化是一个涵盖广泛的主题,它涉及到代码质量、内存管理、并发处理、数据库交互等多个方面。以下是一些关键的知识点,可以帮助你提升Java程序的性能: 1. **代码优化**: - **避免过度设计**:简洁的代码...
在现代软件开发中,代码优化是提升应用程序性能的关键环节,其中有效使用内存更是优化中的重中之重。内存管理不当不仅会导致程序运行缓慢,还可能引发各种难以追踪的错误,如内存泄漏、堆栈溢出等。因此,掌握如何...
在 JVM 中,Heap 和 Method Area 是被所有线程的共享使用的,而 Java Stack、Program Counter 和 Native method stack 是以线程为粒度的,每个线程独自拥有自己的部分。 三、 Java 代码的编译和执行的整个过程 ...
3. 尽量使用局部变量:调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。 Java 中的局部变量保存在栈中,而实例变量和静态变量保存在堆(Heap)中。使用局部变量可以提高性能。 4...
### Java基础优化编程知识点详解 ...通过以上优化技巧的应用,可以显著提升Java程序的性能和稳定性,减少资源浪费,提高用户满意度。掌握这些基础知识,对于初学者来说,是构建高效、健壮Java应用程序的关键。
这个工具提供了查看对象实例大小的能力,这对于调试和性能优化非常有用。"java-sizeof-0.0.4"包含三个不同类型的JAR文件: 1. `java-sizeof-0.0.4-javadoc.jar`:这是Java文档的归档,包含了关于工具的API和方法的...
总结来说,Java提供了多种方式来实现和使用栈,无论是简单的`ArrayDeque`还是传统的`Stack`类,都能满足不同场景下的需求。栈作为一种基础数据结构,其灵活性和效率使其在编程中扮演着至关重要的角色。通过熟练掌握...
Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高度的可移植性、健壮性和安全性。在Java进阶学习中,你需要掌握以下几个关键的知识点: 1. 高级数据结构与算法:理解并能熟练运用ArrayList、LinkedList...
综上所述,该文档可能是围绕Java性能优化的主题,从多个角度提供了性能提升的技巧和方法,包括代码层面的优化(如合理使用同步、选择合适的数据结构、字符串和集合操作、避免不必要的对象创建、使用final关键字等)...
《Eclipse性能优化——<深度理解JVM>读书笔记》主要涵盖了如何利用Eclipse IDE进行Java应用程序的性能优化,以及深入理解JVM的工作原理。在本文中,我们将探讨Eclipse的性能调优策略,以及JVM内存管理和垃圾回收机制...
Java性能调优,特别是关于垃圾回收机制的分析和指导,是优化Java应用程序的关键环节。Java的垃圾回收(Garbage Collection, GC)是自动管理内存的一种机制,它负责识别并清理那些不再使用的对象,以释放内存资源。...
8. **性能优化**: - 理解JVM规范有助于对Java程序进行性能调优,如调整堆大小、设置垃圾回收参数等。 Java 虚拟机规范是Java平台的重要组成部分,它不仅保证了Java语言的跨平台特性,也为Java的运行提供了强大的...
- 局部变量:方法内部声明的变量。 - 方法调用记录:每次函数调用都会在栈上保留一份记录,包括返回地址等信息。 #### 三、堆内存与栈内存的比较 ##### 1. 分配方式的比较 - **堆内存**:动态分配,大小不确定...
接下来将详细阐述JVM内存区域划分、执行子系统、垃圾回收器和内存分配策略、编写高效优雅Java程序以及性能优化等几个重要知识点。 首先,JVM内存区域划分为以下几个部分: 1. 程序计数器(Program Counter Register...
将局部变量替换为类的静态变量: ```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虚拟机(JVM)将内存分为几个区域:堆(Heap)、栈(Stack)、方法区(Method Area)、程序计数器...
JVM内存模型是Java虚拟机的核心组件之一,它直接影响着Java应用程序的性能和可靠性。本文将深入剖析JVM内存模型的结构和工作机理,并讨论如何优化JVM参数以提高Java应用程序的性能。 一、JVM内存模型结构 JVM内存...