2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 毛头小子初学Java

毛头小子初学Java

时间:2020-01-28 15:12:55

相关推荐

毛头小子初学Java

毛头小子初学Java

争取每日一更。初学者,所以笔记记得有不合理之处还望各位大佬看文章后给出宝贵的建议,大宝在此谢谢各位!

1.1Java 语言的历史与特点

What is Java?

Java首先是一种编程语言

它是一种面向对象的编程语言(oop)

它的语法与c和c++语言极为相似

Java所用的语法十分简单

Java的特点

简单易学(呵。。。呵呵。。呵呵呵)

面向对象(跨平台)

平台无关性

安全稳定

支持多线程

提供了丰富的类库

易头秃(开个玩笑)

Java提供类以满足网络化、多线程、面向对象系统的需要

语言包(package)

实用程序包

I/o包

网络包

图形用户界面包(windows用户界面包)

More。。。。

Java与c++的对比(java 是c+±-·

1.无直接指针操作

2.自动内存管理

3.数据类型长度固定

4.不用头文件

5.不包含结构和联合

6.不支持宏

7.不用多重继承

8.无类外全局变量

9.无 goto(没有绝望)

Java的三种核心机制

1.Java虚拟机(Java virtual machine)

2.代码安全性检测(code security)

3.垃圾收集机制(garbage collection)(内存能够自动管理)

Java程序的编译与运行

源程序:什么什么。Java(文本文件)

源程序经过编译称为javac、C语言文本文件叫cc

经过Javac编译以后生成的目标文件(结果文件)叫class文件(类文件)

类文件里边有一些字节码(目标代码)(bytecode)

字节码并不是实际机器的最终执行码,他自己定义一套规则(就是这里边的一系列指令与这个领域平台无关,被称为Java的虚拟机指令。

目标代码(字节码)(bytecode)运行程序要使用Java的命令,需要Java命令调用虚拟机,(虚拟机:在系统(Windows,Linux)的具体的基础之上运行代码的中介)运行代码,最终转化成系统(Windows,Linux)上的代码。

C/C++直接编译成具体平台CPU的指令而Java是先变成与平台无关的指令然后用具体的虚拟机去执行。

虚拟机就相当于系统再建立一套程序

Java虚拟机(Java virtual machine)

定义:在一台计算机上由软件或者硬件模拟的的计算机。

Java虚拟机(JVM)读取并处理经编译过的字节码class文件

Java虚拟机规范定义了:

指令集

寄存器集

类文件结构

堆栈

垃圾收集堆

内存区域

Java运行环境(JRE):

JRE(the Java runtime environment):由虚拟机装载程序并调用相应的指令来具体执行。

JRE=JVM(虚拟机)+API(lib/编程的库)

JRE运行程序时的三项主要功能:

加载代码:由class loader完成:()

效验代码:由bytecode(目标代码、字节码)verifier‘完成。(保证代码安全)

执行代码:由runtime interpreter完成、(解释与执行)

理解

1. 为何Java是跨平台的?

答:由于class文件是与平台无关的,只需把class文件,放到不同的系统就能有不同的虚拟机来执行,所以Java程序是可以跨平台的

2. 为何Java是安全的?

答:Java里边有代码的自动校验过程(bytecode verifier)

Java自动垃圾回收技术

垃圾回收(garbage collection、gc)在C/C++等语言中由程序员负责回收无用内存Java语言自动垃圾回收

系统级线程跟踪存储空间的分配情况

在JVM的空闲时,检查并释放那些可被释放的储存器空间

由系统运行,程序员无须也无法精确控制和干预该回收过程

JDK(Java开发工具包)

JDK=JRE(Java运行环境)+tools(工具)

JRE(Java运行环境)=JVM(虚拟机)+API(lib、编程的库)

图片来源为 MOOC课程截图,大佬们不会怪罪我吧,我毕竟没有图片版权

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。