| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1542 人关注过本帖
标题:弱智抓蛙男 前来报道,有个小问题望不吝赐教
只看楼主 加入收藏
弱智抓蛙男
Rank: 1
等 级:新手上路
帖 子:264
专家分:0
注 册:2006-11-24
收藏
 问题点数:0 回复次数:21 
弱智抓蛙男 前来报道,有个小问题望不吝赐教
java运行使每new一个对象就产生了一个进程么?
或者每个方法就是一个进程?
就那么个意思,但是对进程不甚了解,也不知道这样问有没有逻辑问题。
静候佳音!
搜索更多相关主题的帖子: 弱智 不吝 
2006-11-24 18:45
hanshengchua
Rank: 1
等 级:禁止访问
威 望:2
帖 子:174
专家分:0
注 册:2006-5-8
收藏
得分:0 
java是oop思想的,每一个类必须new之后产生一个新对象之后才可以使用。

进程就是执行的程序,在windows下不是有任务管理去么?那么多正在执行的程序其实都是一个个的进程。
2006-11-24 19:20
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
一个JAVA程序才是一个进程,进程里面可以有很多线程

new 一个对象和执行一个方法都是一个线程里面做的事

可惜不是你,陪我到最后
2006-11-24 19:22
弱智抓蛙男
Rank: 1
等 级:新手上路
帖 子:264
专家分:0
注 册:2006-11-24
收藏
得分:0 
封哥就是不一样啊哈哈
这一手就这么明白,一看就懂了,不愧是高~~手啊哈哈、

还有个小疑问:声明对象的时候是不是也有个线程产生了?
2006-11-24 19:31
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
当然不是

线程是你自己去建的

如果不创建的话,用户只有一个主线程在运行


可惜不是你,陪我到最后
2006-11-24 19:36
弱智抓蛙男
Rank: 1
等 级:新手上路
帖 子:264
专家分:0
注 册:2006-11-24
收藏
得分:0 

有点糊涂,因为看了一道贴是这样的:
abstract class Exam4 {
int j=3;
Exam4()
{
print();
{
System.out.println(j);
}
}
abstract void print();
}

public class Exam4Sub extends Exam4{
int i=1;
void print()
{
System.out.println(i);
}
public static void main(String[] args) {
Exam4Sub e=new Exam4Sub();
e.print();
}
}
输出结果是0 1 3
是不是说明在exam4sub e;的时候电脑打印了一个 0
这难道不是线程干的么?望不吝赐教。

2006-11-24 19:52
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

结果是0 3 1吧

这是对象初始化顺序的问题

你可以去J2SE版找找相关的帖子


可惜不是你,陪我到最后
2006-11-24 19:57
弱智抓蛙男
Rank: 1
等 级:新手上路
帖 子:264
专家分:0
注 册:2006-11-24
收藏
得分:0 


一下字明白了,是我糊涂了。。。

再顺便问一下,在applet里面paint和repaint和update都是虚拟机自己创建的进程么?

2006-11-24 20:02
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

paint是系统调用的,有一个专门的线程来做这个事情


可惜不是你,陪我到最后
2006-11-24 20:09
弱智抓蛙男
Rank: 1
等 级:新手上路
帖 子:264
专家分:0
注 册:2006-11-24
收藏
得分:0 

恩~~有道理
再帮我改一个程序:
import java.awt.*;
import java.applet.*;

public class changeColor extends Applet{

public void init(String args[]){

Frame f = new Frame("change color box");
f.setSize(300,300);
}


public void paint(Graphics g){
int k ;
for (int i = 0; i <= 255; i++){
k = i;
for (int j = 0; j <= 255; j++){
g.setColor(new Color(k, i, j));
g.drawLine(i, j, i, j);
}
}

repaint();
}
}
我只会extends 成 applet 来做,不是applet的话我就不会用graphics g 了
劳烦帮我实现一下,应该是个很肤浅的问题。自鄙一下

2006-11-24 20:19
快速回复:弱智抓蛙男 前来报道,有个小问题望不吝赐教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025618 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved