设为首页 加入收藏

TOP

JavaJVM进程程序员的第一堂课
2014-10-28 08:30:10 】 浏览:306
Tags:JavaJVM 进程 程序员 一堂

  Java JVM进程在无处不在的出现,其实我们不断的学习中就会发现,Java JVM进程十分有意思。现在发生了什么呢?每一个java程序员,从他开始学习java的第一分钟里都会接触到这个问题,但是,你知道它到底发生发什么?


  Java JVM进程被启动,在同一个JVM进程中,有且只有一个进程,就是它自己。然后在这个JVM环境中,所有程序的运行都是以线程来运行。JVM最先会产生一个主线程,由它来运行指定程序的入口点。在这个程序中,就是主线程从main方法开始运行。当main方法结束后,主线程运行完成。JVM进程也随之退出。


  我们看到的是一个主线程在运行main方法,这样的只有一个线程执行程序逻辑的流程我们称


  之为单线程。这是Java JVM进程提供给我们的单线程环境,事实上,JVM底层还至少有垃圾回收这样的后台线程以及其它非java线程,但这些线程对我们而言不可访问,我们只认为它是单线程的。


  主线程是JVM自己启动的,在这里它不是从线程对象产生的。在这个线程中,它运行了main方法这个指令序列。理解它,但它没有更多可以研究的内容。


  接触多线程


  1.class MyThread extends Thread{


  2.public void run(){


  3.System.out.println("Thread say:Hello,World!");


  4.}


  5.}


  6.public class MoreThreads{


  7.public static void main(String[] args){


  8.new MyThread();


  9.new MyThread().start();


  10.System.out.println("Main say:Hello,World");


  11.}


  12.}


  执行这个程序,main方法第一行产生了一个线程对象,但并没有线程启动。


  main方法第二行产生了一个线程对象,并启动了一个线程。


  main方法第三行,产生并启动一个线程后,主线程自己也继续执行其它语句。


  我们先不研究Thread对象的具体内容,稍微来回想一下上面的两个概念,线程对象和线程。在Java JVM进程中,线程对象是Java JVM进程产生的一个普通的Object子类。而线程是CPU分配给这个对象的一个运行过程。我们说的这个线程在干什么,不是说一个线程对象在干什么,而是这个运行过程在干什么。如果一时想不明白,不要急,但你要记得它们不是一回事就行了。


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇发现Java虚拟机内存泄露问题 下一篇Java包导入机制的研究与解析

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目