会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132376个问题
JAVA 全系列/第二阶段:JAVA 基础深化和提高/常用类 636楼

package collection.stu.com;

import java.util.Stack;

/**
 * 测试Stack,判断一个字符串是否对称
 * 假设修正法;
 * */
public class StackTest01 {
    public static void main(String[] args) {
        String str1="(({{[[]]}})){";
        String str2="(({{[[[]]}}))";
        String str3="([{}])";
        StackTest01.getString(str1);
        StackTest01.getString(str2);
        StackTest01.getString(str3);
    }
    public static void getString(String str1){
        boolean flag=true;
        Stack<String> stack=new Stack<>();
        for (int i=0;i<str1.length();i++){
            char c1=str1.charAt(i);
            if (c1=='('){
                stack.push(")");
            }
            if (c1=='{'){
                stack.push("}");
            }
            if (c1=='['){
                stack.push("]");
            }
            if (c1==')'||c1=='}'||c1==']'){
                if (stack.empty()){
                    flag=false;
                   break;
                }
                String str2=stack.pop();
                if (str2.charAt(0)!=c1){
                    flag=false;
                    break;
                }
            }
            if (!stack.empty()){
                flag=false;
                break;
            }
        }
     System.out.println(flag);
    }
}

false

false

false

全是false,最后一个应该是true,老师麻烦看看;

JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 639楼

class LipStick {
    private String LName;

    public LipStick(String LName) {
        this.LName = LName;
    }
}
class Mirror{
    private String MName;
    public Mirror(String MName){
        this.MName = MName;
    }
}
class Makeup extends Thread{
    private Mirror mirror = new Mirror("m1");
    private LipStick lipStick = new LipStick("l1");
    private String girlName;
    private int flag;//0代表口红,1代表镜子

    public Makeup(int flag,String girlName){
        this.flag = flag;
        this.girlName = girlName;
    }

    @Override
    public void run() {
        this.doMakeup();
    }
    public void doMakeup(){
        if(flag==0){
            synchronized (lipStick){
                System.out.println(this.girlName+" 拿着口红");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                synchronized (mirror){
                    System.out.println(this.girlName+" 拿着镜子");
                }
            }
        }else{
            synchronized (mirror){
                System.out.println(this.girlName+" 拿着镜子");
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                synchronized (lipStick){
                    System.out.println(this.girlName+" 拿着口红");
                }
            }
        }
    }
}



public class TestDeadThread {
    public static void main(String[] args) {
        Thread T1 = new Thread(new Makeup(0,"1"));
        Thread T2 = new Thread(new Makeup(1,"2"));
        T1.start();
        T2.start();

    }
}

老师想问问为什么没有死锁呢image.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术 640楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 641楼

Java:

com.qsq.Service.HTMLcom.qsq.Service.Socket.CloseUtiljava.io.BufferedReaderjava.io.InputStreamjava.io.InputStreamReaderjava.net.ServerSocketjava.net.SocketSocketTest {
    (String[] args){
        ServerSocket serverSocket = Socket socket = InputStream inputStream = {
            serverSocket = ServerSocket()socket = serverSocket.accept()inputStream = socket.getInputStream()[] buf =  []len = inputStream.read(buf)System..println(+ len)System..println(String(buflen))} (Exception e) {
            e.printStackTrace()}{
            CloseUtil.(inputStreamserverSocketserverSocket)}
    }
}

html:

form测试用户名:
                密码:

运行结果:

D:\java\bin\java.exe "-javaagent:D:\idea\IntelliJ IDEA 2019.1.3\lib\idea_rt.jar=58536:D:\idea\IntelliJ IDEA 2019.1.3\bin" -Dfile.encoding=UTF-8 -classpath D:\java\jre\lib\charsets.jar;D:\java\jre\lib\deploy.jar;D:\java\jre\lib\ext\access-bridge-64.jar;D:\java\jre\lib\ext\cldrdata.jar;D:\java\jre\lib\ext\dnsns.jar;D:\java\jre\lib\ext\jaccess.jar;D:\java\jre\lib\ext\jfxrt.jar;D:\java\jre\lib\ext\localedata.jar;D:\java\jre\lib\ext\nashorn.jar;D:\java\jre\lib\ext\sunec.jar;D:\java\jre\lib\ext\sunjce_provider.jar;D:\java\jre\lib\ext\sunmscapi.jar;D:\java\jre\lib\ext\sunpkcs11.jar;D:\java\jre\lib\ext\zipfs.jar;D:\java\jre\lib\javaws.jar;D:\java\jre\lib\jce.jar;D:\java\jre\lib\jfr.jar;D:\java\jre\lib\jfxswt.jar;D:\java\jre\lib\jsse.jar;D:\java\jre\lib\management-agent.jar;D:\java\jre\lib\plugin.jar;D:\java\jre\lib\resources.jar;D:\java\jre\lib\rt.jar;D:\code\javaBase\out\production\code com.qsq.Service.HTML.SocketTest

len:800

POST /index.html HTTP/1.1

Host: localhost:9999

Connection: keep-alive

Content-Length: 34

Cache-Control: max-age=0

Origin: http://localhost:63342

Upgrade-Insecure-Requests: 1

Content-Type: application/x-www-form-urlencoded

User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36

Sec-Fetch-User: ?1

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3

Sec-Fetch-Site: same-site

Sec-Fetch-Mode: navigate

Referer: http://localhost:63342/javaBase/code/com/qsq/Service/HTML/index.html?_ijt=k8t0dqesk7qbcnbgkuemfqcn69

Accept-Encoding: gzip, deflate, br

Accept-Language: zh-CN,zh;q=0.9

Cookie: Idea-f60c4641=c8fd0e4c-b10e-428c-9f8a-7de24435d478


问题:如果获取到请求正文username和password信息?

JAVA 全系列/第二阶段:JAVA 基础深化和提高/手写服务器项目(旧) 643楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 644楼

老师请问我遍历Value内容的时候打印出来的结果和老师不一样是为什么?

代码:

package com.bjsxt.hashmap;
import java.util.Collection;
import java.util.HashMap;
import java.util.Set;
/**
 * 测试hashMap
 * @author Administrator
 *
 */
public class TestHashMap {
 public  static void  main(String[] args){
  //Map接口的特点,key不允许重复,值可以重复,而且key是无序的
  //创建集合对象
  HashMap hm=new HashMap();
  //(1)添加元素
  hm.put("hello", 123);//123自动装箱成Integer类,集合不允许出现基本数据类型
  hm.put("world", 456);
  hm.put("hello", 1000);//集合去添加元素的时候它的键(key)是不允许重复的,如果重复将进行键的覆盖
  hm.put("java", 1000);//值可以重复(1000)
  
  System.out.println("集合中元素的个数:"+hm.size());
  System.out.println("集合是否为空:"+hm.isEmpty());
  System.out.println(hm);
  System.out.println(hm.remove("world"));//先输出后移除,只移除了键world,456还在
  System.out.println(hm);
  //判断
  //containsKey判断这个键是否存在
  System.out.println(hm.containsKey("java")+"\t"+hm.containsKey("world"));
  //containsValue判断这个值是否存在
  System.out.println(hm.containsValue(1000)+"\t"+hm.containsValue(2000));
  
  //获取元素,根据键去获取值
  System.out.println(hm.get("java")+"\t"+hm.get("world"));
  
  //获取所有键(key)的集合
  Set set=hm.keySet();
  //遍历所有键的内容
  for(Object obj:set){
   System.out.println(obj);
  }
  //获取所有值(value)的集合
  System.out.println("\n---------------------- ");
  Collection coll=hm.values();
  //遍历所有值的类型
  for(Object obj:coll){
   System.out.println(coll);
  }
  //获取所有key-value关系的集合
  Set entrySet=hm.entrySet();
  for(Object obj:entrySet){
   System.out.println(obj);
  }
  
  /**
   * HashMap与Hashtable
   * 区别:
   * (1)版本不同 HashMap JDK1.2  Hashtable JDK1.0
   * (2)HashMap继续了AbstractMap,实现了Map接口,Hashtable继承了Dictionary实现Map接口
   * (3)HashMap允许null值和null键,但是null作为key只允许以一个,Hashtable非null的键和值
   * (4)HashMap是线程不同步的(效率高,安全性低),Hashtable是线程同步的(效率低,安全性高)
   */
  
 }
}

1574938071(1).jpg

JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 645楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637