老师,这红色方框是运行主线程,而蓝色方框试运行两个子线程,是这样吗?
还有为什么我蓝色方框里的结果没有交错输出?
老师,请问用String的变量作为锁对象就不能实现线程同步了吗?
package com.itbaizhan; public class TestSynchronized { public static void main(String[] args) { Programmer p = new Programmer("张三"); Programmer p1 = new Programmer("李四"); new Wcc(p).start(); new Wcc(p1).start(); } } class Programmer extends Thread{ private String name; public Programmer(String name) { this.name = name; } public void wc() { synchronized (this.name) { try { System.out.println(this.name + "打开卫生间大门"); Thread.sleep(500); System.out.println(this.name + "开始排泄"); Thread.sleep(500); System.out.println(this.name + "冲水"); Thread.sleep(500); System.out.println(this.name + "离开卫生间"); } catch (InterruptedException e) { e.printStackTrace(); } } } } class Wcc extends Thread{ private Programmer p; public Wcc(Programmer p){ this.p = p; } @Override public void run() { this.p.wc(); } }
public class BasicSocketClient { public static void main(String[] args) throws UnknownHostException { Socket socket=null; PrintWriter pw=null; //创建 Socket两个参数 1.服务端的IP地址 2.服务端所监听的端口 try { socket=new Socket("127.0.0.1",8888); pw=new PrintWriter(socket.getOutputStream()); pw.println("服务端 你好"); pw.flush(); } catch (IOException e) { e.printStackTrace(); }finally { try { if (pw!=null){ pw.close(); } if (socket!=null){ socket.close(); } }catch (Exception e){ e.printStackTrace(); } } } }
public class BasicSocketServer { public static void main(String[] args) { Socket socket=null; BufferedReader br=null; try { ServerSocket serverSocket=new ServerSocket(8888); System.out.println("服务器启动监听等待链接。。。。"); //开启端口的监听 socket=serverSocket.accept(); //读取客户端发送的消息 br=new BufferedReader(new InputStreamReader(socket.getInputStream())); } catch (IOException e) { e.printStackTrace(); }finally { try { if (br!=null){ br.close(); } if (socket!=null){ socket.close(); } }catch (Exception e){ e.printStackTrace(); } } } }
老师为什么我两个代码运行完 客户端没有反应呢 没有输出那行话
老师parallel run应该在哪里?
老师,形参里面可变参数给T...,但是数组里给的a,b,c不都是一个类型吗,我能在数组里给a,1,b这样吗
老师,get请求方式可能含有参数,也就是说请求中第一行可能有参数,如果没有参数,那paraString是空,还是和post方式一样在正文中?
老师,我这里有几个问题,问题一:包装类对象转换为数据类型(红线部分)是可以转换为任意的数值型的数据类型吗
问题2:黑线部分那不是基本数据类型转换为包装类对象吗?
问题3;包装类是基本数据类型,包装类对象,字符串之间的湖湘转换,那么包装类一般是用在哪里
老师,这里为啥要返回一个 return null
老师,可以对重新equals和hashCode这一块儿做个详解吗?或者帮忙找个链接也好,谢谢。重写的时候会勾选好多东西,也不知道都是什么意思。还有什么质数31什么的,不明白是干嘛的
请问老师,key.hashCode()这里的意思就是取哈希值的低16位,那为什么视频里老师在对key.hashCode和h>>>16时做异或运算时,key.hashCode()不是把十六位之前的数字看做0?
老师,这俩段代码可以调换位置嘛,麻烦详细点
开头声明 l=last 后来 last = newNode
老师那这里的这个l是判断的哪里为空
if先锁钱后锁水,else依然是先锁钱后锁水,就能正常输出,请问一下if 先钱后水 else中必须是先水后钱的顺序才能死锁吗?逻辑问题和这个也有关吗?
人的精力和时间是有限的,不可能什么都会什么都学。能给点建设性的意见吗?
package com.sxt.javaImprove1; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ArrayListTest { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); Integer integer0 = new Integer(10); Integer integer1 = new Integer(9); list.add(integer0); list.add(integer1); // 显示,实际调用的都是AbstractCollection的toString方法 System.out.println(list.toString()); int[] array = { 11, 22, 33 }; List list1 = Arrays.asList(array); //显示调用的是Object的toString方法, 实际调用AbstractCollection的toString方法 System.out.println(list1.toString()); Integer[] array2=new Integer[]{11,22,33}; List<Integer> list2=Arrays.asList(array2); //显示调用的是Object的toString方法, 实际调用AbstractCollection的toString方法 System.out.println(list2.toString()); } } 运行结果:
[10, 9]
[[I@2a139a55]
[11, 22, 33]
数组转换为容器的时候,
list1 ,list2的toString方法打印结果完全不同,一个是打印哈希码,一个打印数组的字符串表现形式.
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637