题计:这里给出java解析xml,以帮助人们理解许多容器是怎么做的。。像spring,struts等.
1.mysql.xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<datasource>
<servername>localhost</servername>
<serverport>3306</serverport>
<databasename>juddi</databasename>
<username>root</username>
<password>123456</password>
</datasource>
</data>
2.XML配置文件解析器,主要目的,是为做前期工作
package com;
/*
* XML配置文件解析器,主要目的,是为做前期工作
*/
import org.xml.sax.helpers.DefaultHandler;
import java.util.Properties;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
public class ConfigParser extends DefaultHandler {
//定义一个properties用来存放属性
private Properties props;
private String currentName;
private StringBuffer currentValue=new StringBuffer();
public ConfigParser(){
this.props=new Properties();
}
......
Java设计模式之Singleton单例模式篇
java 单例模式的实现方式
实现1:
public class Singleton {
private static Singleton instance;
private Singleton (){ //首先有一个私有的构造器
}
public static Singleton getInstance() {
if(instance==null){
instance=new Singleton ();
}
return instance;
}
}
这种方式是线程不安全的,如果多个线程同时访问的话就可能有多个对象产生,如果在get方法中加同步块的话会影响性能。
实现2:
public class Singleton {
private Singleton(){
}
private static Singleton instance =new Singleton();
public static Singleton getInstance(){
return instance;
}
}
这种方式虽然不存在安全性问题,但是在程序启动的时候就会初始化。
实现3:
public class Singleton {
private st ......
1 编译命令
javac [options] filename.java
options->
-classpath path 编译时需要的类路径
-d directory 设定编译生成的.class文件输入到哪一个目录。
关于-d小技巧 : 如果.java文件中使用了package语句, 例如 package com.test.maths; 加上- d . 选项会帮助在当前目录下自动生成嵌套的包文件夹。 如果不加-d 选项,则不会生成嵌套包文件夹。
-g 在代码产生器中打开调试,使之以后可以调试产生的字节码
-nowarn 屏蔽警告
-o 告诉javac编译优化内联的 static 、final、 private成员函数。
-verbose 输出关于编译过程的各种信息
2 执行命令 java 需要注意一点: 在源文件使用 package 语句的情况下,应该在包最外层文件夹下执行。
例如 java com.test.maths.filename
3 打包命令 jar
jar [options] [jarfilename.jar] files
jarfilename.jar 是指定生成的打包文件名
files 是要打包的文件列表
options->
c 创建新文档
f 指定打包名
m 文件列表中第一个文件名是外部清单文件名
t 列出jar文件内容
u 更新现存的jar
v 显示执行过程的 ......
import sun.net.ftp.*;
import sun.net.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.io.*;
public class FtpApplet extends Applet
{
FtpClient aftp;
DataOutputStream outputs ;
TelnetInputStream ins;
TelnetOutputStream outs;
TextArea lsArea;
Label LblPrompt;
Button BtnConn;
Button BtnClose;
TextField TxtUID;
TextField TxtPWD;
TextField TxtHost;
int ch;
public String a="没有连接主机";
String hostname="";
public void init () {
setBackground(Color.white);
setLayout(new GridBagLayout());
GridBagConstraints GBC = new GridBagConstraints();
LblPrompt = new Label("没有连接主机";
LblPrompt.setAlignment(Label.LEFT);
BtnConn = new Button("连接";
BtnClose = new Button("断开";
BtnClose.enable(false);
TxtUID = new TextField("",15);
TxtPWD = new Te ......
采用串口操作进行短信收发,是比较常见的一种方式.比如,很多群发软件,用的就是这种方法.
1.配置comm.jar.
Comm.jar是Sub实现底层串口操作的API,调用了本地的DLL文件,因为Java本身不具备直接访问硬件设置的能力,都是通过调用本地方法来实现的.可以Java的官方网站下载.下载之后把其中Comm.jar包导入到工程的Classpath中,把另外两个非常重要的文件javax.comm.properties和win32com.dll考贝到你的工程目录下,即java.user下.
2.打开串口.
在打开串口前首先要加载Win32com.dll,因为我们没有把它放到JRE路径下,所以必须要自己显式的加载.
String driverName = "com.sun.comm.Win32Driver";
CommDriver driver = null;
try {
System.loadLibrary("win32com");
driver = (CommDriver) Class.forName(driverName).newInstance();
driver.initialize();
} catch (InstantiationException e1) {
logger.error("1:" + e1.getMessage());
} catch (IllegalAccessException e1) {
logger.error("2:" + e1.ge ......
java 语法:
Java的基本符号(token)
Java的单词符号有五种:关键字、标识符、常量、分隔符和操作符。
Java的字符集
Java 采用一种称为unicode的字符集,该字符集合是一种新的编码标准,与常见的ASCII码的区别在于:
unicode使用16位二进制而不是8位来表示一个字符。
unicode字符集中增加了许多非拉丁语字符。
标识符
Java标识符必须以字母,数字,美元符号"$",下划线"_"组成,标识符第一个字符不可用数字。
Java语言对字母的大小写是敏感的,在语法中严格区分大小写。
关键字
关键字是为特定目的而保留的保留字,程序员不要将关键字作为自己的标识符。 Java的关键字有:
abstract boolean break byte case catch char class continue do double else extends false
find finally float for implements import instanceof int interface long native new null
package private public return short static super switch synchronized this throw true try void while
常量
常量可分为整型常量,浮点数常量,字符常量,字符串常量和布尔常量。
整型常量:可分为int型和long型两种,缺省为int型,long型数值后加L。 整型常量可用10、8和16进制表 ......