一、计算机语言的发展史
1、第一代语言(只有机器能读懂,人根本读不懂)
纯机器语言
2、第二代语言(机器能读懂,人可以读懂,但是很难懂)
汇编语言(符号语言)
3、第三代语言(机器能读懂,也非常便于人类阅读)
C面向过程的语言C++面向过程/对象的语言Java跨平台的纯面向对象的语言
二、Java的发展史及Java体系
2.1、Java的发展史
Java之父:James Gosling(詹姆斯·高斯林)
1995年,SUN公司发布了JDK1.01998年,发布了JDK1.2,正式更名为Java2后续JDK1.3、1.4、1.5、1.6、1.7目前最细版本的是JDK1.8,最稳定版本JDK1.7,覆盖面最广的版本JDK1.6
Java发展历史中的几个重要版本:
Java 1.2 从该版本开始,把Java分成JavaSE、Java ME、JavaEE三部分。
Java 5 2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0。
Java 6 Java的各种版本更名,以取消其中的数字"2":J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME。
2009年04月20日,甲骨文74亿美元收购Sun。取得java的版权。
 
1.2 Java技术体系
Java技术分为三个体系:
Java SE(J2SE)(java平台标准版)开发桌面应用程序
Java EE(J2EE)(java平台企业版)开发面向Internet的应用程序
Java ME(J2ME)(java平台微型版)开发运行于智能设备的程序。
1.3 Java语言的特点
面向对象的语言
跨平台的语言
安全健壮
没有指针操作
垃圾自动回收机制
多线程
分布式
1.4 Java程序的运行机制
Java虚拟机(Java Virtual Machine)
内存回收机制(Garbage Collection)
4.2、Java是如何实现跨平台运行的?(一次编译,处处运行)
4.2.1、Java程序运行需要经历的两个时期
编译期(Java编译器):把.java源文件编译成.class字节码文件
 
运行期(Java虚拟机):将.class字节码文件解释成计算机可以读懂的计算机语言
 
4.2.2、实现跨平台,完全得益于Java虚拟机
 
Java虚拟机可以理解成一个可以解释字节码文件的中央处理器
对于不同的操作系统,Java提供了不同的虚拟机
Java虚拟机屏蔽了底层运行平台的差异,真正实现了“一次编译,处处运行”
4.3、Java的内存机制和垃圾回收机制
4.3.1、Java的内存机制
电脑的内存机制
 
Java的内存机制
 
4.3.2、Java的垃圾回收机制
对Coder(程序员)来说,java是友好的,java不需要考虑内存未及时回收,造成资源浪费。从而导致应用程序出现泄露的情况,导致引发系统崩溃。
 
Java程序中,自动进行的
 
关于内存释放时机:
栈:只要解除使用,及时回收 (小而快)
堆:当java为空闲状态时,会便利堆内存释放,解除使用的内存空间(大而慢)
五、JDK和JRE
5.1、JDK ( 就是Java SDK ) Java Development Kit
是 java提供给开发者用于开发java软件的开发工具包
Java Runtime Development Kit
5.2、JRE
Java提供给客户用于运行java软件的环境
5.3、总结
Jdk是给开发者用的;
jre是给用户用的。
Jdk包含jre

原文:https://blog.csdn.net/s402340355/article/details/77688575

最新文章

  1. php修改
  2. 我的bootstrapTable的应用
  3. Android Properties 存储
  4. myBatis应用
  5. bzoj 1816: [Cqoi2010]扑克牌
  6. [转]Oracle 操作字符串的函数
  7. Deep Learning 学习随记(四)自学习和非监督特征学习
  8. myeclipse中,项目上有个叉报错,文件没有错误
  9. HDU 1564 Play a game
  10. 处理浏览器兼容 各个浏览器的标识 hack
  11. 【问题排查】fastjson线上排坑记
  12. python学习-字符串前面添加u,r,b的含义
  13. CentOS7安装及简单配置(一)
  14. hive笔记
  15. anoconda包管理汇总
  16. android studio build.gradle 中的dependencies 的 compile jar文件
  17. python SMTP
  18. 0001 - Spring 框架和 Tomcat 容器扩展接口揭秘
  19. search文件中的config
  20. Java 密码扩展无限制权限策略文件[转]

热门文章

  1. C#高性能数组拷贝实验
  2. IOS(XCode)嵌入Unity模块
  3. 【随笔记】SiliconLabs Android Demo 编译
  4. 一文搞懂工作流审批(Java+activiti)快速开发+自定义工作流配置
  5. 新版Bing 搜索后台的.NET 技术栈
  6. 1月3日内容总结——bbs项目登陆页面和主页、个人站点页的搭建
  7. python学习day 02
  8. HEU_KMS_Activator_v27.0.2全能系统数字许可激活工具
  9. Quartz与Topshelf结合实现window定时服务
  10. 接口介绍以及postman的基本使用