Java高级编程11-姜国海 范型

package socket;

import java.sql.*;
import java.util.*;

import org.omg.CosNaming.NamingContextExtPackage.StringNameHelper;

import java.awt.List;
import java.io.*;

public class temp {

    public static void main(String[] args) {

    }

    public boolean exists(String name,String pasword) {
        Properties p = new Properties();
        p.load(FileInputStream("JDBC.properties"));
        Class.forName(p.getProperty("driver"));
        Connection con = DriverManager.getConnection(p.getProperty("url"), p.getProperty("user"), p.getProperty("password"));

        ////////////1//////////
        Statement stmt = con.createStatement();
        //结果集的API在java.sql中
        String sql = "select * from user";
        ResultSet rs = stmt.executeQuery(sql);
        //////////2////////////这种方法安全,不会去把参数当成sql
        String sql1 = "select from user where userNam=?";
        PreparedStatement pstmt = con.PreparedStatement(sql1);
        pstmt.setString(1, uersName);//从以开始
        ResultSet rs = pstmt.executeQuery();
        ///////////////end//////

        boolean result = rs.next();


        rs.close();
        stmt.close();
        con.close();

        return result;

    }

}

#JDBC.properties
driver=com.mysql.jdbc,Driver
url=jdbc:mysql://localhost:3306/test
user=java
password=java123456

范型

        //List 是对象类型,可以加对象类型的,编程的时候容易出错

        List li = new ArrayList();
        li.add("nihao");
        li.add("fds");
        li.add(new Integer(5));

        String s1 = (String)li.getItem(0);

        //用以下的写法
        ArrayList<String> list = new ArrayList<String>();
        list.add("a");

范型类 范型接口

public class Box<T>{
    public <T> void a(T, t){
    }
    void b(){
        <String> a();
    }
    //////////////
    public static <T> void a(T, t){
    }
    void b(){
        Box.<String> a();//静态的类型不能省
    }
    ///////////////
        public static <T> void a(T, t){
    }
    void b(){
        new Box().<String> a();//静态的类型不能省
    }
    //////////////
}


public interface k<T>{
    T get();
}

将其他类型转换为byte数组

public byte[] convert() {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    DataOutputStream dos = new DataOutputStream(baos);
    dos.writeInt(1);
    dos.writeInt(5);
    dos.writeInt(6);
    dos.close();
    baos.close();
    byte[] result = baos.toByteArray();
    return result;
}

读文档

DatagramSocket
DatagramPacket

UDP

因为网卡的大小有限,
专门的一个线程用来将网卡里面的UDP请求读到内存里面,
放入的一个队列
创建很多线程,例如200个,从队列里面取
将字节数组转换成java能识别的数据类型

猜你喜欢

转载自blog.csdn.net/l1558198727/article/details/81059842