来看一个通用的毗连池Bean
Java的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发//毗连BeanConnectionBean.java
packagecom.pool;
importjava.io.Serializable;
importjava.sql.*;
publicclassConnectionBeanimplementsjava.io.Serializable
{
privateConnectionvConnection=null;
privatebooleanbUseState=false;
publicConnectionBean(){}
publicConnectionBean(Connectionconnection)
{
if(connection!=null)
{
vConnection=connection;
}
}
publicConnectiongetConnection()
{
returnvConnection;
}
publicvoidsetConnection(Connectionconnection)
{
vConnection=connection;
}
publicvoidsetUseState(booleanbUseState)
{
this.bUseState=bUseState;
}
publicbooleangetUseState()
{
returnbUseState;
}
publicvoidclose()
{
try
{
vConnection.close();
}
catch(SQLExceptionsqlException)
{
System.err.println(sqlException.getMessage());
}
}
}
//毗连池
PoolBean.java
packagecom.pool;
importjava.io.Serializable;
importjava.sql.*;
importjava.util.*;
importcom.pool.ConnectionBean;
publicclassPoolBeanimplementsjava.io.Serializable
{
privateStringstrDriver=null;
privateStringstrURL=null;
privateintiSize=0;
privateStringstrUserName="";
privateStringstrPassword="";
privateConnectionBeanvConnectionBean=null;
privateVectorvPool=null;
publicPoolBean(){}
publicvoidsetDriver(StringstrDriver)
{
if(strDriver!=null)
{
this.strDriver=strDriver;
}
}
publicStringgetDriver()
{
returnstrDriver;
}
publicvoidsetURL(StringstrURL)
{
if(strURL!=null)
{
this.strURL=strURL;
}
}
publicStringgetURL()
{
returnstrURL;
}
publicvoidsetSize(intiSize)
{
if(iSize>1)
{
this.iSize=iSize;
}
}
publicintgetSize()
{
returniSize;
}
publicStringgetUserName()
{
returnstrUserName;
}
publicvoidsetUserName(StringstrUserName)
{
if(strUserName!=null)
{
this.strUserName=strUserName;
}
}
publicvoidsetPassword(StringstrPassword)
{
if(strPassword!=null)
{
this.strPassword=strPassword;
}
}
publicStringgetPassword()
{
returnstrPassword;
}
publicvoidsetConnectionBean(ConnectionBeanvConnectionBean)
{
if(vConnectionBean!=null)
{
this.vConnectionBean=vConnectionBean;
}
}
publicConnectionBeangetConnectionBean()throwsException
{
ConnectionvConnection=getConnection();
ConnectionBeanvConnectionBean=newConnectionBean(vConnection);
vConnectionBean.setUseState(true);
returnvConnectionBean;
}
privateConnectioncreateConnection()throwsException
{
ConnectionvConnection=null;
vConnection=DriverManager.getConnection(strURL,strUserName,strPassword);
returnvConnection;
}
publicsynchronizedvoidinitializePool()throwsException
{
if(strDriver==null)
{
thrownewException("没有供应驱动程序称号!");
}
if(strURL==null)
{
thrownewException("没有供应URL!");
}
if(iSize<1)
{
thrownewException("毗连池巨细小于1!");
}
try
{
Class.forName(strDriver);
for(intiIndex=0;iIndex<iSize;iIndex++)
{
ConnectionvConnection=createConnection();
if(vConnection!=null)
{
ConnectionBeanvConnectionBean=newConnectionBean(vConnection);
addConnection(vConnectionBean);
}
}
}
catch(ExceptioneException)
{
System.err.println(eException.getMessage());
thrownewException(eException.getMessage());
}
}
privatevoidaddConnection(ConnectionBeanvConnectionBean)
{
if(vPool==null)
{
vPool=newVector(iSize);
}
vPool.addElement(vConnectionBean);
}
publicsynchronizedvoidreleaseConnection(ConnectionvConnection)
{
for(intiIndex=0;iIndex<vPool.size();iIndex++)
{
ConnectionBeanvConnectionBean=(ConnectionBean)vPool.elementAt(iIndex);
if(vConnectionBean.getConnection()==vConnection)
{
System.err.println("开释第"+iIndex+"个毗连!");
vConnectionBean.setUseState(false);
break;
}
}
}
publicsynchronizedConnectiongetConnection()throwsException
{
ConnectionBeanvConnectionBean=null;
for(intiIndex=0;iIndex<vPool.size();iIndex++)
{
vConnectionBean=(ConnectionBean)vPool.elementAt(iIndex);
if(vConnectionBean.getUseState()==false)
{
vConnectionBean.setUseState(true);
ConnectionvConnection=vConnectionBean.getConnection();
returnvConnection;
}
}
try
{
ConnectionvConnection=createConnection();
vConnectionBean=newConnectionBean(vConnection);
vConnectionBean.setUseState(true);
vPool.addElement(vConnectionBean);
}
catch(ExceptioneException)
{
System.err.println(eException.getMessage());
thrownewException(eException.getMessage());
}
returnvConnectionBean.getConnection();
}
publicsynchronizedvoidemptyPool()
{
for(intiIndex=0;iIndex<vPool.size();iIndex++)
{
System.err.println("封闭第"+iIndex+"JDBC毗连!");
ConnectionBeanvConnectionBean=(ConnectionBean)vPool.elementAt(iIndex);
if(vConnectionBean.getUseState()==false)
{
vConnectionBean.close();
}
else
{
try
{
java.lang.Thread.sleep(20000);
vConnectionBean.close();
}
catch(InterruptedExceptioninterruptedException)
{
System.err.println(interruptedException.getMessage());
}
}
}
}
}
用JSDK141下编译经由过程
java也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的), 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 是一种使用者不需花费很多时间学习的语言 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 是一种为 Internet发展的计算机语言 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
页:
[1]