单元测试
-  操作步骤:
       a.导包import org.junit;
        b.三个注解  @Test @Before @After
        c.点击@Test 运行就可以了
    用在不需要控制台输入的情境下:javaweb,框架项目,微服务项目 供开发人员自己做测试。
package com.page.test;
import com.page.entry.DVD;
import com.page.service.DvdService;
import com.page.service.impl.DvdServiceImpl;
import com.page.controller.DvdController;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@SuppressWarnings("all")
public class DVDTest {
    @Test
    public void test1(){
        DvdController controller=new DvdController();
        controller.menu();
    }
    DvdService service=null;
    @Before
    public void  testB(){
        service=new DvdServiceImpl();
    }
    @Test
    public void test2(){
        int i= service.getDataCount(new DVD());
        System.out.println("一共有"+i+"条数据");
    }
    @Test
    public void test3(){
        int i= service.getDataCount(new DVD());
        System.out.println("一共有"+i+"条数据");
    }
    @After
    public  void testA(){
        System.out.println("测试结束!");
    }
}
注解
一,注解的分类
1,jdk中的常用注解:
                  @SuppressWarnings("all")   抑制警告
                   @Deprecated  标记过时
                   @Override    表示重写方法
2,单元测试里的注解:
                @Test
                 @Before
                 @After
3,javadao注释里的注解;
4,框架、javaweb里的注解。
5,元注解:修饰注解的注解就是元注解。
其中注意:
Ø @param @return和@exception这三个标记都是只用于方法的。
Ø @param的格式要求: @param 形参名 形参类型 形参说明
Ø @return的格式要求: @return 返回值类型返回值说明,如果方法的返回值类型是void就不能写
Ø @exception的格式要求: @exception 异常类型异常说明
Ø @param和@exception可以并列多个
枚举
一,创建
package page.enumdemo;
public enum DVDType {
    恐怖,搞笑,穿越,古装
}
二,使用
package page.test;
import page.entry.DVD;
import page.enumdemo.DVDType;
import java.util.Scanner;
public class EnumTest {
    public static void main(String[] args) {
        //赋值,取值,转换,枚举
        DVD dvd=new DVD();
        //1,直接赋值
        dvd.setDvdType(DVDType.古装);
        //2,控制台输入赋值
        Scanner input=new Scanner(System.in);
        String s=input.next();
        DVDType dvdType=DVDType.valueOf(s);
        dvd.setDvdType(dvdType);
        System.out.println(dvd.getDvdType());
    }
}
三,Enum类常用方法
package com.msb.enum03;
public class TestSeason {
    //这是一个main方法,是程序的入口:
    public static void main(String[] args) {
        //用enum关键字创建的Season枚举类上面的父类是:java.lang.Enum,常用方法子类Season可以直接拿过来使用:
        //toString();--->获取对象的名字
        Season autumn = Season.AUTUMN;
        System.out.println(autumn/*.toString()*/);//AUTUMN
        System.out.println("--------------------");
        //values:返回枚举类对象的数组
        Season[] values = Season.values();
        for(Season s:values){
            System.out.println(s/*.toString()*/);
        }
        System.out.println("--------------------");
        //valueOf:通过对象名字获取这个枚举对象
        //注意:对象的名字必须传正确,否则抛出异常
        Season autumn1 = Season.valueOf("AUTUMN");
        System.out.println(autumn1);
    }
}
网络编程

- 客户端 package page.socketdemo; /** * 客户端:发送信息给服务器 问 “中午吃啥了?” */ import java.io.*; import java.net.Socket; import java.util.Scanner; public class Asocket { public static void main(String[] args) throws IOException { while (true) { Scanner input = new Scanner(System.in); //设置一个socket对象,锁定服务器的IP和端口 Socket socket = new Socket("127.0.0.1", 8888); //2.获得输出节点流 OutputStream outputStream = socket.getOutputStream(); DataOutputStream dos = new DataOutputStream(outputStream); //3.写入数据 /* dos.writeUTF("中午吃啥了?");*/ System.out.println("请输入你要发送的信息:"); dos.writeUTF(input.next()); //4.接受服务器端回复的消息 InputStream inputStream = socket.getInputStream(); DataInputStream dis = new DataInputStream(inputStream); System.out.println("服务器回复:" + dis.readUTF()); //4.关闭流资源 dis.close(); dos.close(); } } }
- 服务器端 package page.socketdemo; import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; /** * 服务器端 */ public class SSocket { public static void main(String[] args) throws IOException { Scanner input = new Scanner(System.in); ServerSocket ss = new ServerSocket(8888); while (true) { System.out.println("服务器已启动!"); //通过系统类,一直关注一个端口号,判断是否有客户端发送请求 //2.接收发送过来的请求: Socket socket = ss.accept();//accept();---可以阻塞线程 //3.获得输入流 InputStream inputStream = socket.getInputStream(); DataInputStream dis = new DataInputStream(inputStream); //4.读出 String s = dis.readUTF(); System.out.println("客户端发来了的消息:" + s); //5.回复 OutputStream outputStream = socket.getOutputStream(); DataOutputStream dos = new DataOutputStream(outputStream); System.out.println("请回复客户:"); dos.writeUTF(input.next()); //5.关闭资源 dos.close(); dis.close(); } } }cmd  





![[MySQL#10] 索引底层(1) | Page | 页目录](https://img-blog.csdnimg.cn/img_convert/17717b00404c6175a2c6aabcf2bef87c.png)











![[C++]——哈希(附源码)](https://i-blog.csdnimg.cn/direct/f5b94f7020b94ba0bccedc1852d8c87f.png)


