什么是数据结构?

1、一种非常经典的数据结构。

栈数据结构:stack

2、什么是数据结构?

数据结构通常是:存储数据的容器。而该容器可能存在不同的结构。

数据结构和 java 语言实际上是没有关系,数据结构是一门独立的学科。

在大学计算机专业中,数据结构是必须的一门课程。

3、常见的数据结构有哪些?

数组、链表、图、二叉树、栈、队列. . . .

java 语言把常用的数据结构都已经写好了,可以直接用就行。但如果期望有更高的造诣,

建议数据结构还是需要精通一下。

4、和数据结构通常出现在一块的是:算法。

算法:排序算法、查找算法、…算法

JVM三块主要的内存:栈内存、堆内存、方法区内存。

方法区最先有数据:方法区中放代码片段。存放 class 字节码。

栈内存:方法调用的时候,该方法需要的内存空间在栈中分配。

方法不调用是不会在栈中分配空间的。方法只有在调用的时候才会在栈中分配空间,并且调用时就是压栈。

方法执行结束之后,该方法所需要的空间就会释放,此时发生弹栈动作。

方法调用叫做:压栈。分配空间

方法结束叫做:弹栈。释放空间

栈中存储什么?

方法运行过程中需要的内存,以及栈中会存储方法的局部变量。

为什么要画内存图?

更深层次的理解代码,在代码没有运行之前就能猜测出结果。

会内存图,后期调错的时候会有很大的帮助。

5、JVM的内存结构中三块比较重要的内存空间。

方法区:

存储代码片段,存储 xxx.class 字节码文件,这个空间是最先有数据的,类加载器首先将代码加载到这里。

堆内存:对象内存空间,成员中的实例变量

栈内存:

stack栈当中存储什么?

每个方法执行时所需要的内存空间(局部变量)。

6、关于数据结构中的栈数据结构

原则:

后进先出

先进后出

栈数据结构相关的术语:

栈帧:永远指向栈顶部的元素(栈顶元素具有活跃权。)

栈顶元素

栈底元素

压栈,入栈,进栈,push

弹栈,出栈,pop

什么是数据结构?什么是算法?

有一本书:数据结构与算法。

数据结构和算法的选择很重要,选择对了,程序的执行效率大大提升。可以很好的优化程序。

7、分析程序运行过程中的内存变化

方法只定义不调用是不会执行的。

方法调用时:压栈(在栈中给该方法分配空间)

方法执行结束时:弹栈(将该方法占用的空间释放,局部变量的内存也释放。)

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/796c12c416.html