视频里说这个class com.itbaizhan.Users是在toString当中的,这个class在哪能看出来
对于本节视频<数据流>里面提到的重要一点:使用DataInputStream/DataOutputStream读取/写入不同类型的数据时,要保证读取顺序和写入顺序保持一致。想问下,如果只用DataInputStream读取某个文件的时候,怎么知道先读取什么类型?难道这两个类要成对使用?现实中有怎样的使用场景?谢谢!
search 返回元素位置欧聪1开始为什么不是从零开始
com.bjsxt; Programmer{ String ; Programmer(String name){ .=name; } Computer(){ () { { System..println(.+ ); Thread.(); System..println(.+ ); Thread.(); System..println(.+ ); Thread.(); System..println(.+ ); Thread.(); } (InterruptedException e) { e.printStackTrace(); } } } Coding(){ () { { System..println(.+ ); Thread.(); System..println(.+ ); Thread.(); System..println(.+ ); Thread.(); } (InterruptedException e) { e.printStackTrace(); } } } toilet(){ () { { System..println(.+ ); Thread.(); System..println(.+ ); Thread.(); System..println(.+ ); Thread.(); System..println(.+ ); Thread.(); } (InterruptedException e) { e.printStackTrace(); } } } } Working1 Thread{ Programmer ; Working1(Programmer p){ .=p; } run() { ..Computer(); } } Working2 Thread{ Programmer ; Working2(Programmer p){ .=p; } run() { ..Coding(); } } Toilet Thread{ Programmer ; Toilet(Programmer p){ .=p; } run() { ..toilet(); } } TestSyncThread { main(String[] args) { Programmer p = Programmer(); Programmer p1 = Programmer(); Programmer p2 = Programmer(); Toilet(p).start(); Toilet(p1).start(); Toilet(p2).start(); } }
输出:
JY 打开卫生间门
JY 上厕所
JY 冲水
JY 离开卫生间
xj 打开卫生间门
xj 上厕所
xj 冲水
xj 离开卫生间
SJ 打开卫生间门
SJ 上厕所
SJ 冲水
SJ 离开卫生间
这里先输出xj是为什么,还是顺序就是随机的?
问:和前面那节课一样,都是只打印偶数。。。试了很多遍都是这样呢
public class TestThread2 implements Runnable { /** * 当前线程的线程体方法 */ @Override public void run() { System.out.println(Thread.currentThread().getName()+" 线程开始"); for(int i=0;i<20;i++){ System.out.println(Thread.currentThread().getName()+" "+i++); } System.out.println(Thread.currentThread().getName()+" 线程结束"); } public static void main(String[] args) { System.out.println("主线程开始"); TestThread2 testThread2 = new TestThread2(); Thread t1 = new Thread(testThread2); t1.start(); Thread t2 = new Thread(testThread2); t2.start(); System.out.println("主线程结束"); } }
图片:
老师,这个代码并不能和视频里一样获取主机的名称/ip地址只能获取ip地址/ip地址,请问是什么原因呢?
老师,我有一个疑问是,FutureTask实现了Runnable接口,那他就需要重写这个run()方法,这个run方法在这个第三种方式中,都做了什么,有点想不明白~
老师在视频中把好几行代码选中后注释掉的快捷键是什么
老师,不是说创建的是个对象嘛。但是为什么直接输出输出的是值,而不是对象的地址。
public void addLogic(){ Menu menu = new Menu(); TelNoteRegex regex = new TelNoteRegex(); while(true){ menu.addMenu(); int item = regex.menuItemValidate(1,3); switch (item){ case 1:this.addOperation();break; case 2:this.showAll();break; case 3:return;
case 3:return 为什么是返回上一级呢
//编写一个赋值的方法 同步监视器为Goods类的对象 public synchronized void set(String name,String brand){ if (isFlag){//相当于isFlag==true try { super.wait(); //生产者线程等待 } catch (InterruptedException e) { e.printStackTrace(); } } this.setName(name); try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } this.setBrand(brand); System.out.println("========生产者线程产生了============="+this.getBrand()+"========="+this.getName()); //通知消费者 super.notify(); isFlag=true; } //编写一个取值的方法 public synchronized void get(){ if (!isFlag){ try { super.wait(); //消费者等待 } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println("消费者线程取走了-------"+this.getBrand()+"----------"+this.getName()); super.notify();//通知生产者线程 isFlag=false;//没有商品了 }
老师我想问一下,就是比如说isFlag的值为true的话,他使用wait()方法进行线程等待,那么程序是直接跳到下面的get方法中去,等get()方法执行完毕之后,在返回去执行
.setName(name){ Thread.()} (InterruptedException e) { e.printStackTrace()} .setBrand(brand)System..println(+.getBrand()++.getName()).notify()=
这部分么。
他的这个线程等待就是等另外的一个线程执行完之后,在进行自己本身的代码嘛
问题:无法读取schema文档。
说明:老师,我的xml文件和xsd文件都是按照视频里讲述的编写的,两个文件也都放在了项目根目录下,但是在引入xsd文件的时候仍然报错。我的文件按照视频写过好几个版本了,文件位置也放到src目录下试过,都没有解决。烦请帮忙给解答一下,谢谢。
系统错误信息:
文件内容:
1、book.xml
<?xml version="1.0" encoding="UTF-8"?> <books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="{book.xsd}"> <book id="1001"> <name>一路向北</name> <author>一路</author> <price>98.6</price> </book> <book> <name>未来可期</name> <author>不告诉你</author> <price>99.9</price> </book> </books>
2、book.xsd
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="books"> <xs:complexType> <xs:sequence> <xs:element name="book" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string"></xs:element> <xs:element name="author" type="xs:string"></xs:element> <xs:element name="price" type="xs:double"></xs:element> </xs:sequence> <xs:attribute name="id" type="xs:positiveInteger"></xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
package page2.oneTcp; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.Socket; import java.util.Scanner; public class Clientone { public static void main(String[] args) { System.out.println("客户端启动成功!"); try(Socket socket = new Socket("127.0.0.1",8888); Scanner sc = new Scanner(System.in); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream())); BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())) ){ while(true){ String str = sc.nextLine(); System.out.println(str); bufferedWriter.write(str); bufferedWriter.flush(); if (str.equals("exit"))break; System.out.println(bufferedReader.readLine() +" 1111111111"); } }catch (Exception e){ e.printStackTrace(); System.out.println("启动异常"); } System.out.println("客户端关闭"); } } package page2.oneTcp; import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class OnwwaySocekd { public static void main(String[] args) { System.out.println("服务器开始监听"); try( ServerSocket serverSocket = new ServerSocket(8888); Socket socket = serverSocket.accept(); BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); //通过与客户单对应的Socket对象获取输出流对象 PrintWriter pw = new PrintWriter(socket.getOutputStream()) ){ System.out.println("连接成功"); while(true){ // String f = br.readLine(); // System.out.println("1116"); System.out.println(f); if("exit".equals(f))break; System.out.println(f); pw.println(f); pw.flush(); } }catch (Exception e){ e.printStackTrace(); System.out.println("服务器启动失败"); } System.out.println("服务器关闭吧"); } }
这个运行不出来啊 老师
还有就是 我之后 重新做了一个 两个输出流选的是 printwriter 用的是 write 方法写入 也运行不出来 改成println 就可以了 他们两个 有什么区别么
老师您好:
List<String> a2 = new ArrayList<>(); a2.add("a"); a2.add("b"); a2.add("c"); List<String> b2 = new ArrayList<>(); b2.add("b"); b2.add("c"); b2.add("d"); boolean flag8 = a2.removeAll(b2); System.out.println(flag8); for(String str :a2){ System.out.println(str); }
运行结果为什么没有d啊?
老师我不会,好想把所有的抽象成一个方法。这么多重复的,抽象完了肯定非常爽。但是我的脑袋里只有不会两个字,啥也不会。
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637