HashMap和Hashtable存储结构,都是一样的吧
老师这节课讲的,HashMap的底层存储结构,讲的到是值怎么存储,那键名,放在哪里
老师,我也是按照您的代码写的,但是运行的时候每次只能一个进程运行,就是只能A窗口卖票或者只能B窗口卖票,我运行了好几次,不能ABC窗口同时卖票
/** * 同步监视器只能是对象,推荐使用共享资源的对象,可以是当前对象this,也可以是其他的对象 */ public class Ticket2 implements Runnable { private int ticket=5; @Override public void run() { for (int i = 0; i <100 ; i++) { //调用同步方法 this.saleTicket(); } } //同步方法实现 private synchronized void saleTicket(){ //无需指定同步监视器,同步监视器只能是当前对象 if (ticket>0){ try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName()+"正在卖第"+(ticket--)+"票"); } } } public class TestTicket { public static void main(String[] args) { Ticket2 t = new Ticket2(); Thread t1 = new Thread(t,"A窗口"); Thread t2 = new Thread(t,"B窗口"); Thread t3 = new Thread(t,"C窗口"); //启动线程 t1.start(); t2.start(); t3.start(); } }
com.bjsxt.second.serverproject.serverjava.io.IOExceptionjava.io.InputStreamjava.net.ServerSocketjava.net.SocketServer { ServerSocket (String[] args) { System..println()Server server=Server()server.start()} (){ .start()} (port){ { =ServerSocket(port).receive()} (IOException e) { e.printStackTrace()} } () { { Socket client =.accept()InputStream is=client.getInputStream()[] buf=[]len=is.read()System..println(String(buflen))} (IOException e) { e.printStackTrace()} } (){} }
我用IDEA输出的是乱码,网上的方法是否都不靠谱呢!这个我应该怎么解决?
老师,请问这个问题如何解决?
这是我的代码
http_server.rar
老师,我想问一下:
这个群聊实际上是不是其它的客户端并不是接收到了信息,而是每个客户端发送了同样的数据,导致看上去像是一个客户端发送了信息,其它客户端接受了信息而已
老师,我想问一下,这里把关闭流的这个操作给注释了,那么这些流难道不会一直开着吗
老师,我想问一下,这里这个while的作用是决定能启用多少个客户端吗,如果循环里的条件是1,就是只能启动一个客户端,如果是4,就是可以启动4个客户端,如果是true,就可以启动N多个,是这个意思吗。
请问老师,这些解析工具以后在工作中会常用吗?以后需要我们这样去写解析程序吗?还是只要能读懂就行?
老师,我想问一下UDP协议编写的程序是C/S结构还是B/S结构啊
老师,我想问一下,这个主机和客户端难道不是指的同一台电脑吗,为什么它们的IP不一样:
chatRoom.zip
老师,这个问题找了半天也没找出为什么,服务器能接受消息,但是客户端收不到服务端的消息。
老师请问,我看到下面有老师对其他同学的回答"使用字符流操作文件时,当写入文件时,一定要关闭或者清空缓存,因为字符串还在缓存区中"。请问这里的清空缓存是指while循环中的bw.flush()吗?
另外我试了下删掉这句话,程序运行结果没有影响。请问加入数据量很大的话,如果不flush是不是才会出现缓存用尽新的数据读不进来的现象?
谢谢!
老师你好
问题:o和p为我自定义缓存范围外的值,o=300,p=300,o==p 返回为false,按说 o.equals(p) 应该返回的为true啊,但我实际的运行结果是 o.equals(p) 的结果也为false,这是什么原因了? 代码如下:
package com.bjsxt.test; public class MyInteger { private int value; private static MyInteger[] cache = new MyInteger[256]; public static final int LOW = -128; public static final int HIGH = 127; static{ //[-128,127] for(int i=LOW;i<=HIGH;i++){ //-128,0;-127,1;-126,2;~~~ cache[i+128] = new MyInteger(i); } } public static MyInteger valueOf(int i){ if(i>=LOW&&i<=HIGH){ return cache[i+128]; } return new MyInteger(i); } private MyInteger(int i){ this.value = i; } @Override public String toString() { return this.value+""; } //MyInteger类对象转化为基本数据类型 private int intValue() { return value; } public static void main(String[] args) { MyInteger m =MyInteger.valueOf(-128); MyInteger n =MyInteger.valueOf(-128); MyInteger o =MyInteger.valueOf(300); MyInteger p =MyInteger.valueOf(300); int a = m.intValue(); int b = n.intValue(); System.out.println(o.equals(p)); System.out.println(o==p); System.out.println(m.equals(n)); System.out.println(m==n); System.out.println(a==b); } }
老师,我想问一下通信方法前面的super写了有什么用呢,我不写也可以正常运行,结果也是一样的
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637