Java跨平台原理
Java为什么能够流行
外部环境
互联网的爆发式发展
互联网上的电脑硬件不同,软件环境差异较大。需要一 个跨平台的语言。
Java核心优势
跨平台

Java运行过程
Java程序的运行分为两步:先编译再解释执行
通过“编译器”将Java源程序编译成Java 字节码文件(.class)(字节码文件采用结构中立 的中间文件格式)
通过不同的“虚拟机”将Java字节码文件解释为对应机器语言并执行
Java跨平台和C跨平台的区别
Java:一次编译,到处运行 C:多次编译,到处运行
在互联网情况下,平台各异,Java的跨平台更具有优势
Java可以跨所有平台吗:要看有没有提供并安装相应的虚拟机
Java的运行速度没有C语言快
Java需要将class文件解释成机器码再执行;C执行执行机器码
字节码文件bytecode
class文件 二进制文件
格式中立、平台无关的二进制文件
是编译的产物,是解释的原料
Java虚拟机 JVM
JVM是Java Virtual Machine(Java虚拟机)的缩写
JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿 真模拟各种计算机功能来实现的。
JVM就是一个虚拟的用于执行bytecodes字节码的计算机
Java虚拟机是Java最核心技术,也是跨平台的基础。
Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在 Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能 够“一次编译,到处运行”的原因
JDK、JRE、JVM的区别联系
JDK:
Java Development Kit
针对Java开发员的产品
JRE:
Java Runtime Environment
是运行Java程序所必须的环境集合
JVM
Java Virtual Machine
解释运行Java字节码文件,跨平台的核心
联系:JDK 包含JRE,JRE包含JVM。
JAVA定时器基础教程
在我们工作当中总有需要按时间计划执行简单任务的情况,例如定时进行商品的抢购,闹钟功能等。下面我们来讲解一下JAVA自带的入门级定时器 Timer是如何实现定时器功能的。首先给大家介绍一下Timer类: JAVA定时器任务的执行需要两个基本的类:
java.util.Timer;
java.util.TimerTask;
Timer类:
的作用是设置计划任务,而封装任务内容的类是TimerTask类.此类是一个抽象类,继承需要实现一个run方法.
通过查文档我们看到Timer有以下几个构造函数:
Timer的方法以下这么多:
JAVA定时器-代码实例
/**
* 定时器要执行的任务 ,需要继承 TImerTask接口
*
* 输出 主人该起床了!!!!
*
* @author mayou18.com
*
*/
public class MyTask extends TimerTask {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("主人该起床了!!!!");
}
}
/**
* 创建定时器 Timer
*
* 2017年10月30日 6:30分 启动任务
*
* @author mayou18.com
*
*/
public static void main(String[] args) {
Timer timer=new Timer();
//在 2017年10月30日 6:30分 启动任务
timer.schedule(new MyTask(), new Date(2017,10,30,6,30));
//这个是用来停止此任务的,否则就一直循环执行此任务
while(true){
try{
int in = System.in.read();
if(in == 's'){
//使用这个方法退出任务
timer.cancel();
break;
}
} catch (IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Java学习视频分享
Java基础:
Java300集,Java必备优质视频_手把手图解学习Java,让学习成为一种享受
Java项目:
网友评论