noNamespaceSchemaLocation是什么意思,为什么要加这句话呢
它的功能是什么
老师,您好。我的输出为什么有编码问题啊,代码如下
package com.xxzy.test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; /** * 服务器 * @author 吉仁 * */ public class Test { public static void main(String[] args) { ServerSocket ss=null; Socket s=null; BufferedReader br=null; try{ ss=new ServerSocket(8888); s=ss.accept(); br=new BufferedReader(new InputStreamReader(s.getInputStream(),"utf-8")); String str=null; while((str=br.readLine())!=null) { System.out.println(str); } }catch(IOException e) { e.printStackTrace(); }finally { CloseTest.CloseAll(ss,s,br); } } }
信息打印入下:
老师似乎讲的过于简单了,四个必要条件也没有讲清楚。
问题点:代码中,当为把str5更换成“”则打印输出的是9,而不是0123456789,这是为什么appded方法怎么没用了?
代码区:
package cn.sxt.string; public class Test { public static void main(String[] args){ String str1 ="abc"+"dbc"; String str4 = "abcdbc"; /** * 相当于 * StringBuider sb = new StringBuilder() * sb.append(str1); * sb.append("cde") * String str2 =sb.toString(); */ String str2 = str1+"cde"; String str3 = new String("hello"); System.out.println(str1==str4); System.out.println(str2==str4); String str5 =""; for(int x=0;x<10;x++){ StringBuilder sb1 = new StringBuilder(); sb1.append("");//sb1.append(str5); sb1.append(x); str5=sb1.toString(); //str5+=x; } System.out.println(str5); StringBuilder str6 = new StringBuilder(); for(int y=0;y<10;y++){ str6.append(y); } System.out.println(str6); } }
打印:
关于客户端与服务端接收线程的问题
在接收线程中,其流程是否如下?
刚开始
服务器端接收线程不断等待数据进入输入流 (刚开始无数据)
客户端通过输出流写入数据后 (IO流中有数据)
服务器能够从输入流中读到数据
读取完一次后 继续不停重读读取
但是IO流只能被完整读取一次,所以虽然IO流有数据但是不能被读取
Socket的通道端依然阻塞?
停止继续等待数据写入这个IO流,然后从原来的IO流往后继续读取
所以虽然是一个循环读取的过程,但是对这个IO流来说是不断往下读取数据的过程这个么个意思吗?
之所以使用数据流作为socket的数据传输,是因为数据流类继承FilterInputStream和FilterOutputStream。
其read和writer方法是阻塞式,这个是不是有必要说明下,不然后面socket实现群聊时,将发送和读取分开,然后死不断循环真的有点让人不太能理解。
package cn.lz.Server; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) { //创建服务器 ServerSocket server = null; //监听客户端 Socket client = null; //获取输入信息 BufferedReader br = null; try { server = new ServerSocket(8888); client = server.accept(); br = new BufferedReader(new InputStreamReader(client.getInputStream(),"utf-8")); String str=null; while((str=br.readLine()).length()>0) { System.out.println(str); } } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { CloseUtil.CloseAll(br,client,server); } } }
按照视频敲代码,浏览器输入http://localhost/index.html,我的server怎么啥的不显示输出啊?
老师有源码吗,我想看看源码,思考思考。。。。。。。。
老师,讲join()方法时,这儿是不是讲错了?
老师。我下载的Tomcat7版本和JDK9版本一直出现闪退,环境变量配置了好多次不行,发现是版本不兼容原因,没换JDK,下载tomcat 8 版本,服务器可以打开,网站打不开,如图所示
public class Test1 { public static void main(String[] args) { //ExecutorService pool = Executors.newSingleThreadExecutor(); ExecutorService pool = Executors.newFixedThreadPool(10); //ExecutorService pool = Executors.newCachedThreadPool(); for (int i = 0; i < 20; i++) { final int n = i; Runnable command = new Runnable() { @Override public void run() { System.out.println("开始执行: " + n); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("结束执行: " + n); } }; pool.execute(command); } pool.shutdown(); } }
老师, 请问一下, 在本节课的示例Test1中, 为什么在代码"final int n = i;", 要使用final呢? 不加final, 直接复制 int n = i; 应该也可以达到同样的效果吧?
final关键字定义变量时,就再也不可以改变此变量的值,在这个语句块里,每单次for循环,n只进行赋值了一次,是不是不写final也行啊
String urlstring = firstline.substring (indexfirstline.indexOf ()).trim ()
为什么这里的HTTP不能用小写的呢?
老师还有基于UDP的更详细的内容吗?比如如何去定义一个数据包等。
//(11) 遍历集合中元素的内容 /**使用加强for循环遍历集合中的元素*/ List list=new ArrayList(); list.add("hello"); list.add(123); for(Object obj:list) { System.out.println(obj); }
创建集合对象list,是List类型创建的,为什么遍历的时候是Object类型,这如何理解
如果键是字符型,HashCode值是怎么得,不会是自身啊。如果直接调用String得hashCode()方法,HashCode可能会出现负数。字符型得hashCode怎么得
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637