请帮我分析下下面几个java类加载机制,运行PC类后的具体程序加载流程和输出结果

请帮我分析下下面几个java类,运行PC类后的具体程序加载流程和输出结果_百度知道
请帮我分析下下面几个java类,运行PC类后的具体程序加载流程和输出结果
synchronized int get() {
System.out.println(&Got: & + n);
synchronized void put(int n) {
System.out.println(&Put: & + n);
}}class Producer implements Runnable {
Producer(Q q) {
new Thread(this, &Producer&).start();
public void run() {
int i = 0;
while(true) {
q.put(i++);
}}class Consumer implements Runnable {
Consumer(Q q) {
new Thread(this, &Consumer&).start();
public void run() {
while(true) {
}}class PC {
public static void main(String args[]) {
Q q = new Q();
new Producer(q);
new Consumer(q);
System.out.println(&quot旦发测菏爻孤诧酞超喀;Press Control-C to stop.&);
}}我感觉producer新对象调用Q对象的put方法时,会进入Q对象的管程,程序会一直输出put12346.....可运行起来Consumer对象也可以运行,为什么啊?producer线程是一直运行的,并没有退出管程,Consumer对象怎么会运行呢?
行执行new Q() 先调用Q()无参构造方法,并分配内存空间。在执行 Producer(q) 有参构造方法,并执行new一个线程对象,并调用run() 输出put+1、2、3、主线程执行new Consumer(q)和上面是一样的,之后在输出Press Cont旦发测菏爻孤诧酞超喀rol-C to stop
其他类似问题
为您推荐:
java的相关知识
其他1条回答
Q对象get和put是独立加锁的,2者互不影响.
是一个对象只能有一个管程还是一个方法就可以对应一个管程啊?
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁《Java语言程序设计》实验教学大纲_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
《Java语言程序设计》实验教学大纲
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢(经典?)哪位朋友能分析一下一个java类(如实例)完整的执行过程吗?
[问题点数:20分,结帖人myJavaRoad]
(经典?)哪位朋友能分析一下一个java类(如实例)完整的执行过程吗?
[问题点数:20分,结帖人myJavaRoad]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2014年9月 Java大版内专家分月排行榜第三2014年6月 Java大版内专家分月排行榜第三2014年2月 Java大版内专家分月排行榜第三2013年11月 Java大版内专家分月排行榜第三2013年10月 Java大版内专家分月排行榜第三
2008年10月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。java中多线程的Thread类问题, 下面是我写的一个,为什么我的电脑中没有交替出现Main 和 TestThread 呢_百度知道
java中多线程的Thread类问题, 下面是我写的一个,为什么我的电脑中没有交替出现Main 和 TestThread 呢
i&10;).start(), 跟没体现出多线程啊;i++)
Smain 在运行&quotpublic class ThreadDemo9_1{ public static void main(String args[]) {
new TestThread().println(&
} }}上面就是了
结果却是如图这样的;10.TestThread 在运行&i&
} }} class TestThread extends Thread{
public void run() {
for(int i=0.out.println(&
for(int i=0;i++)
baidu.jpg" esrc="http://h.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http./zhidao/wh%3D600%2C800/sign=5d968e8a7bf40ad115b1cfe/962bd40735fae6cd2cf2443a70fab://h.com/zhidao/pic//zhidao/wh%3D450%2C600/sign=a53edbae11dfa9ecfd7b5e/962bd40735fae6cd2cf2443a70fab.hiphotos.hiphotos.baidu://h如图<a href="http
提问者采纳
TestThread 在运行&quot.i&10.printStackTrace(); T } catch (InterruptedException e) {
Ti&lt.sleep(10);public class ThreadDemo9_1{ public static void main(String args[]) throws InterruptedException {
new TestThread(); TODO Auto-generated catch block
for(int i=0.currentThread(););
/&#47.println(&quot.*.currentThread()。试试加几行代码import java.sleep(10);
} }} class TestThread extends Thread{
public void run()
for(int i=0多运行几遍.util.println(&quot.start(),无法给其他线程让路.),各线程中间没有挂起操作;main 在运行&quot
果然, 用你的代码运行了几次,果然有一条 TestThread 在运行 插入到 main 在运行 里了!只是你加的几段我没怎么看懂
import java.util.*;
很眼熟,是导入 java 里的什么包啊?后面的我也只看懂了 大概可能是要抛出什么什么错误。
看来我还有很长路要走啊, 不过这与问题无关啦!谢谢你的解答
提问者评价
其他类似问题
为您推荐:
其他1条回答
对啊 就是您说的那种情况
,跟书上的也不符啊?我的代码有问题么?
多线程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于JC3+Classic虚拟机程序运行时间估计.pdf57页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:200 &&
你可能关注的文档:
··········
··········
Java智能卡是在智能卡硬件系统的基础之上在卡片内通过软件构建的一个支
持JaVa程序下载、安装和运行的软、硬件系统。当前JaVa智能卡的应用程序都是
在Pc机上完成开发,然后将在PC机上完成开发的Java智能卡应用程序编译,下
载,掩膜到Java智能卡中。由于PC机和Java智能卡硬件性能相差巨大,在PC
机模拟器上运行良好的Java智能卡应用程序,会出现在目标平台运行的时间让人
无法接受的情况。因此在将Java智能卡应用程序掩膜到目标平台之前预估到Java
智能卡程序在目标平台上运行的时间是十分必要的。本文研究的内容就是在PC机
上预估JaVa智能卡应用程序在目标平台上运行的时间。
本文首先分析了JC3
Java智能卡虚拟机和JaVa智能卡应用程序的结构,
提出了一个时间预估的模型。分析实现了测量单个Java字节码运行时间的Java智
能卡应用程序脚本,通过运行脚本程序测量出字节码运行的时间;在JC3
Java智能卡虚拟机中设置统计字节码被解释执行次数计数器,统计到Java智能卡
应用程序在运行时解释执行各个字节码次数。通过这两组数据,结合预估Java智
能卡应用程序运行时间的数学模型,计算出Java智能卡应用程序运行在目标平台
上的时间。本论文最终实现了一个可以在PC机上预估Java智能卡应用程序在目
标平台上运行时间的工具,该工具能够比较精确的预估Java智能卡应用程序在目
标平台上的运行时间。
JaVa字节码;Java智能卡;程序运行时间
关键词: Java虚拟机;
分类号:TP302
Javasmartca柏isth
正在加载中,请稍后...

我要回帖

更多关于 java类加载机制 的文章

 

随机推荐