昨天我简单的说了一下我的编程学习之路。假设你热爱编程。而不是仅为了赚钱,我想我的经历或许会给你带来一定的启示,假设你还没有看。请先慢慢读完我的编程学习之路,您肯定会有还有一番体会的。。

好了。废话不多说了。进入今天的主题。我想先介绍一下java。重栈和堆的角度还有jvm,假设你不是非常明确。那不要紧。在以后的文章中我还会提到。怎样你学过c和c++,那么你肯定对栈,堆内存理解的比較好。

我曾经写过一篇文章Java是一种什么语言。简单的介绍了一下java,今天这一块我就不多说了。。

我还是那helloworld举例吧。。

public class HelloWorld{
public static void main(String[] args){
System.out.println("hello world");
}
}

我想大家对着段代码是再熟悉只是了,今天我就来说一下它的存储。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWFya193aw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

变量就不多说了,大家看图一目了然。当new出来一个HelloWorld对象时。它就会存在堆区,先简单的说一下堆和栈吧。

栈与堆都是Java用来在Ram中存放数据的地方。与C++不同。Java自己主动管理栈和堆,程序猿不能直接地设置栈或堆。

Java的堆是一个执行时数据区,类的(对象从中分配空间。

这些对象通过new、newarray、anewarray和 multianewarray等指令建立。它们不须要程序代码来显式的释放。

堆是由垃圾回收来负责的,堆的优势是能够动态地分配内存大小。生存期也不必事 先告诉编译器,由于它是在执行时动态分配内存的,Java的垃圾收集器会自己主动收走这些不再使用的数据。但缺点是,由于要在执行时动态分配内存,存取速度较 慢。

栈的优势是,存取速度比堆要快。仅次于寄存器,栈数据能够共享。

但缺点是。存在栈中的数据大小与生存期必须是确定的。缺乏灵活性。栈中主要存放一 些基本类型的变量(,int, short, long, byte, float, double, boolean, char)和对象句柄。

再来说一下载入helloworld的时候吧,我们首先得把原代码编译成字节码。然后有jvm载入到内存并执行得到输出结果。

关于jvm载入类的机理比較复杂。我会在以后的文章中再写的。。

欢迎关注我的微博 
,我的微博会实时更新文章。  交流群:

199326422

最新文章

  1. WinForm操作隐藏的小知识点
  2. Win10商店东方财富网 UWP版更新,支持平板,PC,手机
  3. Postgresql 导出表结构信息
  4. FTP : mput with no confirmation
  5. IOS开发之application/x-www-form-urlencoded ;charset=utf-8
  6. WebApi系列~在WebApi中实现Cors访问
  7. 前端 解决swiper js 手动滑动一下后不能自动播放
  8. maven项目导入报错
  9. noip2000提高组题解
  10. java中最简单的方式新起一个线程
  11. PHP设计模式之适配器模式
  12. 代码讲解Android Scroller、VelocityTracker
  13. 记录Spring.net学习中遇到的各种问题
  14. 第四十四节,subprocess系统命令模块
  15. zabbix web监控模板
  16. python-爬虫(3)---lxml匹配css
  17. Nginx 504 Gateway Time-out分析及解决方法
  18. javascript基础 思维导图2
  19. Linux-使用ctags、vim查看数据类型所在头文件
  20. ESD保护芯片BAT54S/BAV99和电平转换芯片SN74AVC1T45

热门文章

  1. GCC编译链接过程
  2. 诊断:RHEL7安装11.2RAC时root.sh错误ohasd failed to start
  3. 用node写个简单的静态服务器
  4. Eclipse(MyEclipse)使用技巧——修改注释字体大小
  5. ubuntu环境安装docker
  6. Python:socket实现ftp程序
  7. leetcode-240搜索二维矩阵II
  8. ppt_旋转抽奖_制作步骤
  9. 关于meta标签的使用,属性的说明
  10. SOJ 2818_QQ音速