java的发展史

大版本.小版本

1991 年 Sun公司以C++为基础开发了java语言(Oak语言)

1995年,sun公司把Oak包装成Java推广

1996年Java1.0发布

97-->Java1.1

98-->Java1.2

1998年改名J2SE,sun公司推出三大平台版本

J2SE:面向桌面应用开发

J2EE:面向企业级开发

J2ME:面向手机移动终端开发

1999 HotSpot虚拟机发布

2000-->Java1.3

2002-->Java1.4

2004 Java1.5发布,即JavaSE5.0

2005 J2EE->javaEE J2SE->javaSE J2ME->javaME 改名

2006 JDK开源

2009 Oracle收购Sun

2018 开始每半年发布一个Java版本

java三大平台

J2SE:Java To Standard Edition Java标准版(Standard Edition)

J2EE:Java To Enterprise Edition 服务器端开发的企业版(Enterprise Edition)

J2ME:Java To Micro Edition 手机嵌入式设备微型版(Micro Edition)

JDK、JRE、JVM是什么,安装JDK后为什么配置环境变量

JDK(Java Development Kit) Java 开发工具包,Java程序的开发,必须要JDK

(1) 编译器

(2) 解释器

(3) 源代码

(4)JRE

2.JRE(Java Runtime Environment)Java运行环境,如果需要运行一个Java程序,只需要安装JRE即可,包含了JVM和核心的类,库

(1) 源代码

(2) JVM

3.JVM(Java Virtual Machine) Java 虚拟机,是运行所有Java程序的假象的计算机,Java程序运行我们编写的代码都是在JVM上运行的

配置环境变量可以在所有目录下执行java命令,系统通过环境变量可以找到java编译器

java语言跨平台原理

首先我们要理解什么是跨平台,所谓的跨平台就是JAVA写的一份代码可以在任意的操作系统平台上运行。

为什么跨平台会成为一个问题呢?因为每一个操作系统平台支持不同的指令集我们所写的代码经过编译之后只能适用于一个平台,换一个平台就不支持了。而JAVA完美的解决了这个问题,JAVA是如何做到这一点的呢?在上图中我们可以看到JAVA代码执行的流程。

JAVA源代码->JAVA字节码->JVM解释执行

我们写的JAVA源代码会被编译为字节码,然后被JVM虚拟机解释执行,我们可以看到JVM虚拟机在跨平台的过程中发挥了重要的作用,就是由它解释字节码并执行的,对应于每一个平台都有一个JVM虚拟机,而字节码只有一份,windows的JVM虚拟机可以将字节码解释为能在windows平台上执行的指令并执行,Linux的JVM虚拟机可以将字节码解释为能在Linux平台上执行的指令并执行,他们执行的字节码都是同一份。这样就实现了跨平台。

java程序执行的过程

编写*.java源代码->java编译器->*.class字节码->java解释器->运行

javac和java的区别

javac编译出现class文件   *.java源代码->java编译器->*.class字节码

java执行文件  *.class字节码-> java解释器->运行

java文件和class文件的区别

*.java源代码:人类可以勉强看懂,但是机器看不懂

*.class字节码:人类看不懂,机器看得懂

java的基本数据类型

整数:byte、   short、   int  、  long

浮点数:float、double

字符:char

布尔:boolean

byte,short,int,long 的区别

byte    -128~127-1

short   -2^15~2^15-1

int        -2^31~2^31-1

long      -2^63~2^63-1

计算机最小的存储单位,最小的空间单位

最小的存储单位:bit比特

最小的空间单位:byte字节

bit,b,KB,MB,GB,TB,PB分别是什么单位,换算

位(bit):一个数字0,一个数字1,代表1位

字节(byte):字节是计算机最小的单位,byte=8bit

KB(千字节)=1024byte

MB(兆字节)=1024KB

GB(吉字节)=1024MB

TB(太字节)=1024GB

PB  (拍字节)=1024TB

复习内容整理

http://t.csdn.cn/9s5BX

Java第一节课晚自习整理相关推荐

  1. 我的教师生涯4:被忘却的第一节课

        从1997年暑假开始,我就开始准备即将到来的课程.虽然那些内容非常之简单,但我依然忐忑--因为毕竟没有真正的课堂经验.学生会怎么看我?我会紧张吗?说不出话怎么办?学生捣乱怎么办--尤其当我一个 ...

  2. 学习git的第一节课

    第一节课的笔记 git init 创建版本库 git status 查看版本状态 git log 可以看提交次数和时间          git log --pretty=oneline 按行显示 g ...

  3. 数据结构与算法XS班-左程云第一节课笔记(位运算、算法是什么、简单排序)

    第1节 位运算.算法是什么.简单排序 ##这是数据结构与算法新手班-左程云第一节课的笔记## 1. 位运算 // 你们会不会表示一个数字的32位啊? // Java中int类型默认以32位二进制数在计 ...

  4. centos mysql 实战 第一节课 安全加固 mysql安装

    centos mysql  实战  第一节课   安全加固  mysql安装 percona名字的由来=consultation 顾问+performance 性能=per  con  a mysql ...

  5. 数据结构第一节课感受

    在第一节课中,老师让同学朗读重点自然段并让同学提出问题进行解答,在过程中我们能够很好的集中精神吸收知识也了解到了很多老师的学习方法,为数据结构的学习打下很好的基础. 在阅读完绪论之后,我对知识点做了以 ...

  6. 第一节计算机课开场白,第一节课有趣的开场白

    我是一名新老师,请问第一堂课的开场白怎么讲 我:上课 学生:起立 我:同学们好 学生:老师好 我:请坐 我:很高兴见到大家. 我是你们的英语(或其他的学科)老师 我叫* 老师有一个小小的请求. 大家一 ...

  7. 第一节课的Python基础知识

    第一节课的Python基础知识 Python内置的数据类型 1.number 2.string 3.list 4.tuple 5.dict 6.set 其他小结 方法range()的使用 获取一个li ...

  8. 第一节课:从零起步编码实现多层次神经网络

    第一节课:从零起步编码实现多层次神经网络 详细内容请关注微信公众号:从零起步学习人工智能 https://mp.weixin.qq.com/s?__biz=MzU3OTc4OTEzNw==&m ...

  9. 第一节计算机课开场白,第一节课的开场白

    原标题: 第一节课的开场白 既然是英语课,就应该有一个"带有英语"的开场白.在教师走进教室的一瞬间,可以面带笑容的用英语和学生说"Hello! Boys and girl ...

最新文章

  1. 【项目】MD5加盐源码理解
  2. 树状数组与离散化与求第K大模板
  3. UML 10 种常见的域建模错误
  4. java 字符串转long_如何在Java中将String转换为long?
  5. 新手学编程必会的100个代码
  6. 网络爬虫-爬取飞常准航班信息
  7. <Java设计模式>(二)UML类图 | 设计模式概述和分类
  8. 初步熟悉RHEL 8
  9. 向日葵远程控制连接服务器黑屏原因
  10. 面试题之10亿正整数问题
  11. 跑步到底伤不伤膝盖?励建安教授给你权威解答
  12. Bhuman应用篇——带球及踢球
  13. java开发中购物车问题,困扰一天的购物车有关问题
  14. 记录Google被和谐的日子
  15. ubuntu下离线侧扫声呐xtf格式数据提取软件
  16. PPP协议和PPPoE协议
  17. 《论语》原文及其全文翻译 学而篇13
  18. 省选模拟赛Day7 T3 随便乱走
  19. macOS The bottle needs the Xcode CLT to be installed
  20. 如何设计 QQ、微信等第三方账号登陆 ?

热门文章

  1. kali怎么安装python_kali如何安装python
  2. Node-RED教程
  3. python之Shelve使用
  4. 【实习】数据分析岗_试题整理
  5. 2017 软件工程 个人作业——软件产品案例分析
  6. Mockito 的 MockMvc:零基础教程
  7. 学习Jonathan Shewchuk的Triangle:分治法中三角形的几何信息和拓扑信息的操作
  8. HOG特征提取算法原理
  9. 设置复选框选中及其使用
  10. Mac下安装iMovie 9.0.9版本