目前为止Java程序可以通过4种主流技术连接到数据库:
第一种称之为硬连(你也可以叫做原始连,苦力连)。方法是在类中通过Class类的static方法forName(String ClassName)将数据库的驱动类加载到程序中。驱动可以在网上下。然后使用DriverManager的静态方法getConnnection(String sourceURL,String UserName,String Password)打开一个连接。这个sourceURL根据不同的数据库类型会不一样,可以上网查。MySQL的是:jdbc:mysql://数据库主机:数据库端口/数据库名。如jdbc:mysql://localhost:3306/testDB,数据库名称叫TestDB。有了connection之后,用JDBC API进行数据库操作。 继续阅读 »
JAVA实现windows 系统托盘图标
程序平台:JAVA 2 Standard Edition (J2SE)
所用到的包:
java.awt.AWTException;
java.awt.Image;
java.awt.MenuItem;
java.awt.PopupMenu;
java.awt.SystemTray;
java.awt.Toolkit;
java.awt.TrayIcon;
继续阅读 »
本文主旨:通过JAVA语言实现一个基于HTTP协议的web服务器来阐释HTTP协议原理
非常郁闷,今天停了一天的电,无语。本来还准备今天早上起来上机的,结果呢,停电郁闷。索性躺床上看书,哈哈,顿时觉得Nmap好强大。几乎可以实施TCP/IP/UDP/ICMP …. 的扫描,还可以分组,分片,自定义HTTP报文,自定义SYN/ACK/RST等等。很黄很暴力…好了书归正传,今天来说说http协议,要很好的理解协议无非就是从最原始的最底层的原理来解析。至于TCP/IP三次握手机制呢,不是今天的内容,就pass掉。直接从请求开始,我们假设链接已经建立完毕了。
下面呢就是我对协议的大致理解,整个请求与响应的过程,抛砖引玉哈。之后呢通过一个基于HTTP协议的JAVA WEB服务器来阐释。
继续阅读 »
JAVA 反射机制(Java Reflection) 是Java 被视为动态(或准动态)语言的㆒个关键性质。这个机制允许程式在执行期透过Reflection APIs 取得任何㆒个已知名称的class 的内部资讯,包括其modifiers(诸如public, static 等等)、superclass(例如Object)、实作之interfaces(例如Cloneable),也包括fields 和methods 的所有资讯,并可于执行期改变fields内容或唤起methods 。
一个简单的生产者和消费者的之间的产品流通示例,利用java多线程编程,产生生产者和消费者两个子线程访问同步方法。演示了wait()和notify()方法的基本含义 ^_^ 代码如下:
JAVA多线程编程:wait() 和 notify() 方法示例
- class Counter {
- int n;
- boolean valueSet = false ;
- synchronized int get() {
- if (!valueSet)
- try{
- wait();
- }catch(InterruptedException e){
- System.out.println("InterruptedExcepitons Caught in Get Methord");
- }
-
- System.out.println("Got: "+n);
- valueSet = false ;
- notify();
- return n;
- }
继续阅读 »