java中十分强大的一些api

LocalDateTime

时间对象,就像Calendar类类似,里面涵盖了很多时间的操作。jdk1.8才有的

TimeUnit

一般和线程池和任务一起搭配使用,里面具有很多时间单位以及时间转换的方法。jdk1.8才有的

Properties

可以通过流的方式将.properties格式的文件数据通过流的方式读取到该类中,该类就像是一个map对象一样,保存着key/value形式的数据。

例如:

Properties prop = null;

    public String loadProperties(String filePath, String key) {
        if (prop == null) {
            prop = new Properties();
            try {
                //InputStream fis = new FileInputStream(filePath);
                InputStream fis = this.getClass().getResourceAsStream(filePath);
                prop.load(fis);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        if (prop != null) {
            return prop.getProperty(key);
        } else {
            return null;
        }
    }

OkHttpClient

第三方的api,十分方便的发送请求,基本上封装好了请求头什么的。

例如:

public static String httpGet2(String urlStr, List<String> urlParam) throws IOException {
    OkHttpClient client = new OkHttpClient.Builder().readTimeout(60, TimeUnit.SECONDS).build();
    if (urlParam != null && !urlParam.isEmpty()) {
        urlStr += "?";
        // 定义一个迭代器,并将MAP值的集合赋值
        for (String string : urlParam) {
            urlStr += string + "&";
        }
        urlStr = urlStr.substring(0, urlStr.length() - 1);
    }
    System.out.println(urlStr);
    Request request = new Request.Builder()
            .url(urlStr)
            .get()
            .addHeader("cache-control", "no-cache")
            .build();


    Response response = client.newCall(request).execute();
    return response.body().string();
}

HttpURLConnection与URL

java原生的api,需要自己设置请求头,响应头,较为繁琐,但是更加灵活。

例如:

public static String httpGet(String urlStr, List<String> urlParam) throws IOException {
 if (urlParam != null && !urlParam.isEmpty()) {
         urlStr += "?";
         // 定义一个迭代器,并将MAP值的集合赋值
         for (String string : urlParam) {
             urlStr += string + "&";
         }
         urlStr = urlStr.substring(0, urlStr.length() - 1);
     }
     // 实例一个URL资源
     URL url = new URL(urlStr);
     //实例一个HTTP CONNECT
     HttpURLConnection connet = (HttpURLConnection) url.openConnection();
     connet.setRequestMethod("GET");
     connet.setRequestProperty("Charset", "UTF-8");
     connet.setRequestProperty("Content-Type", "application/json");
     connet.setConnectTimeout(60000);// 连接超时 单位毫秒
     connet.setReadTimeout(60000);// 读取超时 单位毫秒
     connet.connect();
     if (connet.getResponseCode() != 200) {
         System.out.println("请求异常 " + connet.getResponseCode() + " " + urlStr);
         return "";
     }
     //将返回的值存入到String中
     BufferedReader brd = new BufferedReader(new InputStreamReader(connet.getInputStream(), "UTF-8"));
     StringBuilder sb = new StringBuilder();
     String line;

     while ((line = brd.readLine()) != null) {
         sb.append(line);
     }
     brd.close();
     connet.disconnect();
     return sb.toString();
 }

QueryRunner

apach下的一个api,对jdbc进行了一层封装。

ComboPooledDataSource

c3p0数据库连接池api。

例如:

	ComboPooledDataSource cpds;
	cpds = new ComboPooledDataSource();
	this.cpds.setDriverClass(dataSource.getDriverClass());
	cpds.setJdbcUrl(dataSource.getJdbcUrl());
	cpds.setUser(dataSource.getUser());
	cpds.setPassword(dataSource.getPassword());
	
	cpds.setMinPoolSize(dataSource.getMinPoolSize());
	cpds.setAcquireIncrement(dataSource.getAcquireIncrement());
	cpds.setMaxPoolSize(dataSource.getMaxPoolSize());
	cpds.setMaxStatements(dataSource.getMaxStatements());

ScheduledThreadPoolExecutor

延迟定时任务连接池,java原生api。

ChronoUnit

提供了一些时间的计算,这是一个不可变的和线程安全的枚举api。jdk1.8才有的

例如:

 //获取同步起始和结束的时间的间隔天数
 long p = ChronoUnit.DAYS.between(startLocalDate, endLocalDate);

Instant

操作时间里程碑的一个api。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值