PO VO BO DTO POJO DAOÃǵĸÅÄî
J2EE¿ª·¢ÖдóÁ¿µÄרҵËõÂÔÓïºÜÊÇÈÃÈËÃÔ»ó£¬ÓÈÆäÊǸúһЩ¸ßÊÖÌÖÂÛÎÊÌâµÄʱºò£¬Èý·ÖÖӾͱ»È˼ÒÂú¿ÚµÄרҵÊõÓïÅçÔÎÁË£¬PO VO BO DTO POJO DAO£¬Ò»´ó¶ÑµÄ¾ÍÀ´ÁË£¨Ìý¹ýÀÏÂÞ¶ÔÕâÖÖÏÖÏóµÄÅúÅеÄÅóÓÑ»á»áÐÄһЦ£©¡£
Ê×ÏÈÉùÃ÷żҲ²»ÊÇʲô¸ßÊÖ£¬ÒÔÏÂ×ܽᶼÊÇ×Ô¼ºµÄÌå»á¡£²»¶ÔÖ®´¦ÇëÄú¶àÖ¸½Ì¡£
PO£º
persistant object³Ö¾Ã¶ÔÏó
×îÐÎÏóµÄÀí½â¾ÍÊÇÒ»¸öPO¾ÍÊÇÊý¾Ý¿âÖеÄÒ»Ìõ¼Ç¼¡£
ºÃ´¦ÊÇ¿ÉÒÔ°ÑÒ»Ìõ¼Ç¼×÷Ϊһ¸ö¶ÔÏó´¦Àí£¬¿ÉÒÔ·½±ãµÄתΪÆäËü¶ÔÏó¡£
BO£º
business objectÒµÎñ¶ÔÏó
Ö÷Òª×÷ÓÃÊǰÑÒµÎñÂß¼·âװΪһ¸ö¶ÔÏó¡£Õâ¸ö¶ÔÏó¿ÉÒÔ°üÀ¨Ò»¸ö»ò¶à¸öÆäËüµÄ¶ÔÏó¡£
±ÈÈçÒ»¸ö¼òÀú£¬ÓнÌÓý¾Àú¡¢¹¤×÷¾Àú¡¢Éç»á¹ØÏµµÈµÈ¡£
ÎÒÃÇ¿ÉÒ԰ѽÌÓý¾Àú¶ÔÓ¦Ò»¸öPO£¬¹¤×÷¾Àú¶ÔÓ¦Ò»¸öPO£¬Éç»á¹ØÏµ¶ÔÓ¦Ò»¸öPO¡£
½¨Á¢Ò»¸ö¶ÔÓ¦¼òÀúµÄBO¶ÔÏó´¦Àí¼òÀú£¬Ã¿¸öBO°üº¬ÕâЩPO¡£
ÕâÑù´¦ÀíÒµÎñÂ߼ʱ£¬ÎÒÃǾͿÉÒÔÕë¶ÔBOÈ¥´¦Àí¡£
VO £º
value objectÖµ¶ÔÏó
ViewObject±íÏÖ²ã¶ÔÏó
Ö÷Òª¶ÔÓ¦½çÃæÏÔʾµÄÊý¾Ý¶ÔÏó¡£¶ÔÓÚÒ»¸öWEBÒ³Ãæ£¬»òÕßSWT¡¢SWINGµÄÒ»¸ö½çÃæ£¬ÓÃÒ»¸öVO¶ÔÏó¶ÔÓ¦Õû¸ö½çÃæµÄÖµ¡£
DTO £º
Data Transfer ObjectÊý¾Ý´«Êä¶ÔÏó
Ö÷ÒªÓÃÓÚÔ¶³Ìµ÷Ó ......
½ñÍíÁÄÁËÒ»ÍíÌ죬±ß¿´java ±ßÁÄÌ죬ûÓм¯Öо«ÉñÈ¥¿´¡£Ã»¸ã¶®java¶ÁÈ¡xml µÄ»úÖÆ¡£¿´ÁËһЩÊéÏȰÑËû¼Ç¼һÏ¡£²ÉÓÃDOMÎĵµ¶ÔÏóÄ£ÐÍ£¬µÚÒ»ÖÖ·½·¨À´½âÎö¡£Ìý˵ÕâÖÖ½âÎö»áÓÐһЩȱµã£¬²»¹ý×ÜËãµ÷ÊÔͨÁË£¬ËãÊÇÒ»ÖÖ½ø²½¡£
<?xml version="1.0" encoding="utf-8"?>
<item>
<node>aa</node>
<node>bb</node>
</item>
´úÂëÁÐ±í¡£
import java.io.*;
import java.util.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
public class HelloWorld
{
public static void main(String arge[]) throws Exception
{
File f=new File("test.xml"); //Îļþ¼ÓÔØxml
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc = builder.parse(f);
NodeList node = doc.getElementsByTagName("node");//
System.out.print( doc.getElementsByTagName("node").item(1).getFirstChild().getNodeValue());
}
}
......
ÔÌû¼°ÌÖÂÛ£ºhttp://bbs.bc-cn.net/dispbbs.asp?boardid=12&id=140292
* ×î½üÒòΪ¿ª·¢»î¶¯ÐèÒª,ÓÃÉÏÁËEclipse,²¢ÒªÇóʹÓþ«¼ò°æµÄSQLÊý¾Ý¿â(¼´SQL Server 2005)À´½øÐпª·¢ÏîÄ¿ *
1.×¼±¸¹¤×÷: ×¼±¸Ïà¹ØµÄÈí¼þ(Eclipse³ýÍâ,¿ªÔ´Èí¼þ¿ÉÒÔ´Ó¹ÙÍøÏÂÔØ)
<1> .Microsoft SQL Server 2005 Express Edition
ÏÂÔØµØÖ·:http://download.microsoft.com/download/0/9/0/09020fab-d2c3-4a8c-b9e0-db53a7a30ae8/SQLEXPR_CHS.EXE
<2> .SQL Server Management Studio
ÏÂÔØµØÖ·:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796#filelist
<3> .SQL Server 2005 driver for JDBC
ÏÂÔØµØÖ·:http://download.microsoft.com/download/8/B/D/8BDABAE2-B6EA-41D4-B903-7916EF3690EF/sqljdbc_1.2.2323.101_enu.exe
2.¶¼ÏÂÔØÍêÖ®ºó¿ªÊ¼½øÐа²×° ,ǰÁ½¸öÊÇÊôÓÚÊý¾Ý¿âÈí¼þ,Õý³£°²×°¼´¿É(×¢ÒâÊý¾Ý¿âµÇ½²»ÒªÊ¹ÓÃwindowsÑéÖ¤)
<1> ½ ......
ÔÌû¼°ÌÖÂÛ£ºhttp://bbs.bc-cn.net/dispbbs.asp?boardid=12&id=140292
* ×î½üÒòΪ¿ª·¢»î¶¯ÐèÒª,ÓÃÉÏÁËEclipse,²¢ÒªÇóʹÓþ«¼ò°æµÄSQLÊý¾Ý¿â(¼´SQL Server 2005)À´½øÐпª·¢ÏîÄ¿ *
1.×¼±¸¹¤×÷: ×¼±¸Ïà¹ØµÄÈí¼þ(Eclipse³ýÍâ,¿ªÔ´Èí¼þ¿ÉÒÔ´Ó¹ÙÍøÏÂÔØ)
<1> .Microsoft SQL Server 2005 Express Edition
ÏÂÔØµØÖ·:http://download.microsoft.com/download/0/9/0/09020fab-d2c3-4a8c-b9e0-db53a7a30ae8/SQLEXPR_CHS.EXE
<2> .SQL Server Management Studio
ÏÂÔØµØÖ·:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796#filelist
<3> .SQL Server 2005 driver for JDBC
ÏÂÔØµØÖ·:http://download.microsoft.com/download/8/B/D/8BDABAE2-B6EA-41D4-B903-7916EF3690EF/sqljdbc_1.2.2323.101_enu.exe
2.¶¼ÏÂÔØÍêÖ®ºó¿ªÊ¼½øÐа²×° ,ǰÁ½¸öÊÇÊôÓÚÊý¾Ý¿âÈí¼þ,Õý³£°²×°¼´¿É(×¢ÒâÊý¾Ý¿âµÇ½²»ÒªÊ¹ÓÃwindowsÑéÖ¤)
<1> ½ ......
ÖÚËùÖÜÖª£¬ÔÚJava¶àÏ̱߳à³ÌÖУ¬Ò»¸ö·Ç³£ÖØÒªµÄ·½Ãæ¾ÍÊÇÏ̵߳Äͬ²½ÎÊÌâ¡£
¹ØÓÚÏ̵߳Äͬ²½£¬Ò»°ãÓÐÒÔϽâ¾ö·½·¨£º
1.
ÔÚÐèҪͬ²½µÄ·½·¨µÄ·½·¨Ç©ÃûÖмÓÈësynchronized¹Ø¼ü×Ö¡£
2.
ʹÓÃsynchronized¿é¶ÔÐèÒª½øÐÐͬ²½µÄ´úÂë¶Î½øÐÐͬ²½¡£
3. ʹÓÃJDK
5ÖÐÌṩµÄjava.util.concurrent.lock°üÖеÄLock¶ÔÏó¡£
ÁíÍ⣬ΪÁ˽â¾ö¶à¸öÏ̶߳Ôͬһ±äÁ¿½øÐзÃÎÊʱ¿ÉÄÜ·¢ÉúµÄ°²È«ÐÔÎÊÌ⣬ÎÒÃDz»½ö¿ÉÒÔ²ÉÓÃͬ²½»úÖÆ£¬¸ü¿ÉÒÔͨ¹ýJDK
1.2ÖмÓÈëµÄThreadLocalÀ´±£Ö¤¸üºÃµÄ²¢·¢ÐÔ¡£
±¾ÆªÖУ¬½«ÏêϸµÄÌÖÂÛJava¶àÏß³Ìͬ²½»úÖÆ£¬²¢¶ÔThreadLocal×ö³ö̽ÌÖ¡£
´óÖµÄĿ¼½á¹¹ÈçÏ£º
Ò»¡¢Ï̵߳ÄÏÈÀ´ºóµ½——ÎÊÌâµÄÌá³ö£ºÎªÊ²Ã´ÒªÓжàÏß³Ìͬ²½£¿Java¶àÏß³Ìͬ²½µÄ»úÖÆÊÇʲô£¿
¶þ¡¢¸øÎÒÒ»°ÑËø£¬ÎÒÄÜ´´ÔìÒ»¸ö¹æ¾Ø——´«Í³µÄ¶àÏß³Ìͬ²½±à³Ì·½·¨ÓÐÄÄЩ£¿ËûÃÇÓкÎÒìͬ£¿
Èý¡¢LockÀ´ÁË£¬´ó¼Ò¶¼Èÿª——
Java²¢·¢¿ò¼ÜÖеÄLockÏê½â¡£
ËÄ¡¢ÄãÓÐÎÒÓÐÈ«¶¼ÓЗ— ThreadLocalÈçºÎ½â¾ö²¢·¢°²È«ÐÔ£¿
Îå¡¢×ܽᗗJavaḬ̈߳²È«µÄ¼¸ÖÖ·½·¨¶Ô±È¡£
Ò»¡¢Ï̵߳ÄÏÈÀ´ºóµ½
ÎÒÃÇÀ´¾ÙÒ»¸öDirtyµÄ ......
package test;
/**
*
* @author openpk
*/
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;
public class Main {
public static void main(String[] args) {
// Ï̳߳Ø
ExecutorService exec = Executors.newCachedThreadPool();
// Ö»ÄÜ5¸öÏß³Ìͬʱ·ÃÎÊ
final Semaphore semp = new Semaphore(1);
// Ä£Äâ20¸ö¿Í»§¶Ë·ÃÎÊ
for (int index = 0; index < 10; index++) {
final int NO = index;
Runnable run = new Runnable() {
public void run() {
try {
// »ñÈ¡Ðí¿É
semp.acquire();
System.out.println("Accessing: " + NO);
for(int i=0;i<400;i++)
System.out.print("Accessing: " + NO+" "+i);
System.out.println("");
Thread.slee ......
=====suppose such a method:
public static void openFile(String fileName, PrintWriter stream) throws FileNotFoundException
{
stream = new PrintWriter(fileName);
}
=====then we want to use it this way:
PrintWriter toFile = null;
try
{
openFile("data.txt", toFile);
}
*****After this code is executed, the value of toFile is still null. The file that was opened in the method openFile went away when the method ended. The problem has to do with how Java handles arguments of a class type.
"These arguments are passed to the method as memory addresses that cannot be changed. The state of the object at the memory address normally can be changed, but the memory address itself cannot be changed"! ......