1 java概述

  1. 人机交互方式 图形化界面GUI 命令行交互方式 CLI
    DOS命令基础操作
    D: 切到D盘
    dir 显示当前盘下文件夹
    md cmd 在当前目录下创建文件夹 make director 的缩写
    cd cmd 进入cmd目录下
    cd… 回到上一层目录
    rd cmd 删除文件目录,只能删除空文件夹 remove director的缩写
    del 1.txt 删除文件
    del *.txt 删除所有的后缀为.txt的文件
    cls 清屏

源程序(.java文件)经过编译之后形成字节码文件(.class)文件,字节码文件由java.exe运行,运行时的内存由jvm分配。jvm在不同的平台适配了不同的版本,程序运行在JVM中实现了一次编译,到处运行。jdk中包含了jvm,所以不同的平台的jdk也不同。
java语言 优点:跨平台性,面向对象性,健壮性(遇到问题不容易崩溃),安全性高,简单,高性能。
JVM 全称为Java Virtual MAchine-Java虚拟机,是一个虚拟的计算机,是java的运行环境。JVM具有指令集并使用不同的存储区域,负责执行指令,管理数据,内存,寄存器。
在这里插入图片描述
jvm功能:
1.实现java程序跨平台性
2.自动内存管理(内存管理,内存回收)
内存泄漏和内存溢出
内存溢出,假设内存一共1G,但由于开的程序过多,超过1G,内存不够用,就叫内存溢出。
内存泄漏,是指JVM内存管理机制,把一些占用内存的垃圾资源,不认为是垃圾资源,依然让它占用内存,导致内存被无用的垃圾占用,就是内存泄漏。内存泄漏多了就会导致内存溢出。
专业解释:程序在执行过程中,这段程序已经是不再使用的空间了,但是jvm通过算法判定以后不认为它是垃圾,就构成内存泄漏。
3.
命令行编译java程序 要先进到java程序同一级目录
javac t.java 编译生成 t.class文件
java t 运行t.class文件
在这里插入图片描述

在这里插入图片描述
4.软件
一系列按照特定顺序的计算机数据和指令的集合。
系统软件,即操作系统
应用软件,即os上的应用程序


  1. 一个.java源文件 中是否可以包括多个类,有什么限制?
    一个源文件中可以声明多个类,但是最多只能有一个类使用public进行声明,但要求声明为Public的类的类名与源文件名相同。
    java优势
    优点+社区繁荣
    如何看待java是一门半编译半解释型的语言
    在这里插入图片描述
    首先了解一下 Java 程序开发三个步骤:
    在这里插入图片描述

由图可知,Java 程序先通过 Javac 编译器将 .java 源文件编译成 .class 的字节码文件,然后再由JVM进行逐行解释运行字节码文件 (.class) 。由于Java程序先进行编译,再解释,因此Java就是半编译半解释型的语言。相信大多数人是这样理解的,而且许多博客也是这样讲的,但是…
这种理解是错误的。 只针对上述描述来看,Java实际上是解释型语言,因为在运行过程中并没有提前生成机器码,而是逐行解释运行的。

那么半编译是如何来的呢?
当程序中某个方法或代码块运行特别频繁的时候,JVM便会将其认为是热点代码(Hot Spot Code)为了提高运行速度,引入了 JIT(Just In Time) 即时编译技术,JIT会将热点代码编译成本地机器相关的机器码,并尽可能地进行代码优化,然后再把该机器码缓存起来,下次调用时直接执行该机器码即可。这个处理过程就是编译运行过程,即提前生成机器码,而不是啥时候使用啥时候生成。

因此引入JIT技术后,对于热点代码是编译运行的,而其他代码还是逐行解释运行的。因此,Java是一门半编译半解释型的语言。

来源文章:http://t.csdnimg.cn/tUvjt
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值