为什么这里不加1000L,d2使用to String方法会打印出当前的时间?
老师是这样吗,这个程序相当于电脑,开启多个程序后就开了多个线程,每个程序分给了特定的地址空间就是内存占用程度,你就算不使用这个软件,他就在后头默认开着运行自己被分配的内存空间,当需要的时候切换到这个程序中使用就行
老师,我想问一下是代理角色对象创建后线程才处于新生状态还是真实角色创建后线程就处于新生状态,真实角色是线程类吗?
老师请问为什么我的运行结果是只显示一个生产者线程呢?而且运行10次有9次都是在最后一个打印出来
存储有序跟存储无序怎么理解?这里的有序与无序我觉得不是指,像1,2,3,4这样子进行排列,但又不清楚如何描述
那么要怎样才能让这种输出没有乱码呢
package com.bjsxt; import java.io.BufferedOutputStream; import java.io.DataOutputStream; import java.io.FileOutputStream; import java.io.IOException; //处理流 //数据流方便了获取与输出各种数据类型时的转换 //基于字节流输出,会输出乱码 public class DataOutputDemo { public static void main(String[] args) { DataOutputStream dos=null; try { dos=new DataOutputStream(new BufferedOutputStream(new FileOutputStream("d:/data.txt"))); dos.writeChar('a'); dos.write(10); dos.writeDouble(Math.random()); dos.writeBoolean(true); dos.writeUTF("你好,尚学堂"); dos.flush(); }catch (Exception e) { e.printStackTrace(); }finally { try { if(dos!=null) dos.close(); } catch (IOException e) { e.printStackTrace(); } } } }
Set<String> keys = map.keySet();
for(String key:keys){
String v1 = map.get(key);
System.out.println(key+" ---- "+v1);
}
为什么打印结果是一一对应的呢
抛出异常后,交给jvm处理是什么意思?我只看到了有异常然后print报错了而已,jvm也没帮我解决异常呀
这个获取子节点是获取它下面所有子节点还是它下一级的所有子节点
老师,视频里的3分30秒,它定义了一个Test6类,然后实例化showMsg方法在实例化Generic类,
然后我的疑问是show.Msg.showFlag(generic)的作用是什么,为什么我把这句写在,generic.setFlag(20),运行的结果返回的是Null?
这个意思是,如果一个类,要调用另一个类的方法,因为这是个无返回值的,把20传进去,就要再强调一下这个方法是另一个类的?还是什么
IP地址如何转换成真正我们需要的实际地址,当通过函数方法getHostAddress()方法时,是否有方法让其返回的是虚假的IP地址
老师,这一节的代码不是很懂它的逻辑
老师我想知道视频里面老师这一步的快捷键是什么(就是这个int index怎么出来的)?
我想请教一下老师,我这是什么情况。运行结果和环境如上。
老师关于add(int index,Object obj) 插入尾节点总覆盖,能不能帮我看一下,解释麻烦详细一点我基础不太好
package cn.sxt.mylinked; import java.util.LinkedList; //插入索引节点 public class MyLinked04 { Node first;// 第一个节点元素 Node last;// 最后一个节点元素 int size;// 大小 // add public void add(Object object) { // 初始化node节点 Node node = new Node(object); // 判断第一个节点是不是首节点,是则初始化 if (first == null) { // first=null; // last=null; first = node; last = node; } else { // 新节点的前指针指向之前最后一个节点的数据域 node.previous = last; // 新节点的后指针制空 node.next = null; // 原先最后一个节点的最后指针域指向新节点的数据域 last.next = node; // last后移一位,新节点变成last最后一个节点 last = node; } // 添加方法后元素大小加1 size++; } // remove方法 public void remove(int index) { Node temp = getNode(index); // 获取该节点的前一个节点 Node up = temp.previous; // 获取该节点的后一个节点 Node down = temp.next; // 若前节点非空执行,不然会报空指针异常 if (up != null) { up.next = down; } // 若后节点非空执行,不然会报空指针异常 if (down != null) { down.previous = up; } // 若前节点为空 if (up == null) {// index==0 // 将first指向第二个节点,size-1 first = down; size--; } // 若后节点为空 if (down == null) {// index==size-1 last = temp; size--; } } // get方法 public Object get(int index) { // 索引判断 if (index < 0 || index > size - 1) { throw new RuntimeException("索引越界:" + index); } /* * //定义临时节点 Node temp=first; for(int i=0;i<index;i++) { * //如果不进行index判断,则index超出范围后,temp=null,temp.next就空指针异常(null调用了方法) * temp=temp.next; } return temp.element; */ // 对注释优化:提高查找效率 Node temp = getNode(index); return temp.element; } private Node getNode(int index) { Node temp = null; if (index <= (size >> 1)) {// 前部分 temp = first; for (int i = 0; i < index; i++) { temp = temp.next; } } else {// 后部分 temp = last; // 从后往前找 for (int i = size - 1; i > index; i--) { temp = temp.previous; } } return temp; } // toString方法重新写 @Override public String toString() { // 创建StringBuilder对象进行字符串拼接 StringBuilder sb = new StringBuilder("["); // 临时节点 Node temp = first; while (temp != null) { sb.append(temp.element + ","); // 寻找下一个节点 temp = temp.next; } // 将最后一个,改成] sb.setCharAt(sb.length() - 1, ']'); // 返回字符串 return sb.toString(); } // get(int index,Object obj) public void add(int index, Object object) { // 创建新节点 Node newNode = new Node(object); // 获取index位置的节点 Node node = getNode(index); if (node != null) { // 非首节点 if (node.previous != null) { Node preNode = node.previous; preNode.next = newNode; newNode.previous = preNode; node.previous = newNode; newNode.next = node; } // 首节点 if (index==0) { newNode.previous = null; newNode.next = node; node.previous = newNode; first=newNode; //System.out.println(size); // System.out.println(newNode); } //尾节点 if(index!=size-1) { //newNod:胡歌 node:古天乐(前) newNode.previous = last; newNode.next=null; last.next = newNode; last=newNode; } } } // main public static void main(String[] args) { MyLinked04 myLinked = new MyLinked04(); System.out.println("添加方法:"); myLinked.add("欧阳娜娜"); myLinked.add("李沁"); myLinked.add("古天乐"); myLinked.add(3, "胡歌"); System.out.println(myLinked); } }
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637