老师我想问一个问题,就是在写文件的时候,磁盘里没有这个文件,我不用new file()吗?,之间写上路径和文件名就可以新建文件吗?
老师我想问一下,打印流输出的都是字符串,数字也写成了字符串,破坏了原有的的类型,那么字节流、字符流、处理流、缓冲流在处理文件时,是不是都会破环原有的类型啊?
这个运行结果的名称一直是null,找了好几遍没找到问题
下面是源码:
http_server2.zip
你好老师
问题:我用管程法实现了多线程的操作(用synchronized的方法)但是还是出现了脏数据;
package Thread_study03; /** * 协作模型:生产者消费者实现方式一:管程法 * 借助缓冲区 * @author 陈世丰 * */ public class CoTest01 { public static void main(String[] args) { // TODO Auto-generated method stub SynContainer synContainer= new SynContainer(); new Thread(new Productor("a",2,synContainer)).start();//生产2 new Thread(new Consumer("m",4,synContainer)).start();//消费4 new Thread(new Productor("a1",4,synContainer)).start();//生产4 new Thread(new Consumer("m1",2,synContainer)).start();//消费2 } } class SynContainer{ Steamedbun[] buns = new Steamedbun[10]; //存储容器 int count = 0; //计数器 //生产 public synchronized void push(Steamedbun a) throws InterruptedException{ if(count>=10){ this.wait(); } buns[count]=a; count+=1; this.notify(); } //消费 public synchronized Steamedbun pop() throws InterruptedException{ if(count<=0){ this.wait(); } Steamedbun a=buns [count]; buns [count]=null; count-=1; this.notify(); return a; } } //馒头类 class Steamedbun{ int id; public Steamedbun(int id) { this.id = id; } } //生产者 class Productor implements Runnable{ String name; int count ; SynContainer synContainer; public Productor(String name, int count,SynContainer synContainer) { this.name = name; this.count = count; this.synContainer=synContainer; } @Override public void run() { for(int i=0;i<count;i++){ try { Thread.sleep(200); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { synContainer.push(new Steamedbun(i)); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(name+"成产后剩余-->"+synContainer.count+"剩余个馒头"); } } } //消费者 class Consumer implements Runnable{ String name; int count; SynContainer synContainer; public Consumer(String name, int count, SynContainer synContainer) { this.name = name; this.count = count; this.synContainer = synContainer; } @Override public void run() { // TODO Auto-generated method stub for(int i=0;i<count;i++){ try { Thread.sleep(200); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { synContainer.pop(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(name+"消费后剩余-->"+synContainer.count+"个馒头"); } } }
Training.rar
问题:老师为什么我的源码和您视频里的源码不一样呢?
亲爱的老师:以下两个问题该如何解决呢??
问题1:如下图:为什么我按照老师讲的右键点击文件中Validate没有反应呢,警告还在呢?
问题2:如下图:此处报错,是导包不正确还是由于问题1中的警告呢?
老师为什么我的eclipse设置了xml的自动补全但是敲的时候还是没有自动补全呢?
老师为什么我的没有变色
学这个二叉树和红黑树是为了给treeMap做铺垫,只需要理解就可以了?要是以后经常使用的话,都会用在哪里啊老师?课程里有好多类似的知识点,比如看源码,是需要理解还是学会应用?
老师我想问一下,treeMap形成的集合里,实现的是红黑树原理,那么Key值就是那个升序的数组?,value值是相应的链表吗?但是值可以重复,红黑树的链表值不是无法重复吗?
有点蒙圈啊老师,老师能不能把下面的代码用红黑树分析一下啊?
TreeMap tm=new TreeMap(); tm.put("hello", 111); tm.put("world", 222); tm.put("java", 333); tm.put("sql", 222);
红黑树的原理是查找、搜索、排序,在treemap集合里,红黑树只是将key值进行排序吗?
老师这是什么情况啊
public class Test { public static void main(String[] args) { String str1="abc"+"dbc"; String str4="abcdc"; String str2=str1+"cde"; String str3=new String("hello"); System.out.println(str1==str4); //在等号的右侧有变量参与运算或者关键字,将在内存开辟空间 } }
int ran=(int)(Math.random()*9000)/*0-8999随机数*/+1000;//加1000就是9999 System.out.println("随机数1000-9999:"+ran);
1.老师这个加1000不是加到8999上面吗?
2.随机数的产生不是从0开始的吗?
登入是成功了但是报错 package com.server; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.Closeable; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.ServerSocket; import java.net.Socket; import com.client.client; public class httpserver2 { public static void main(String[] args) { String CRLF="\r\n"; String BLANK=" "; ServerSocket server = null; BufferedReader dos = null; BufferedWriter dis = null; Socket data=null; try { server = new ServerSocket(8888); data=server.accept(); dos = new BufferedReader(new InputStreamReader(data.getInputStream())); String aa; while ((aa=dos.readLine()).length()>0) { System.out.println(aa); StringBuilder sb =new StringBuilder(); StringBuilder sbcontent =new StringBuilder(); sbcontent.append("<html><head><title>相应结果</title></head>"); sbcontent.append("<body>登入成功</body></html>"); sb.append("HTTP/1.1").append(BLANK).append(200).append(BLANK).append("OK"); sb.append(CRLF); sb.append("Content-Type:text/html; charset=utf-8"); sb.append(CRLF); sb.append("content-Length:").append(sbcontent.toString().getBytes().length).append(CRLF); sb.append(CRLF); sb.append(sbcontent); BufferedWriter bw =new BufferedWriter(new OutputStreamWriter(data.getOutputStream(),"utf-8")); bw.write(sb.toString()); bw.flush(); bw.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { serverclose.closeall(server,data,dos); } } }
GET /index.html HTTP/1.1
java.net.SocketException: Socket is closed
Host: localhost:8888
at java.base/java.net.Socket.getOutputStream(Socket.java:944)
at JavaSocket/com.server.httpserver2.main(httpserver2.java:46)
老师,请问为什么Hashtable的t是小写的?在网上也没有找到一个准确的说法
老师,视频中说这四个都是二叉查找树,但不是要求左子树上所有结点的值均小于它的根节点的值,像图中圈出的这种等于也可以是吗?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637