关于 Java 中的堆内存和栈内存

最近在看 Java 书的过程中发现书中多次提到了堆内存和栈内存。在之前学习的数据结构中,我的认知还仅仅限于堆栈,不知道堆和栈是两个不同的概念。问了算法&数据结构大佬( @Simple )之后自己又上网查了查,才发现原来在 Java 中所说的堆和栈是两个不同的内存区,这里做个笔记。

在 Java 中,栈(stack)是由编译器自动分配和释放的一块内存区域,主要用于存放一些基本类型(8种基本类型:int,short, long, byte, float, double, boolean, char)的变量、指令代码、常量以及对象的引用。

堆(heap)是一个程序运行时动态分配的内存区域,在 Java 中,构建对象时所需要的内存从堆中分配。这些对象通过 new 指令来显式建立,堆内存在使用完毕后,由垃圾回收(GC)器来隐式回收的。

想看更多?点我点我 “关于 Java 中的堆内存和栈内存”

Java数据结构-实现单链表的增删查反转和串联操作

这个单链表写了一个月了总算是写出来了,以后可不能再拖延了 :(委屈)

本篇是用 Java 实现单链表的创建、添加结点(按数据和索引值)、删除结点(按数据和索引值)、打印输出结点、反转单链表和串联单链表。以下全是代码,具体的可以看注释。

想看更多?点我点我 “Java数据结构-实现单链表的增删查反转和串联操作”

Java数据结构-实现矩阵的相关运算:加减乘、转置和压缩稀疏矩阵

自从回到家就忘记了学习,今天好不容易想起来要学习了赶紧记录一下,也算是督促自己了 :!:

这篇将用Java实现矩阵和矩阵的相关运算:加法、减法、乘法、矩阵的转置、稀疏矩阵的随机产生和压缩存储等。以下内容全部是代码 :(呵呵)

想看更多?点我点我 “Java数据结构-实现矩阵的相关运算:加减乘、转置和压缩稀疏矩阵”

JDBC连接MySQL数据库的方法

在做数据库课程设计的时候要用 JDBC 连接 MySQL,上网找了一些方法,最终还是照着 MySQL 的文档连接成功,在这里做个笔记记录一下。

一、下载并导入 MySQL  的 JDBC 驱动

首先到 MySQL 网站下载  JDBC 连接 MySQL 的驱动:“mysql-connector-java-5.1.45.zip”下载完之后解压,复制出来“mysql-connector-java-5.1.45-bin.jar”,将这个文件添加到 Eclipse Java 项目的 classpath 库里,或者直接添加到系统环境变量中的 classpath 里。 想看更多?点我点我 “JDBC连接MySQL数据库的方法”

用 Java 实现简单的验证码功能及有关问题的思考

上个星期老师布置了一道题目:用Java实现验证码的功能。想了一下要用到   Random 类、输入输出和字符串吧。写完之后才发现出现了很多问题,在这里记录一下遇到的问题和暂时性的解决方法。 想看更多?点我点我 “用 Java 实现简单的验证码功能及有关问题的思考”

JDK环境配置及 Eclipse 安装、汉化和恢复英文

最近开了Java课程,学Java第一步当然是在电脑上安装JDK和Eclipse了。不过看着全英文界面的Eclipse有点小难受,还好Eclipse官网给出了语言包的安装教程,比CodeBlocks好多了。这里就讲讲如何安装JDK、配置JAVA环境变量、安装Eclipse和Eclipse的汉化。 想看更多?点我点我 “JDK环境配置及 Eclipse 安装、汉化和恢复英文”