1. JAVA入门知识

1.1 JDK/JRE/JVM区别

JVM是不能独立安装的。

JRE和JDK都是可以独立安装的

JDK = JRE + 开发工具集(例如Javac编译工具等)

JRE = JVM + Java SE 标准类库

  • JRE: java运行环境
  • JDK:Java开发工具箱
  • JVM:java虚拟机

JVM的内存结构中三块比较重要的内存空间

  1. 方法区:存储代码片段,存储xxx.class字节码文件,类加载器将代码加载到这
  2. 堆内存:面向对象
  3. 栈内存:所需要的内存空间(局部变量)

此处的jdkbin目录下有

  • javac.exe负责编译
  • java.exe负责运行

1.2 编译与运行理解编译操作

编译操作(命令行javac进行编译)

  1. java代码(源代码,扩展名为XX.java)无法被jvm所识别,必须要先经过编译,将普通的文本代码变成字节码
  2. 单个java源文件可以生成多个class文件,最终执行的是class文件

运行命令 (命令行java进行运行)

  1. 将字节码(扩展名为XX.class)可以放到任何平台执行,实现跨平台的运行
  2. 字节码不是二进制码

程序运行原理

  1. 启动JVM(java虚拟机)
  2. JVM启动“类加载器classloader”寻找class文件(相应的字节码文件,默认当前路径)
  3. 将其加载到 java 虚拟机的方法区当中,开始调用 main 方法,main 方法被调用的瞬间,会给 main 方法在“栈”内存中分配所属的活动空间,此时发生压栈动作,main 方法的活动空间处于栈底
  4. 方法只定义不去调用的话,只是把它的代码片段存储在方法区当中,java 虚拟
    机是不会在栈内存当中给该方法分配活动空间的,只有在调用的瞬间,java 虚拟机才会在“栈内存”当中给该方法分配活动空间
  5. main先调用,故结束的时候main也是最后一个结束,故程序也就结束了

2. 关键字

关键字    大致含义
abstract    表明类或者成员方法具有抽象属性
assert    断言,用来进行程序调试
boolean    基本数据类型之一,声明布尔类型的关键字
break    提前跳出一个块
byte    基本数据类型之一,字节类型
case    用在 switch 语句之中,表示其中的一个分支
catch    用在异常处理中,用来捕捉异常
char    基本数据类型之一,字符类型
class    声明一个类
const    保留关键字,没有具体含义
continue    回到一个块的开始处
default    默认,例如,用在 switch 语句中,表明一个默认的分支
do    用在 do-while 循环结构中
double    基本数据类型之一,双精度浮点数类型
else    用在条件语句中,表明当条件不成立时的分支
enum    枚举
extends    表明一个类型是另一个类型的子类型,这里常见的类型有类和接口
final    表示不可变,最终的
finally    用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
float    基本数据类型之一,单精度浮点数类型
for    一种循环结构的引导词
goto    保留关键字,没有具体含义
if    条件语句的引导词
implements    表明一个类实现了给定的接口
import    表明要访问指定的类或包
instanceof    用来测试一个对象是否是指定类型的实例对象
int    基本数据类型之一,整数类型
interface    接口
long    基本数据类型之一,长整数类型
native    用来声明一个方法是由与计算机相关的语言(如 C/C++语言)实现的
new    用来创建新实例对象
package    包
private    一种访问控制方式:私用模式
protected    一种访问控制方式:保护模式
public    一种访问控制方式:共用模式
return    从成员方法中返回数据
short    基本数据类型之一,短整数类型
static    表明具有静态属性
strictfp    用来声明 FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754 算术规范
super    表明当前对象的父类型的引用或者父类型的构造方法
switch    分支语句结构的引导词
synchronized    表明一段代码需要同步执行
this    指向当前实例对象的引用
throw    抛出一个异常
throws    声明在当前定义的成员方法中所有需要抛出的异常
transient    声明不用序列化的成员域
try    尝试一个可能抛出异常的程序块
void    声明当前成员方法没有返回值
volatile    表明两个或者多个变量必须同步地发生变化
while    用在循环结构中

未完待续......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值