Java.

JAVA语言

1. 计算机基本概念(了解)

1.1 计算机组成

计算机由计算机硬件计算机软件组成.

  • 计算机硬件: 你的眼睛能看的见, 你的手能摸得着的东西.

    • 中央处理器(CPU)

      • 由运算器和控制器组成.
    • 存储器

      • 内存: 内存条(代数, 睿频).
      • 外存: 硬盘(SSD: 固态硬盘, HSD: 混合盘, HDD: 机械硬盘), U盘.
    • 输入设备

      • 键盘, 鼠标
    • 输出设备

      • 显示器.
  • 计算机软件: 能在计算机上运行的程序.

    • 系统软件: Windows操作系统, Mac操作系统, Linux操作系统.
    • 应用软件:
      • 概述: 我们程序员用编程代码开发的软件.
      • 例如: Typora, 微信, QQ.
1.2 语言简介
  • 什么是语言(Language)?

    • 指的就是人与人之间进行沟通, 交互的载体, 方式.
  • 什么是计算机语言(Computer Language)?

    • 指的就是人与计算机之间进行交互的方式.
  • 计算机语言的分类:

    1. 机器语言

      简单理解: 由二进制0, 1这样的指令组成.

      例如: 10010表示 加法.

    2. 汇编语言

      简单理解: 用一些简单的字母表示二进制序列(0, 1)

      例如: add表示 加法.

      优点: 文件小, 执行速度快, 可以直接操作计算机的硬件

      弊端: 可读性和可移植性相对较差, 对程序员来讲, 门槛较高.

    3. 高级语言

      简单理解: 由一些纯英文字母(包含大小写) 和 一些特殊符号组成.

      例如: +表示 加法.

      优点: 语法相对简单, 可读性, 兼容性较强, 对程序员来讲, 门槛较低.

      弊端: 种类繁多, 每种语言都有自己的语法, 每学一门语言, 都要学习新的语法.

      分类

      • 第一代高级语言:

        例如: C语言, 以面向过程为编程思想, 唯一一门可以直接操作计算机硬件的高级语言

      • 第二代高级语言:

        例如: C++, 以面向对象为编程思想, 没有默认的垃圾回收机制.

      • 第三代高级语言: 目前市场上应用最多的语言

        例如: Java, C#, 以面向对象为编程思想, 而且有默认的垃圾回收机制(GC).

      • 第四代高级语言: 未来的发展趋势, 现在还处于发展初期

        简单理解: 以面向问题编程思想为主, 也就是说: 告诉计算机做什么, 而不是怎么做.

        例如: Siri语言交互, 大数据云平台, 这些势必肯定会用到大数据框架等技术.

2. Java

Java简介

Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言。所谓编程语言,是计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。

2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.com
Java语言共同创始人之一:詹姆斯·高斯林 (James Gosling),被称为“Java之父”


应用

​ Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。

Java语言跨平台原理

特性
  • ​ 多态
  • 多线程
  • 面向对象
Java虚拟机——JVM
  • JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在JVM 之上。

  • 跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。

如图所示,Java的虚拟机本身不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。

JRE 和 JDK
  • **JRE ** (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库
  • JDK (Java Development Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。

我们想要运行一个已有的Java程序,那么只需安装JRE 即可。

我们想要开发一个全新的Java程序,那么必须安装JDK

总结:我们只需安装JDK即可,它包含了java的运行环境和虚拟机。

在这里插入图片描述

在这里插入图片描述

3. JVM内存划分

1. 栈: 存储局部变量以及所有代码执行的
  1. 局部变量: 定义在方法中,或者方法上声明的变量
  2. 特点: 先进后出
2. 堆: 存储所有new出来的内容(对象)
  1. 特点: 队中的内容会在不确定的时间,被**GC(Java中的垃圾自动回收机制)**回收
    1. GC: 线程判断对象是否可以回收的依据是该对象是否有引用指向,因此,当确定该对象不再使用时,应该及时将其引用设置为null。
3. 方法区: 存储字节码文件的地方
  1. 类装载器载入类文件的字节码文件: 指的是后缀为**.class**的文件
  2. 字节码文件的回收: 由cpu处理
4. 本地方法区:
  1. 和系统相关的方法
5. 寄存器
  1. 和CPU相关(之后扩展-单独笔记)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值