。
老师我的dom4j jar包下载下不能用 这个咋弄
我觉得老师的写法虽然容易理解,但还有可以简化的写法.
比如,老师在给参数Map容器里储存值的时候.contains(key)方法,会在集合重查找一遍,get(key)方法又会查找一遍.
如果我写成:
List<String> values; if((values=parametermapValue.get(key))==null) { //键重复,值存入list中 values = new ArrayList<>(); parametermapValue.put(key, values); } values.add(value);
这样效率会不会提升呢
package com.bjsxt.dead; public class DeadLock extends Thread{ private Object money; private Object water; public boolean flag;//标识持有对象锁 public DeadLock(Object money, Object water) { super(); this.money = money; this.water = water; } @Override public void run() { if(flag) { synchronized (money) { System.out.println("有钱,等水"); try { Thread.sleep(300); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } synchronized (water) { System.out.println("有水,等钱"); } } }else { synchronized(water) { System.out.println("有水,等钱"); try { Thread.sleep(300); }catch (Exception e) { // TODO: handle exception e.printStackTrace(); } }synchronized (money) { System.out.println("有钱,等水"); } } } public static void main(String[] args) { Object money=new Object(); Object water=new Object(); DeadLock d1=new DeadLock(money, water); DeadLock d2=new DeadLock(money, water); d1.flag=true; d2.flag=false; d1.start(); d2.start(); } }
老师我这个嵌套的,应该会产生死锁,怎么还会打出后面的三四句
java虚拟机不是不能直接和操作系统打交道的吗,为什么我在webapps文件夹下的,新建文件夹等操作会被tomcat捕获呢
public class MyThread4 implements Runnable{ @Override public void run() { for(int i=0;i<10;i++) { System.out.println("i="+i); } } } public class TestStop { public static void main(String[] args) { MyThread4 my=new MyThread4(); Thread t=new Thread(my); t.start();//启动循环 //主线程中的循环 for(int i=0;i<10;i++) { if(i==3) { t.stop();//已过时,不建议使用 } System.out.println(Thread.currentThread().getName()+"-----"+i); } } }
运行结果:
问题:为什么有的i=0与main-----3在同一行?
i=0与main-----3中间有的隔一行?
有的打印两次i=0,且与main-----3在同一行?
这个视频中的第二个例子。说将connect的static修饰去掉后。Dao类中的增删改查,就需要创建4个连接对象,增加服务器的压力。
那我在Dao中设一个连接对象为成员变量。然后增删改查都用这个成员变量不就行了么?
老师,为什么使用Arrays.asList()将数组转换成集合之后,再向集合内添加元素会报错呢?
Integer[] array2 = new Integer[] {11, 22, 33}; List<Integer> list2 = Arrays.asList(array2); list2.add(111); System.out.println("list2:" + list2);//输出集合[11, 22, 33]
public void startElement(String uri, String localName, String qName, Attributes attributes)
public void endElement(String uri, String localName, String qName)
这些方法里面的参数是什么意思,API写的太专业看懂,能详细介绍一下吗?(是DefaultHandler这个类里面的)
老师,为什么第二行可以使用HashMap.Entry的形式,HashMap中并无定义Entry接口,也没有实现该接口,这是为什么呢???
//第二种:遍历key-value关系 Set<Map.Entry<String, Integer>> entries = map.entrySet(); for (HashMap.Entry<String, Integer> entry : entries) { System.out.println(entry.getKey() + "\t" + entry.getValue()); }
静态代理模式和设计模式——装饰器模式原理是不是一个样子 ,就是 功能用途不一样?
老师,为什么我反编译出来的字节码文件里是有泛型的?
老师我有几个问题:
没有定义泛型的接口的实现类也可以定义泛型,那泛型接口的实际意义是什么?
"泛型方法解决了参数相同方法的重载"是我这么理解吧?
/** * 2.泛型方法: * Q的类型在调用该方法时确定:避免了编写多个不同参数数据类型的重载方法 * 如果不使用泛型,可能要编写如下多个重载方法: * public void method(String s){} * public void method(Integer i){} * public void method(char c){} */ public <Q> void method(Q q) { System.out.println(q); }
可变参数的泛型方法的参数是使用ArrayList存储的吗?
老师您好,这里的几行代码不是很理解是干嘛的,老师可以讲一下吗,谢谢老师!
public class MarryCompany implements Marry{ //婚庆公司给准备结婚的人准备婚礼 private Marry m;//接口做形参 public MarryCompany(Marry m){//通过构造方法进行赋值 this.m=m;//将局部变量赋给成员变量 } //代理做的事情,代理角色要比真实角色拥有更多的方法 public void before(){ System.out.println("准备工作"); } public void after(){ System.out.println("善后工作"); } public void marry() { this.before(); m.marry();//调用真实角色结婚的方法 this.after(); } }
不理解部分:
private Marry m;//接口做形参 public MarryCompany(Marry m){//通过构造方法进行赋值 this.m=m;//将局部变量赋给成员变量 }
老师,HashSet集合的元素都是以key的形式存储到HashMap集合中,那么key对应的value都是null对吗?
也就是说,是以key-null的形式存储?
老师我想提问!
将txt的数据提取出来了如果想做一些操作,比如一些数加上一些数应该怎么操作呢?
我个人想法是保存为数组元素做,可行吗。
如果保存为数组元素的话大致应该怎么操作呢?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637