Java数组与栈内存、堆内存

简介:
package ch4;

/**
 * Created by Jiqing on 2016/11/9.
 */
public class ArrayInRam {
    public static void main(String[] args) {
        int[] a = {5,7,20};
        int[] b = new int[4];
        System.out.println("b数组的长度为:"+b.length);
        for(int i = 0,len = a.length;i<len;i++) {
            System.out.println(a[i]);
        }

        // 循环输出b数组的元素
        for (int i = 0,len = b.length;i<len;i++) {
            System.out.println(b[i]);
        }

        // b引用指向a引用的数组
        b = a;
        System.out.println("b数组的长度为:"+b.length);
        for (int i = 0,len = b.length;i<len;i++) {
            System.out.println(b[i]);
        }

        a[1] = 11;
        System.out.println(b[1]); // 值变了

    }
}

422101-20161109203016092-796905577.png

422101-20161109203025717-746446453.png

package ch4;

/**
 * Created by Jiqing on 2016/11/9.
 */
public class Person {
    public int age; // 年龄
    public double height; // 身高
    public void info() {
        System.out.println("我的年龄是:"+age+",我的身高是:"+height);
    }
}
package ch4;

/**
 * Created by Jiqing on 2016/11/9.
 */
public class Student {
    public static void main(String[] args) {
        Person[] students;
        students = new Person[2];
        Person zhang = new Person();
        zhang.age = 15;
        zhang.height = 158;

        Person lee = new Person();
        lee.age = 16;
        lee.height = 161;

        students[0] = zhang;
        students[1] = lee;
        lee.info(); // 我的年龄是:16,我的身高是:161.0
        students[1].info(); // 我的年龄是:16,我的身高是:161.0
    }
}

422101-20161109203751077-174047419.png
422101-20161109203758842-740827968.png

422101-20161109203805764-1980706154.png

422101-20161109203810874-2108298332.png



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6048370.html,如需转载请自行联系原作者

相关文章
|
7天前
|
存储 Java 编译器
Java内存区域详解
Java内存区域详解
21 0
Java内存区域详解
|
17天前
|
缓存 算法 Java
Java内存管理与调优:释放应用潜能的关键
【4月更文挑战第2天】Java内存管理关乎性能与稳定性。理解JVM内存结构,如堆和栈,是优化基础。内存泄漏是常见问题,需谨慎管理对象生命周期,并使用工具如VisualVM检测。有效字符串处理、选择合适数据结构和算法能提升效率。垃圾回收自动回收内存,但策略调整影响性能,如选择不同类型的垃圾回收器。其他优化包括调整堆大小、使用对象池和缓存。掌握这些技巧,开发者能优化应用,提升系统性能。
|
13天前
|
缓存 安全 Java
Java并发编程进阶:深入理解Java内存模型
【4月更文挑战第6天】Java内存模型(JMM)是多线程编程的关键,定义了线程间共享变量读写的规则,确保数据一致性和可见性。主要包括原子性、可见性和有序性三大特性。Happens-Before原则规定操作顺序,内存屏障和锁则保障这些原则的实施。理解JMM和相关机制对于编写线程安全、高性能的Java并发程序至关重要。
|
21天前
|
缓存 Java C#
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍(一)
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍
60 0
|
3天前
|
存储 缓存 监控
Java内存管理:垃圾回收与内存泄漏
【4月更文挑战第16天】本文探讨了Java的内存管理机制,重点在于垃圾回收和内存泄漏。垃圾回收通过标记-清除过程回收无用对象,Java提供了多种GC类型,如Serial、Parallel、CMS和G1。内存泄漏导致内存无法释放,常见原因包括静态集合、监听器、内部类、未关闭资源和缓存。内存泄漏影响性能,可能导致应用崩溃。避免内存泄漏的策略包括代码审查、使用分析工具、合理设计和及时释放资源。理解这些原理对开发高性能Java应用至关重要。
|
11天前
|
存储 缓存 安全
【企业级理解】高效并发之Java内存模型
【企业级理解】高效并发之Java内存模型
|
18天前
|
Java
java中jar启动设置内存大小java -jar 设置堆栈内存大小
java中jar启动设置内存大小java -jar 设置堆栈内存大小
11 1
|
18天前
|
缓存 算法 Java
Java内存管理:优化性能和避免内存泄漏的关键技巧
综上所述,通过合适的数据结构选择、资源释放、对象复用、引用管理等技巧,可以优化Java程序的性能并避免内存泄漏问题。
25 5
|
21天前
|
Java
java 8 数组转字符串并以逗号分隔
java 8 数组转字符串并以逗号分隔
11 0
|
21天前
|
监控 网络协议 NoSQL
java线上排查OOM内存溢出
java线上排查OOM内存溢出
21 0