学习Java的第一次总结

1.Java程序的编译和执行

通过上图,我们轻易得出java执行过程:由javac编译为字节码文件,通过JVM转换为底层操作系统可识别的命令操作。

注意:①Java跨平台的始终是Java源文件,而不是JVM

    ②JVM在其间是充当中间层,是沟通java文件和不同操作系统(如Linux、Windows)的“桥梁”。不同操作系统需要不同的Java虚拟机

2.JVM的组成

图解:

  ①通过Java源文件编译成的字节码文件通过类加载器进入JVM运行时数据区

  ②类加载器(英语:Java Classloader)是Java运行时环境(Java Runtime Environment)的一部分,负责动态加载Java类到Java虚拟机的内存空间中。

  ③程序计数器与内存泄露无关

  ④至于JVM5个组成部分的详解可以百度Java虚拟机

作为一个初学者,我觉着大概了解一下JVM还是有益处的,至于更深一层,等学到后面再继续研究。

PS:①第一次写博客,难免有纰漏,如有错误,请务必指出。

  ②如有建议,请评论区留言指教,谢谢大家!

最新文章

  1. Oracle(DML)
  2. Red hat 6.4下面的qt安装
  3. 基于JAVA的全国天气预报接口调用示例
  4. ML_R kNN
  5. abcd
  6. 浅谈JavaScript中的闭包
  7. Html-Css-div透明层剧中
  8. java位运算符常见用法
  9. shell之变量与read
  10. java第二天
  11. 全景智慧城市常诚——一个实体商家“自剖”VR全景的势在必得
  12. HTML页面中JavaScript能获取到的各种屏幕大小信息
  13. 了解前端中的SPA
  14. C#编写一个大字母游戏,详细代码,不懂问博主。。。。
  15. req_params.go
  16. linux查看硬盘占用情况
  17. Proxmox VE中出现TASK ERROR: command 'apt-get update' failed: exit code 100的解决方法
  18. u-boot(六)小结
  19. Caching漫谈--关于Cache的几个理论【转】
  20. UI自动化(三)css优先级

热门文章

  1. CF633(div.2)B. Sorted Adjacent Differences
  2. NHibernate COUNT(*) 统计问题
  3. 34.4 对象流 ObjectOutputStream ObjectInputStream
  4. Web Scraper 高级用法——使用 CouchDB 存储数据 | 简易数据分析 18
  5. Python操作rabbitmq系列(二):多个接收端消费消息
  6. CentOS安装C函数库的man帮助
  7. cxx signal信号捕获
  8. mysql 不能对同一个表进行 update(delete) 和 select 联合操作
  9. char类型及ASCII码之间比较
  10. redis集群搭建-3.0/4.0版本