问什么一直看我这个图片
欢迎加入 xiaozhi 大家族
首页
推荐
百度一下
腾讯视频
Search
1
小米手机安装CA证书 MIUI13 Android 12可用
540 阅读
2
欢迎家人
226 阅读
3
2020.09.01 HTML 笔记
214 阅读
4
微信公众号推送早安问候以及天气预报 尾部附源码下载链接
200 阅读
5
MP代码生成器
176 阅读
默认分类
HTML初学日记
Java 笔记
小智的生活日记
Java 实用技巧
java面试经典问题
登录
Search
标签搜索
java基础
HTML初学记录
java分享
java抛错
小智
累计撰写
76
篇文章
累计收到
2
条评论
今日撰写
0
篇文章
首页
栏目
默认分类
HTML初学日记
Java 笔记
小智的生活日记
Java 实用技巧
java面试经典问题
页面
推荐
百度一下
腾讯视频
用户登录
登录
搜索到
76
篇与
的结果
2020-11-17
模拟游戏开始
public static void main(String[] args) throws InterruptedException, BrokenBarrierException { Monitor monitor = new Monitor(); monitor.start(); Random random = new Random(); CyclicBarrier cbar = new CyclicBarrier(10); //够五个同时执行 CountDownLatch cdl = new CountDownLatch(10); for (int i = 0; i < 10; i++) { int i1 = random.nextInt(5); Thread.sleep(i1*1000); System.out.println("准备创建" + (i + 1) + "个线程"); ClientThread ct = new ClientThread(cbar,cdl); ct.start(); } cdl.await(); System.out.println(Thread.currentThread().getName() + "游戏开始"); }public class ClientThread extends Thread{ CountDownLatch cdl ; CyclicBarrier cbar ; Random random; public ClientThread(CyclicBarrier cbar,CountDownLatch cdl){ this.cbar = cbar; this.cdl = cdl; random = new Random(); } @Override public void run() { try { System.out.println(Thread.currentThread().getName() + " : 号客户端开始排队"); this.cbar.await(); System.out.println(Thread.currentThread().getName() + " : 号客户端准备就绪"); int i = random.nextInt(10); Thread.sleep(i * 1000); this.cdl.countDown(); this.cdl.await(); System.out.println(Thread.currentThread().getName() + " 游戏开始"); } catch (InterruptedException e) { e.printStackTrace(); } catch (BrokenBarrierException e) { e.printStackTrace(); } } }public class Monitor extends Thread{ @Override public void run() { int i = 1; while (true){ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(i++); } } }
2020年11月17日
41 阅读
0 评论
0 点赞
2020-11-17
位运算求奇偶数
二进制除了最后一位,其他位都是2的幂次方,必然是为偶数的,那么我们可以通过最后一位为0或者1来判断我们每次都和1做与运算就可以求出最后一位与1运算的结果来判断奇偶了public class Testjiou{ public static void main(String[] args){ int nums = 99; System.out.println(nums+ "是: " + (((nums&1)==0)?"偶数":"奇数")); } }
2020年11月17日
20 阅读
0 评论
0 点赞
2020-11-15
ConcurrentModificationException 并发修改异常
并发的意思是同时发生,那么其实并发修改的字面意思就是同时修改,通过查看JDK的API我们可以得知,并发修改异常的出现的原因是:当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。一个常见的场景就是:当我们在对集合进行迭代操作的时候,如果同时对集合对象中的元素进行某些操作,则容易导致并发修改异常的产生。
2020年11月15日
18 阅读
0 评论
0 点赞
2020-11-08
同一网络 两台电脑相互连接
客户端public static void main(String[] args) { // 客户端,直接使用Socket类型 127.0.0.1代表自己电脑的IP Socket s = null; try { s = new Socket("172.30.4.99", 123);// IP地址,端口号 OutputStream os = s.getOutputStream(); PrintWriter pw = new PrintWriter(os); Scanner scanner = new Scanner(System.in); // 键盘输入一直发消息 String str; BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); while ((str = scanner.nextLine()) != null && !"".equals(str)) { pw.println(str); pw.flush(); if (str.equals("bye")) { break; } String temp = br.readLine(); System.out.println(temp); if (temp.equals("bye")) { break; } } }catch (IOException e) { System.out.println("服务器异常断开"); } finally { try { s.close(); } catch (IOException e) { e.printStackTrace(); } } }服务器public static void main(String[] args) { //TCP链接 服务端使用serverSocket //网络的四元组需要本地IP,本地端口,对外IP,对外端口 try { //服务器专用的一个类型,ServerSocket,参数需要绑定本机端口号 ServerSocket ss = new ServerSocket(23456); System.out.println("服务器已启动"); //接收别人给的数据 管道 Socket s = ss.accept(); //查看别人连自己的ip s.getRemoteSocketAddress(); System.out.println("链接已建立"); //获取对面的流 InputStream is = s.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); PrintWriter pw = new PrintWriter(s.getOutputStream()); String str; Scanner scanner = new Scanner(System.in); while((str = br.readLine()) != null && !"".equals(br)) { System.out.println(str); if(str.equals("bye")) { break; } String temp = scanner.nextLine(); pw.println(temp); pw.flush(); if(temp.equals("bye")) { break; } } } catch (IOException e) { e.printStackTrace(); } }
2020年11月08日
16 阅读
0 评论
0 点赞
2020-11-06
迭代器遍历HashMap
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getValue(); } 效率高,以后一定要使用此种方式! 第二种: Map map = new HashMap(); Iterator iter = map.keySet().iterator(); while (iter.hasNext()) { Object key = iter.next(); Object val = map.get(key); } 效率低,以后尽量少使用!
2020年11月06日
26 阅读
0 评论
0 点赞
1
...
9
10
11
...
16