java 线程池
许多时候我们需要用到线程 比如希望一个附加的功能 不要影响整个流程的功能,比如某个流程需要加入日志,但是不希望记录日志的功能影响整个流程的性能,不能因为记录日志把整个流程给卡住了。在这个种情况下,我们需要使用线程。让记录日志在单独一个线程里面跑,就不会影响都其他流程了。
在很多时候我们还是使用线程池的: 在下面的例子是 在规定的时间内判断数据库是否连接成功。
一个线程用于连接mysql的类 :
package db;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.util.Properties;
public class ConnMysql implements Runnable {
private static String connS=null;
public Connection getMysqlConn() {
String mysqlDBDriver = "com.mysql.jdbc.Driver";
String msqlUrl = "jdbc:mysql://203.175.156.78:3306/client";
Connection mysqlConn = null;
try {
DriverManager.registerDriver((Driver) Class.forName(mysqlDBDriver).newInstance());
Properties oDbProps1 = new Properties();
oDbProps1.put("user", "root");
oDbProps1.put("password", "root");
mysqlConn = DriverManager.getConnection(msqlUrl, oDbProps1);
} catch (Exception e) {
e.printStackTrace();
}
return mysqlConn;
}
public void run() {
connS=getMysqlConn().toString();
}
public static String getConnS() {
return connS;
}
}
另一个线程用于记时的一个类 :
package db;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class GetTime implements Runnable {
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
private String nowTime = sdf.format(new Date());
private static long disT = 0;
private static int num = 0;
public int getShijianchai() {
int between = 0;
try {
Date begin = sdf.parse(nowTime);
Date end = sdf.parse(this.getLastTime());
between = (int) ((end.getTime() - begin.getTime()) / 1000);//
相关文档:
package debug;import java.io.*;import java.lang.Thread;class MyThread extends Thread{ public int x = 0; public void run(){ System.out.println(++x); }}class R implements Runnable{ private int x = 0; public void run(){ System.out.printl ......
jdk提供了Zip相关的类方便的实现压缩和解压缩。使用方法很简单。下边分别是压缩和解压缩的简单事例
1,压缩的
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import ......
JNI是Java Native Interface的缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。
使用java ......
1.String str = new String("abc"); 请问定义了几个对象。定义了两个对象,一个"abc", 一个是new String().<String s = "abc";首先到堆中查找值为"abc"的对象,没有就新建一个对象,"abc"本身就是一个对象。>
2.面向对象的东西:abstract & interface的各自的作用,区别。
3.面向对象的特征,以及怎么实现的。1 ......
java的范型机制看起来有点像C++的模版,但相比较C++的模版类,java中的范型没有关键字template,并且有着不同的实现机制(本质区别)。
范型类
先看一个范型类的例子:
public class Demo1<T> {
private T value;
public Demo1(T value) {
&n ......