老师,我的这个可以直接打印出来,有点不太理解 还是说这个直接打印的不是数组?
为啥我的每次运行结果都一模一样???
public class haunchongThread { public static void main(String[] args) { Zaocarcahng zaocar = new Zaocarcahng(); Thread scz = new Thread(new scz(zaocar)); Thread xfz = new Thread(new xfz(zaocar)); scz.start(); xfz.start(); } } //缓冲区 class Zaocarcahng { ArrayList c = new ArrayList<>(10); //存车 synchronized public void scc(Ccar ccar, String s){ while (c.size()>=10){//如果到10了就满了,休息 try { this.wait();//线程休息 } catch (InterruptedException e) { throw new RuntimeException(e); } }//到这里线程还在休息,无法执行下面的唤醒,所以没有冲突 this.notify();//唤醒 c.add(ccar); System.out.println(s+"生产了"+ccar.toString()); } //取车 synchronized public Ccar xsc(int ccarid){ if (c.size()<=0){//车不够了,等着休息 try { this.wait();//线程休息 } catch (InterruptedException e) { throw new RuntimeException(e); } }//到这里线程还在休息,无法执行下面的唤醒,所以没有冲突 this.notify();//唤醒 return (Ccar) c.remove(ccarid); } } //产物 class Ccar { private int id ; public Ccar() { } public Ccar(int id) { this.id = id; } @Override public String toString() { return "Ccar{" + "id=" + id + '}'; } public int getId() { return id; } public void setId(int id) { this.id = id; } } //生产者 class scz implements Runnable{ Zaocarcahng zcc; public scz(Zaocarcahng zcc) { this.zcc = zcc; } @Override public void run() { //生产 for (int i = 0; i < 20; i++) { zcc.scc(new Ccar(i),"生产者----"); } } } //消费者 class xfz implements Runnable{ Zaocarcahng zcc; public xfz(Zaocarcahng zcc) { this.zcc = zcc; } @Override public void run() { for (int i = 0; i < 20; i++) { Ccar xsc = zcc.xsc(0);//只取第1个 System.out.println("消费:"+xsc.toString()); } } }
Java在读取文件和写文件的时候底层应该是交给操作系统进行处理的吧,我理解输入的时候是不是操作系统把数据放到了输入流中,输出的时候程序把内容放到输出流中,输出流把数据交给操作系统进行写入
SetName01类直接继承了Thread类
为什么不直接使用Thread类的setName方法啊?
反而要去用构造器构造名字
批处理文件无法打开怎么办
为什么我这个不是随机的而是按顺序执行的
为什么是fis!=null的时候要关闭。
不应该是流对象他读完了是null了才关闭吗?
视频里的api文档在哪下载?
在客户端中不是有有pw.println 这个不是输出的意思膜
为啥输出显示只在服务端的终端,而客户端的终端却没有输出任何东西
它的输出是不是在服务端输出,为啥要将信息返回个客户端
这里会报错是JDK版本问题吗
不知道为啥到了查看全部的时候就报错了,
phonebook.rar
每当你说明白这个意思吧的时候我都有点蒙
public class Generic<T>{ private T flag; public void setFlag(T flag) { this.flag = flag; } public T getFlag() { return this.flag;//构造器给的是return flag;应该是有差别的一个是对象一个是类的成员变量 } public static void main(String[] args) { Generic<String>generic = new Generic<String>();//后面的尖括号可以写也可以不写 generic.setFlag("oldlu");//若上面尖括号没定义了类型,则默认返回Object类的属性 String flag = generic.getFlag(); System.out.println(flag); }}
String flag = generic.getFlag();//这句中flag是新变量还是成员变量
int a = new Random().nextInt(4);
swtich (Season.value()[a]){...}
中的[a]是什么用法和下方的case打印什么关系
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637