IP地址快速切换bat
@echo off
cls
color 0A
echo *****************************
echo IP地址快速切换
echo 作者:ITIndex.net
echo 版本:1.0
echo *****************************
:MENU
echo.
echo 天河基地设置请按 1
echo.
echo 家里设置请按 2
echo.
echo 供电局设置请按 3
echo.
echo 呼叫中心设置请按 4
echo.
echo 退出请按任意键
echo.
echo *****************************
set /p KEY=请输入您的选择:
if %KEY% == 1 goto SET1
if %KEY% == 2 goto SET2
if %KEY% == 3 goto SET3
if %KEY% == 4 goto SET4
if %KEY% == "" goto END
:SET1
set IP=10.124.55.27
set MASK=255.255.254.0
set GATEWAY=10.124.55.1
set DNS1=10.150.129.36
set DNS2=88.148.1.36
set INTERFACE=本地连接
echo.
echo 1:IP地址及子网掩码设置
netsh interface ip set address name="%INTERFACE%" source=static addr=%IP% mask=%MASK%
echo 2:网关地址设置
netsh interface ip set address name="%INTERFACE%" gateway=%GATEWAY% gwmetric=0
echo 3:主DNS地址设置
netsh interface ip set dns name="%INTERFACE%" source=static addr=%DNS1% register=PRIMARY
echo 4:第二DNS地址设置
netsh interface ip add dns name="%INTERFACE%" addr=%DNS2% index=2
echo 5:天河基地设置成功!!!
goto END
:SET2
echo.
echo 1:快速设置IP地址为“自动获得”
netsh interface ip set address "本地连接" dhcp
echo 2:快速设置DNS为“自动获得”
netsh interface ip set dns "本地连接" dhcp
echo 3:家里设置成功!!!
goto END
:SET3
set IP=88.148.44.210
set MASK=255.255.254.0
set GATEWAY=88.148.44.1
set DNS1=10.150.129.36
set DNS2=88.148.1.36
set INTERFACE=本地连接
echo.
echo 1:IP地址及子网掩码设置
netsh interface ip set address name="%INTERFACE%" source=static addr=%IP% mask=%MASK%
echo 2:网关地址设置
netsh interface ip set address name="%INTERFACE%" gateway=%GATEWAY% gwmetric=0
echo 3:主DNS地址设置
netsh interface ip set dns name="%INTERFACE%" source=static addr=%DNS1% register=PRIMARY
echo 4:第二DNS地址设置
netsh interface ip add dns name="%INTERFACE%" addr=%DNS2% index=2
echo 5:供电局设置成功!!!
goto END
:SET4
set IP=172.18.16.102
set MASK=255.255.255.0
set GATEWAY=88.148.44.1
set DNS1=10.150.129.36
set DNS2=88.148.1.36
set INTERFACE=本地连接
echo.
echo 1:IP地址及子网掩码设置
netsh interface ip set address name="%INTERFACE%" source=static addr=%IP% mask=%MASK%
echo 2:网关地址设置
netsh interface ip set address name="%INTERFACE%" gateway=%GATEWAY% gwmetric=0
echo 3:主DNS地址设置
netsh interface ip set dns name="%INTERFACE%" source=static addr=%DNS1% register=PRIMARY
echo 4:第二DNS地址设置
netsh interface ip add dns name="%INTERFACE%" addr=%DNS2% index=2
echo 5:呼叫中心设置成功!!!
goto END
:END
echo.
pause
使用JDBC-ODBC访问Access数据库的Memo备注类型字段
两种使用Java访问Access数据库Memo备注字段的方法:
//使用纯Java的jackcess驱动程序访问MS Access MDB数据库
try {
Table lawTable = Database.open(new File("E:\\falv\\falv.mdb"))
.getTable("xz2");
Iterator iter = lawTable.iterator();
int i = 0;
while (iter.hasNext()) {
if (i > 25) {
break;
}
Map m = (Map) iter.next();
System.out.println(m.get("xh"));
System.out.println(m.get("content"));
i++;
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//使用JDBC-ODBC访问Access数据库的Memo备注类型字段
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=E:\\falv\\falv.mdb";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn= DriverManager.getConnection(url, "Administrator",
"sjaJObQGsEWk6OZXLOl");
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from xz2 where xh=25");
// ResultSet rs = stmt.executeQuery("select count(*),type from xz2
// group by type");
while (rs.next()) {
System.out.println(rs.getString("type"));
Reader is = rs.getCharacterStream("content");
BufferedReader br = new BufferedReader(is);
StringBuffer sb = new StringBuffer();
String s;
try {
s = br.readLine();
while (s != null) {
sb.append(s);
s = br.readLine();
}
System.out.println(sb.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
理解Java的synchronized关键字
1、synchronized关键字的作用域有二种:
1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的synchronized方法是不相干扰的。也就是说,其它线程照样可以同时访问相同类的另一个对象实例中的synchronized方法;
2)是某个类的范围,synchronized static aStaticMethod{}防止多个线程同时访问这个类中的synchronized static 方法。它可以对类的所有对象实例起作用。
2、除了方法前用synchronized关键字,synchronized关键字还可以用于方法中的某个区块中,表示只对这个区块的资源实行互斥访问。用法是: synchronized(this){/*区块*/},它的作用域是当前对象;
3、synchronized关键字是不能继承的,也就是说,基类的方法synchronized f(){} 在继承类中并不自动是synchronized f(){},而是变成了f(){}。继承类需要你显式的指定它的某个方法为synchronized方法;