2011年12月29日
#
摘要: 此法則適合所有語言,咱們以JavaScript和Java兩個(gè)角度分析一下這個(gè)東東。 一、javascript 有這樣的一個(gè)頁面,js、css代碼都寫在html頁面中。 例如:gnj.html v1版本Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-...
閱讀全文
一、列與行的參數(shù)都由三個(gè)部分組成:對(duì)齊方式、固定尺寸、調(diào)整方式。
1.對(duì)齊方式:
1)列對(duì)齊有l(wèi)eft, center, right, fill.默認(rèn)fill
2)行對(duì)齊有:top, center, bottom, fill. 其中fill表示填充至整個(gè)區(qū)域。默認(rèn)center。
2.固定尺寸:
pref表示preferred size,適當(dāng)大小,即首選尺寸大小。
min表示minimum size,
dlu 表示dialog units,
px, pt, in, mm, cm)分別表示Pixel, Points, Inches, Millimeter, Centimeter。
3. 調(diào)整方式:
二、CellConstraints:
cc.xywh(3, 1, 3, 1):表示3列,1行,colspan=3,rowspan=1
三、FormLayout:
1.FormLayout layout = new FormLayout(
new ColumnSpec[]{
FormSpecs.DEFAULT_COLSPEC,
FormSpecs.GLUE_COLSPEC,
FormSpecs.DEFAULT_COLSPEC,
FormSpecs.GLUE_COLSPEC,
FormSpecs.DEFAULT_COLSPEC,
FormSpecs.GLUE_COLSPEC},
new RowSpec[]{
FormSpecs.DEFAULT_ROWSPEC,
FormSpecs.GLUE_ROWSPEC,
FormSpecs.DEFAULT_ROWSPEC,
FormSpecs.GLUE_ROWSPEC,
FormSpecs.DEFAULT_ROWSPEC,
FormSpecs.GLUE_ROWSPEC
}
);
2.
FormLayout layout = new FormLayout(
"right:pref, 6dlu, 50dlu, 4dlu, center:50dlu", // columns
"pref, 3dlu, pref, 3dlu, pref"); // rows
參考文章:
http://hi.baidu.com/lijunwyf/item/a18d95f719ff01da6225d26f
例子:
import java.util.*;
public class TestVector{
public static void main(String[] args){
Vector v = new Vector();
v.add(null);
v.add(new Integer(1));
v.add("123");
for(Enumeration e = v.elements();e.hasMoreElements();){
System.out.println(e.nextElement());
}
v.insertElementAt("insert",2);
v.setElementAt("insert",0);
for(Enumeration e = v.elements();e.hasMoreElements();){
System.out.println(e.nextElement());
}
}
}
結(jié)果:
null
1
123
insert
1
insert
123
結(jié)論:
vector中可以放入null;
vector可以放入不同類型的對(duì)象;
vector是同步的容量自增長(zhǎng)的向量;
一、前提須知:
1.北京鐵路局:
直屬站15個(gè):
北京站、
北京西站、
天津站、
天津西站、
豐臺(tái)站、
豐臺(tái)西站、
南倉(cāng)站、
塘沽站、
唐山站、
石家莊站、
石家莊南站、邯鄲站、
陽泉站、北京南站、天津西站。
2.鄭州鐵路局:
直屬車站11個(gè):
鄭州站、鄭州北站、鄭州東站、洛陽站、
新鄉(xiāng)站、開封站、商丘站、
月山站、長(zhǎng)治北站、長(zhǎng)治站。
二、
北京電話訂票竅門:1、座機(jī)打!;2.用手機(jī)加區(qū)號(hào)打!北京鐵路局管內(nèi),如唐山區(qū)號(hào):打0315-95105105,手機(jī)打95105105的有效區(qū)號(hào):河北省邯鄲0310石家莊0311保定0312張家口0313承德0314唐山0315廊坊0316滄州0317衡水0318邢臺(tái)0319秦皇島0335山東德州0534山西陽泉0353天津022。訂好之后可以在北京取票!!
ERROR - Exception executing batch:
org.hibernate.StaleStateException: Batch update returned unexpected row count fr
om update [0]; actual row count: 0; expected: 1
ERROR - Could not synchronize database state with session
org.hibernate.StaleStateException: Batch update returned unexpected row count fr
現(xiàn)象:
頁面報(bào)500.
原因:
在request.getRequestDispatcher("/success.html").forward(request, response);
后面還有未執(zhí)行的代碼,但是已經(jīng)提交了響應(yīng)。
1.UML:unified modeling Language(統(tǒng)一建模語言)
2.草圖與藍(lán)圖:
前者指:手工繪制的、規(guī)范度較低的UML模型;
后者指:case工具繪制的正式的、規(guī)范的UML模型;
3.不同可視性的符號(hào):
“+”:public “#”:protected “-”:private “~”:package
4.UML主要包含三種圖:靜態(tài)圖、動(dòng)態(tài)圖、物理圖
5.關(guān)聯(lián)關(guān)系:用來表示一個(gè)對(duì)象持有另外一個(gè)對(duì)象的引用,或是調(diào)用另外一個(gè)對(duì)象的方法
6.類圖:

7.類圖之間的關(guān)聯(lián):
—▷▷ —>持有
1.public class TestKnowleage5 {
public static void main(String[] args){
String strValue = "ABCDEFG";
strValue.substring(3);
System.out.println("result1"+strValue);
strValue.concat("123");
System.out.println("result2"+strValue);
String value = new String("ABCDEFG");
System.out.println(strValue==value);
}
}
運(yùn)行結(jié)果:
result1ABCDEFG
result2ABCDEFG
false
2.public class Test{
public static void main(String[] args){
int x = 100;
int y = 200;
if(x == y)
System.out.println("not equal");
else
System.out.println("equal");
}
}
運(yùn)行結(jié)果:
equal
3.public class TestKnowleage5 {
public static void main(String[] args){
try{
new TestKnowleage5().methodA(5);
}catch(IOException e){
System.out.println("caught IOException");
}catch(Exception e){
System.out.println("caught Exception");
}finally{
System.out.println("no Exception");
}
}
public void methodA(int i) throws IOException{
if(i%2 != 0){
throw new IOException("methodA IOException");
}
}
}
運(yùn)行結(jié)果:
caught IOException
no Exception
4.public class TestKnowleage5 {
static boolean isTrue(){
System.out.println("isTrue");
return true;
}
static boolean isFalse(){
System.out.println("isFalse");
return false;
}
public static void main(String[] args){
if(isTrue() || isFalse()){
System.out.println("|| operate return true");
}
if(isFalse() & isTrue()){
System.out.println("& operate return true");
}
}
}
運(yùn)行結(jié)果:
isTrue
|| operate return true
isFalse
isTrue
5.public class TestKnowleage5{
public static void main(String args[]){
MyThread t = new MyThread();
t.run();
t.start();
System.out.println("A");
}
}
class MyThread extends Thread{
public void run(){
try{
Thread.currentThread().sleep(3000);
}catch(InterruptedException e){
}
System.out.println("B");
}
}
運(yùn)行結(jié)果:
BBA或
BAB
6.class A{
void fun1(){
System.out.println(fun2());
}
int fun2(){
return 123;
}
}
public class TestKnowleage5 extends A{
int fun2(){
return 456;
}
public static void main(String[] args){
A a;
TestKnowleage5 b = new TestKnowleage5();
b.fun1();
a = b;
a.fun1();
}
}
運(yùn)行結(jié)果:
7.class A{
int val;
public int getVal() {
return val;
}
public void setVal(int val) {
this.val = val;
}
}
public class TestKnowleage5{
public static void main(String[] args){
A data = new A();
ArrayList list = new ArrayList();
for(int i=100;i<103;i++){
data.setVal(i);
list.add(data);
}
int j = 0;
while(j<list.size()){
A tmp = (A)list.get(j);
System.out.println("list("+j+")="+tmp.getVal());
j++;
}
}
}
運(yùn)行結(jié)果:
list(0)=102
list(1)=102
list(2)=102
8.hibernate導(dǎo)入大量數(shù)據(jù)時(shí),為了避免內(nèi)存中產(chǎn)生大量對(duì)象,在編碼時(shí)注意什么,如何去除?
9.視圖與表的區(qū)別
10.觸發(fā)器有哪幾種類型
11.
事務(wù)操作有那幾個(gè)步驟
12.寫出對(duì)應(yīng)正則表達(dá)式:
1)1-6位字母或數(shù)字;
[a-zA-Z0-9]{1,6}
2)手機(jī)號(hào)(只能是139或159開頭,11位數(shù)字)
1[35][9][0-9]{8}
13.字符串反轉(zhuǎn):new StringBuilder(str).reverse().toString();
14.寫程序:1+2²+3²+...+n²
int func(int n){
return n==1?1:func(n-1)+n*n
}
15.寫一個(gè)延遲加載的單例模式:
public class SingleTon{
private static SingleTon instance = null;
private SingleTon(){}
public static SingleTon getInstance(){
if(instance == null){
synchronized(""){
if(instance == null){return new SingleTon();}
}
}
return instance;
}
}
16.
JSP的9種內(nèi)置對(duì)象:request:
HttpServletRequest類的實(shí)例,客戶端的請(qǐng)求信息被封裝在request對(duì)象中response:
HttpServletResponse類的實(shí)例,response對(duì)象包含了響應(yīng)客戶請(qǐng)求的有關(guān)信息,但在JSP中很少直接用到它。out:
out對(duì)象是JspWriter類的實(shí)例,是向客戶端輸出內(nèi)容常用的對(duì)象session:
session對(duì)象指的是客戶端與服務(wù)器的一次會(huì)話,從客戶端連到服務(wù)器的一個(gè)WebApplication開始,直到客戶端與服務(wù)器斷開連接為止。它是HttpSession類的實(shí)例page:
page對(duì)象就是指向當(dāng)前JSP頁面本身,有點(diǎn)象類中的this指針,它是java.lang.Object類的實(shí)例application:
ServletContext類的實(shí)例,application對(duì)象實(shí)現(xiàn)了用戶間數(shù)據(jù)的共享,可存放全局變量。它開始于服務(wù)器的啟動(dòng),直到服務(wù)器的關(guān)閉exception:
exception對(duì)象是一個(gè)例外對(duì)象,當(dāng)一個(gè)頁面在運(yùn)行過程中發(fā)生了例外,就產(chǎn)生這個(gè)對(duì)象。如果一個(gè)JSP頁面要應(yīng)用此對(duì)象,就必須把isErrorPage設(shè)為true,否則無法編譯。他實(shí)際上是java.lang.Throwable的對(duì)象pageContext:
pageContext對(duì)象提供了對(duì)JSP頁面內(nèi)所有的對(duì)象及名字空間的訪問,也就是說他可以訪問到本頁所在的SESSION,也可以取本頁面所在的application的某一屬性值,他相當(dāng)于頁面中所有功能的集大成者,它的本類名也叫pageContextconfig:
config對(duì)象是在一個(gè)Servlet初始化時(shí),JSP引擎向它傳遞信息用的,此信息包括Servlet初始化時(shí)所要用到的參數(shù)(通過屬性名和屬性值構(gòu)成)以及服務(wù)器的有關(guān)信息(通過傳遞一個(gè)ServletContext對(duì)象)17.session和cookie的區(qū)別?
18.JDBC的操作步驟?
1.方法重載與多態(tài),簡(jiǎn)述;
2.什么是設(shè)計(jì)模式?使用過哪些?
3.列出熟悉的java開源項(xiàng)目及簡(jiǎn)述;
4.一組radio,用alert彈出當(dāng)前所選的是第幾個(gè)radio?用原生javascript;
5.function showme(){
Book.prototype.abc = function(){
alert('456');
}
var abook = new Book(1,2);
Book.abc = function(){
alert('123');
}
abook.abc();
Book.abc();
abc();//此方法調(diào)用瀏覽器會(huì)報(bào)錯(cuò),未定義
}
function Book(a,b){
this.a = a;
this.b = b;
Book.abc = function(){
alert('def');
}
this.abc = function(){
alert('xyz');
}
abc = function(){
alert('@@@@@@');
}
var abc = function(){
alert('$$$$$$');
}
}
點(diǎn)擊按鈕調(diào)用showme(),頁面顯示結(jié)果為:
第一個(gè)彈出框:xyz
第二個(gè)彈出框:123
6.線程的四種狀態(tài)?
7.ext有哪些組件?ext如何與后臺(tái)交互?
8.HashMap放入、查找、刪除,將所有value放入一個(gè)數(shù)組,得到map中所有內(nèi)容;List添加、查找、刪除;
9.List<Student> student(name,age) 比較oldList<Student>和newList<student>,按名字比較,獲得新增的、修改的、刪除學(xué)生列表;
10.使用過哪些xml技術(shù)?怎么實(shí)現(xiàn)的?
11.java異常:throws、throw、try、catch、finally,舉例,如何處理異常
12.字符串反轉(zhuǎn):
public class TestKnowleage5 {
public static void main(String[] args){
System.out.println(reverse("abc"));
System.out.println(reverse2("abc"));
System.out.println(reverse3("abc"));
}
public static String reverse(String str){
return new StringBuffer(str).reverse().toString();
}
public static String reverse2(String str){
char[] chs = str.toCharArray();
char[] re = new char[chs.length];
for(int i = 0 ; i<chs.length;i++){
re[i] = chs[chs.length - i - 1];
}
return new String(re);
}
public static String reverse3(String str){
char[] chs = str.toCharArray();
String re = "";
for(int i = 0;i<chs.length;i++){
re += chs[chs.length - 1 -i];
}
return re;
}
}
//此句,編譯無法通過,Cannot make a static reference to the non-static field b
1.arrayList、linkedList、vector的區(qū)別
2.寫幾種J2EE規(guī)范并簡(jiǎn)要描述
3.什么是設(shè)計(jì)模式?用過哪些設(shè)計(jì)模式?
4.OO的四大特性是哪些?并簡(jiǎn)要描述
5.方法重載、多態(tài)概念及簡(jiǎn)要描述;
6.sql常用的優(yōu)化方法有哪些?
7.sleep()與wait()的區(qū)別?
8.
public class TestException {
public static void main(String[] args) {
int i = 1;
switch(i){
case 0:
System.out.println(0);
break;
case 1:
System.out.println(1);
default:
System.out.println(4);
case 2:
System.out.println(2);
case 3:
System.out.println(3);
}
}
}
運(yùn)行結(jié)果:
1
4
2
3
9.HashTable和HashMap的區(qū)別
10.怎樣理解mvc模式?
11.抽象類、接口的區(qū)別?
12.智力題:
有1-7號(hào),7塊地,S、U、V、W、X 5個(gè)遺產(chǎn)繼承者,
S若繼承2號(hào),不能繼承3號(hào);
3號(hào)和4號(hào)不能同時(shí)繼承;
S若繼承一塊或多塊地,則U不能繼承
1塊地不能被2人合分;
問:若S繼承2號(hào)地,剩余3個(gè)人中,不能同時(shí)哪2塊地?
A:1和6 B:1和7 c:3和7 d:1和5 e:1和3
13.
public class TestKnowleage5 {
static int a;
int b,c=0;
public static void main(String[] args){
a++;
b++;//此句,編譯無法通過,Cannot make a static reference to the non-static field b
c++; //此句,編譯無法通過,cannot make a static reference to the non-static field c
參考文章:
1,有三個(gè)jsp頁面:a.jsp b.jsp c.jsp,流程是a.jsp--> b.jsp--> c.jsp,其中a.jsp提交的數(shù)據(jù)要在c.jsp中訪問,用最簡(jiǎn)單的辦法怎么做?不用session。
在b.jsp中放N個(gè)hidden隱藏域保存a.jsp中的數(shù)據(jù),一起提交到c.jsp,在c.jsp中取出。2.sql server支持集群么?
支持,不過屬于熱備份類型,不能做負(fù)載均衡。不過符合你的條件
首先系統(tǒng)做集群,數(shù)據(jù)庫(kù)文件放到磁盤陣列里,雙機(jī)或多機(jī)共同訪問磁盤陣列,就可以了,可以集群后做負(fù)載均衡;
3.HashTable與HashMap的區(qū)別:
1)HashMap非線程安全,HashTable線程安全;
2)HashMap可放一條key為空的記錄,任意記錄的value可為空,hashTable不可以;
3)hashMap去掉了contains方法,增加了containsKey和containsValue方法;
4.如何理解mvc模式:
mvc是sun提出的model2開發(fā)模式,將控制、視圖、模型進(jìn)行了分離;提高了可維護(hù)性、擴(kuò)展性、可移植性、組件的可復(fù)用性;
5.SingleTon:
6.對(duì)象序列化的含義:
java序列化技術(shù)可以使你將一個(gè)對(duì)象的狀態(tài)寫入一個(gè)byte流里,并且可以從其它地方把該byte流里的數(shù)據(jù)讀出來,重新構(gòu)造一個(gè)相同的對(duì)象。
這種機(jī)制允許你將對(duì)象通過網(wǎng)絡(luò)傳播,并且隨時(shí)可以把對(duì)象持久化到數(shù)據(jù)庫(kù)、文件等系統(tǒng)里,java的序列化技術(shù)是RMI、EJB等技術(shù)的基礎(chǔ);
實(shí)現(xiàn)方法:implements Serializable標(biāo)記為可序列化,然后用ObjectOutputStream和ObjectInputStream讀寫;
7.數(shù)據(jù)庫(kù)中的鎖包含哪些?
排它鎖和共享鎖
8.jsp和servlet的區(qū)別:
1)簡(jiǎn)單來說:jsp就是含有java代碼的html,servlet就是含有html的java代碼;
2)jsp最終被解釋成servlet,編譯再執(zhí)行,jsp不過是servlet的另一種編寫形式;
3)jsp擅長(zhǎng)表示,servlet擅長(zhǎng)數(shù)據(jù)處理,在mvc中jsp處于視圖層,servlet處于控制層;
9.oracle在數(shù)據(jù)庫(kù)中的交集怎么表示:
1)用intersect操作符 2)用in 語句
9.JNDI、JMS、JTA、RMI:
JNDI:java naming and directory interface java命名目錄接口
JMS:java messing service java消息服務(wù)
JTA:java transaction api java事務(wù)api
RMI:
Remote Method Invocation 遠(yuǎn)程方法調(diào)用
10.事務(wù):
1)ACID屬性:
A:atomic 原子性
C:consistent 一致性
I:isolation 隔離性
D:duration 持久性
2)概念:事務(wù)就是一系列操作,它們完成一項(xiàng)任務(wù)。只要這些操作里有一項(xiàng)沒成功,事務(wù)就操作失敗,發(fā)生回滾事件。即撤銷前面的操作,這樣可以保證數(shù)據(jù)的一致性。而且可以把操作放在緩存里,等所有操作都成功就提交數(shù)據(jù)庫(kù),這樣保證費(fèi)時(shí)的操作都是有效操作。
3)隔離級(jí)別 4)傳播行為
參考文檔:
http://wenku.baidu.com/view/56a532eb856a561252d36f81.html
1.String b = new String("1"+"2"); -->4個(gè)
2.Customer(id,name,phone,country);每個(gè)客戶均有地區(qū)(country)屬性,每個(gè)地區(qū)可有1或多個(gè)客戶,查詢擁有超過10名客戶的地區(qū)的列表;
3.public interface TreeNode{
String getName();
List getChildren();
}
寫一個(gè)print()方法,打印各級(jí)節(jié)點(diǎn)名稱.
4.String與StringBuffer的區(qū)別?
String
5.ajax名詞解釋,它的核心價(jià)值及原理;
6.事務(wù)的概念及名詞解釋;
7.數(shù)據(jù)庫(kù)表之間有幾種關(guān)系,并舉例;
8.Filter的原理,常見用例;
9.視圖與表的區(qū)別?觸發(fā)器類型有哪些類型?
10.建表及各種約束;
11.hibernate導(dǎo)入大量數(shù)據(jù)時(shí),為了避免內(nèi)存中產(chǎn)生大量對(duì)象,在編碼時(shí)注意什么,如何去除?
一、unix:
1.ps -ef|grep tomcat
2.mkdir dir
3.打tar包:tar -cvf XXX.tar XXX
4.解壓tar包:tar -xvf XXX.tar
二、java
1.HashMap和HashTable的區(qū)別:HashMap不是線程安全的,HashTable是線程安全的
HashTable不允許null值(key和value都不可以),HashMap允許null值(key和value都可以)。
HashTable使用Enumeration,HashMap使用Iterator。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。
Hashtable是基于陳舊的Dictionary類,完成了Map接口;HashMap是Java 1.2引進(jìn)的Map接口的一個(gè)實(shí)現(xiàn)(HashMap繼承于AbstractMap,AbstractMap完成了Map接口)。
HashTable中hash數(shù)組默認(rèn)大小是11,增加的方式是 old*2+1。HashMap中hash數(shù)組的默認(rèn)大小是16,而且一定是2的指數(shù)。
哈希值的使用不同,HashTable直接使用對(duì)象的hashCode。
2.什么是java的序列化?如何實(shí)現(xiàn)java的序列化:
序列化就是一種用來處理對(duì)象流的機(jī)制,所謂對(duì)象流也就是將對(duì)象的內(nèi)容進(jìn)行流化。可以對(duì)流化后的對(duì)象進(jìn)行讀寫操作,也可將流化后的對(duì)象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對(duì)對(duì)象流進(jìn)行讀寫操作時(shí)所引發(fā)的問題。
序列化的實(shí)現(xiàn):將需要被序列化的類實(shí)現(xiàn)Serializable接口,然后使用一個(gè)輸出流(如:FileOutputStream)來構(gòu)造一個(gè)ObjectOutputStream(對(duì)象流)對(duì)象,接著,使用ObjectOutputStream對(duì)象的writeObject(Object obj)方法就可以將參數(shù)為obj的對(duì)象寫出(即保存其狀態(tài)),要恢復(fù)的話則用輸入流。
3.什么是java的單例模式?寫一個(gè)單例模式;
單例模式:確保某一個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例。這個(gè)類稱為單例類。
代碼清單1:餓漢式單例類
public class EagerSingleton
{
private static final EagerSingleton m_instance = new EagerSingleton();
/**
* 私有的默認(rèn)構(gòu)造方法
*/
private EagerSingleton() { }
/**
* 靜態(tài)方法獲得單例
*/
public static EagerSingleton getInstance()
{
return m_instance;
}
}
代碼清單2:懶漢式單例類
package com.javapatterns.singleton.demos;
public class LazySingleton
{
private static LazySingleton m_instance = null;
/**
* 私有的默認(rèn)構(gòu)造方法,保證外界無法直接實(shí)例化
*/
private LazySingleton() { }
/**
* 靜態(tài)方法,返還此類的惟一實(shí)例
*/
public synchronized static LazySingleton getInstance()
{
if (m_instance == null)
{
m_instance = new LazySingleton();
}
return m_instance;
}
}
4.靜態(tài)塊與構(gòu)造器在繼承中的執(zhí)行順序:
public class TestExeuteOrder {
public static void main(String[] args) {
Parent p = new ChildTest();
p = new ChildTest();
}
}
class ChildTest extends Parent{
static{
System.out.println("in child static");
}
public ChildTest(){
System.out.println("in child construtor");
}
}
class Parent{
static{
System.out.println("in parent static");
}
public Parent(){
System.out.println("in parent construtor");
}
}運(yùn)行結(jié)果:in parent static
in child static
in parent construtor
in child construtor
in parent construtor
in child construtor5.成員內(nèi)部類:public class TestExeuteOrder{
class Inner{
void test(){
if(TestExeuteOrder.this.flag){
System.out.println("what a funny");
}
}
}
private boolean flag = true;
public TestExeuteOrder(){
new Inner().test();
}
public static void main(String[] args){
new TestExeuteOrder();
}
}運(yùn)行結(jié)果:what a funny6.參數(shù)傳遞:public class TestExeuteOrder{
public static void main(String[] args){
String a = "ello";
TestExeuteOrder t = new TestExeuteOrder();
t.change(a);
System.out.println(a);
}
public void change(String str){
str += "H";
}
}結(jié)果:ello7.參數(shù)傳遞2:public class TestExeuteOrder{
public static void main(String[] args){
StringBuffer x = new StringBuffer("A");
StringBuffer y = new StringBuffer("B");
change(x,y);
System.out.println(x+" "+y);
}
public static void change(StringBuffer a,StringBuffer b){
a.append(b);
b = a;
}
}結(jié)果為:AB B8.public class TestExeuteOrder{
public static void main(String[] args){
String a = "good";
char[] b = new char[]{'a','b','c'};
method(a,b);
System.out.println("a="+a+"------>b="+new String(b));
}
public static void method(String a,char[] b){
a = "Test ok";
b[0] = 'g';
}
}
結(jié)果:
a=good------>b=gbc
三、SQL:
1.存儲(chǔ)過程與函數(shù)的區(qū)別:
1)前者,程序頭部聲明用的是procedure;后者,程序頭部聲明用的是function;
2)前者,不需要描述返回類型,后者需要;
3)前者可以作為一個(gè)獨(dú)立的pl/sql語句來執(zhí)行;后者不能獨(dú)立運(yùn)行,必須作為表達(dá)式的一部分條用;
4)sql語句中不可調(diào)用procedure,但可以調(diào)用function;
2.查詢student表中name重復(fù)的記錄:
select * from student where name in(select name from student group by sname having count(*) >1);3.table表中有兩列A,B,如果A>B選擇A,如果A<B,選擇B:
select( case when s1.A>s1.B then s1.A when s1.A<s1.B then s1.B end) re from student s1;
jar包不全,更新lib目錄后,不再報(bào)錯(cuò)。
1.公司速查手冊(cè) :
http://www.b1.tooyard.com/
2.分智網(wǎng):
http://www.fenzhi.com/ 3.我評(píng)it:
http://wopingit.com/ 4.企業(yè)點(diǎn)評(píng)網(wǎng):
http://www.71dp.com/ 5.中國(guó)企業(yè)評(píng)價(jià)網(wǎng):
http://www.ceea.net.cn/ 6.公司點(diǎn)評(píng)網(wǎng):
http://www.gsdpw.com/ 7.企業(yè)付費(fèi)邀請(qǐng)面試:
http://www.tradecv.com/
一、利用框架:
1.jre下的rt.jar中sun.net.ftpClient
2.common net 中的ftp包
二、ftp協(xié)議認(rèn)識(shí):
參考規(guī)范:RFC 959
1.文件傳輸協(xié)議:file transfer protocol (ftp)
2.名詞解釋:
DTP:數(shù)據(jù)傳輸過程
EOR:記錄尾
PI:協(xié)議解釋器
NTV:網(wǎng)絡(luò)虛擬終端
NVFS:網(wǎng)絡(luò)虛擬文件系統(tǒng)
3.控制連接是建立在USER-PIT和SERVER-PI之間用于交換命令與應(yīng)答的通信鏈路。
4.數(shù)據(jù)連接是傳輸數(shù)據(jù)的全雙工連接。傳輸數(shù)據(jù)可以發(fā)生在服務(wù)器DTP和用戶DTP之間也可以發(fā)生在兩個(gè)服務(wù)器DTP之間。
5.數(shù)據(jù)連接只傳輸數(shù)據(jù),控制連接傳送命令和響應(yīng)。
6.FTP使用Telnet協(xié)議進(jìn)行控制連接
7.
參考文章:
http://blog.csdn.net/williamzhou/article/details/215293
摘要: 文章來源:http://www.iteye.com/topic/7339711.通過getSession()方法獲得session進(jìn)行操作 Java代碼 public class Test extends HibernateDaoSupport{  ...
閱讀全文
一、setter DI:
<bean>
<property name="">
<ref bean="bean的name或id"/>
</property>
<property name="">
<!--內(nèi)部bean-->
<bean></bean>
</property>
<property name="">
<ref local="只能是同一文件的bean的id"/>
</property>
<!--idref元素用來引用其它bean的id,spring會(huì)驗(yàn)證id是否存在-->
<property name="">
<idref bean=""/>
</property>
<!--idref元素的local屬性用來引用其它bean的id,spring會(huì)驗(yàn)證id是否存在,并且驗(yàn)證與引用的bean是否在同一文件-->
<property name="">
<idref local=""/>
</property>
<property name="">
<value></value>
</property>
<property name="" ref=""/>
<property name="" value=""/>
<property name="">
<null/>
</property>
<property name="">
<props>
<prop key=""></prop>
<prop key=""></prop>
</props>
</property>
<property name="">
<list>
<value></value>
<ref bean=""/>
</list>
</property>
<property name="">
<set>
<value></value>
<ref bean=""/>
</set>
</property>
<property name="">
<map>
<entry>
<key>
<value></value>
</key>
<value></value>
</entry>
<entry key="" value=""/><!--推薦-->
<entry key="">
<value>
</value>
</entry>
<entry key-ref="" value-ref=""/>
<entry>
<key>
<value></value>
</key>
<ref bean=""/>
</entry>
</map>
</property>
</bean>
二、contructor DI:
<bean>
<constructor-arg>
<ref bean=""/>
</constructor-arg>
<constructor-arg ref="bean的name或id"/>
<constructor-arg value=""/>
<constructor-arg type="" value=""/>
<constructor-arg index="" value=""/><!--首選-->
</bean>
1.spring2.5完全支持java1.6
2.完全支持Java EE 5
3.spring2.5提供了完整的annotation集合:@Autowired,以及對(duì)JSR-250注解@Resource,@PostConstruct,@PreDestroy
4.在classpath中自動(dòng)搜索帶有annotation的組件。
5.spring2.5加入了對(duì)bean(...)pointcut元素的支持,在spring定義的bean命名中對(duì)指定的命名進(jìn)行匹配
6.在spring應(yīng)用中使用AspectJ加載時(shí)織入context:load-time-weaver
7.增加,通過context:load-time-weaver和tx:annotation-driven mode="aspectj"聯(lián)合使用的注解驅(qū)動(dòng)的事務(wù)管理
8.對(duì)JPA,升級(jí)到支持Open JPA1.0
9.2.5顯著的擴(kuò)充了SimpleJdbcTemplate的功能,引入了SimpleJdbcCall和SimpleJdbcInsert操作對(duì)象
10,web層,增加了基于注解的Controller
11.spring2.5引入了基于annotation的MVC編程模型,使用@RequestMapping、@RequestParam、@ModelAttribute等等
12.增加對(duì)tiles2的支持
13.引入了sping TestContext Framework,它提供了注解驅(qū)動(dòng)的單元和集成測(cè)試支持
1.
引入request scope、session scope和可自定義的scope(hooks)
2.引入了XML Schema的namespace,簡(jiǎn)化了配置,包括了對(duì)bean屬性的各種簡(jiǎn)化,AOP配置的簡(jiǎn)化,事務(wù)配置的簡(jiǎn)化,JNDI配置的簡(jiǎn)化等方面
3.spring2.0集成了AspectJ切入點(diǎn)(pointcut)語言和@AspectJ切面(aspect)聲明類型
4.支持@AspectJ注解定義切面
5.提供了JPA的抽象層
6.對(duì)于JMS,spring2.0提供異步接受消息
7.對(duì)于jdbc,增加了NamedParameterJdbcTemplate、SimpleJdbcTemplate
8.對(duì)java1.5的支持,結(jié)合AspectJ使用@Transactional、使用AspectJ來為domain object進(jìn)行依賴注入、@AspectJ、@Required、SimpleJdbcTemplate
進(jìn)入注冊(cè)表:
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
新建DWORD值,然后重命名為:CodePage,修改其值為十進(jìn)制的936
1, a & 0xff 可得到a對(duì)應(yīng)而二進(jìn)制的最后8位;
2,左移n位--》表示乘以2的N次方
3, 右移n位-->表示除以2的N次方
摘要: 文章來源:http://hi.baidu.com/liuzhe041/blog/item/e12251dcf2ffe053ccbf1ad2.htmlspring 和struts整合 有3種方式,推薦用第三種。下面一一介紹,不管使用哪種方式,都需要在web.xml 中配置 spring的 監(jiān)聽器Java代碼 <context-param> &n...
閱讀全文
文章來源:
http://hi.baidu.com/breezedancer/blog/item/7eebb499680d8f086e068cb9.html import javax.sound.sampled.*;
import java.io.*;
public class TestMusic{
private AudioFormat format;
private byte[] samples;
public static void main(String args[])throws Exception{
TestMusic sound =new TestMusic("1.wav");
InputStream stream =new ByteArrayInputStream(sound.getSamples());
// play the sound
sound.play(stream);
// exit
System.exit(0);
}
public TestMusic(String filename) {
try {
// open the audio input stream
AudioInputStream stream =AudioSystem.getAudioInputStream(new File(filename));
format = stream.getFormat();
// get the audio samples
samples = getSamples(stream);
}
catch (UnsupportedAudioFileException ex) {
ex.printStackTrace();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
public byte[] getSamples() {
return samples;
}
private byte[] getSamples(AudioInputStream audioStream) {
// get the number of bytes to read
int length = (int)(audioStream.getFrameLength() * format.getFrameSize());
// read the entire stream
byte[] samples = new byte[length];
DataInputStream is = new DataInputStream(audioStream);
try {
is.readFully(samples);
}
catch (IOException ex) {
ex.printStackTrace();
}
// return the samples
return samples;
}
public void play(InputStream source) {
// use a short, 100ms (1/10th sec) buffer for real-time
// change to the sound stream
int bufferSize = format.getFrameSize() *
Math.round(format.getSampleRate() / 10);
byte[] buffer = new byte[bufferSize];
// create a line to play to
SourceDataLine line;
try {
DataLine.Info info =
new DataLine.Info(SourceDataLine.class, format);
line = (SourceDataLine)AudioSystem.getLine(info);
line.open(format, bufferSize);
}
catch (LineUnavailableException ex) {
ex.printStackTrace();
return;
}
// start the line
line.start();
// copy data to the line
try {
int numBytesRead = 0;
while (numBytesRead != -1) {
numBytesRead =
source.read(buffer, 0, buffer.length);
if (numBytesRead != -1) {
line.write(buffer, 0, numBytesRead);
}
}
}
catch (IOException ex) {
ex.printStackTrace();
}
// wait until all data is played, then close the line
line.drain();
line.close();
}
}
也叫延遲檢索或懶加載
一.實(shí)現(xiàn)方式:
1.*hbm.xml中的class元素的lazy屬性設(shè)置為true;
2.*hbm.xml中的set元素的lazy屬性設(shè)置為true;
3.
@[One|Many]ToOne](fetch=FetchType.LAZY) @LazyToOne(PROXY) @Fetch(SELECT)
@[One|Many]ToOne](fetch=FetchType.EAGER) @LazyToOne(FALSE) @Fetch(JOIN)
@ManyTo[One|Many](fetch=FetchType.LAZY) @LazyCollection(TRUE)@Fetch(SELECT)
@ManyTo[One|Many](fetch=FetchType.EAGER) @LazyCollection(FALSE) @Fetch(JOIN)
參考文章:
1.如果數(shù)據(jù)庫(kù)沒有匹配的記錄,load()方法可能會(huì)拋出無法恢復(fù)的異常(unrecoverable exception);get()方法會(huì)返回null;
2.load可以使用延遲加載;get不可以;
load與get的工作原理:
get方法首先查詢session緩存,沒有的話查詢二級(jí)緩存,最后查詢數(shù)據(jù)庫(kù);
若設(shè)置了lazy=true,load方法創(chuàng)建時(shí)首先查詢session緩存,沒有就創(chuàng)建代理,實(shí)際使用數(shù)據(jù)時(shí)才查詢二級(jí)緩存和數(shù)據(jù)庫(kù);
未設(shè)置lazy=true時(shí),與get方法相同;
注意:
到底使用誰:如果不確定是否有匹配的行存在,應(yīng)該使用get方法。
查看操作系統(tǒng)版本:
head -n 1 /etc/issue
Red Hat Enterprise Linux Server release 6.0 (Santiago)
查看cpu信息:
cat /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E5450 @ 3.00GHz
查看內(nèi)存使用情況:
free -m
查看各分區(qū)使用情況:
df -h
查看指定目錄的大小
du -sh <目錄名>
查看內(nèi)存總量:
grep MemTotal /proc/meminfo
查看空閑內(nèi)存量:
grep MemFree /proc/meminfo
查看實(shí)時(shí)的內(nèi)存情況:
top
阿爾卡特朗訊
Genesys,阿爾卡特朗訊旗下公司
Dialogic公司
中國(guó)聯(lián)通
中國(guó)電信集團(tuán)號(hào)百信息服務(wù)有限公司
北京英立訊科技有限公司
杭州遠(yuǎn)傳通信技術(shù)有限公司
奧迪堅(jiān)通訊系統(tǒng)(上海)有限公司
繽特力貿(mào)易(蘇州)有限公司
新太科技股份有限公司
深圳市東進(jìn)通訊技術(shù)股份有限公司
Teleopti
廣州市毅航通信技術(shù)有限公司
潮流網(wǎng)絡(luò)技術(shù)有限公司
杭州三匯信息工程有限公司
億迅(中國(guó))軟件有限公司
大唐高鴻數(shù)據(jù)網(wǎng)絡(luò)技術(shù)股份有限公司
深圳市友鄰?fù)ㄓ嵲O(shè)備有限公司
北京易才博普奧管理顧問有限公司
北京天潤(rùn)融通科技有限公司
廣州市杰音通訊科技有限公司
北京直真信通科技有限公司
廣州市北恩電聲技術(shù)有限公司
北京七星藍(lán)圖科技有限公司
北京科特爾泰訊科技有限公司
北京云端時(shí)代科技有限公司
北京宏盛高新技術(shù)有限公司
北京紐曼騰飛科技有限公司
各廠商JDK官網(wǎng)下載地址:
1、Oracle JDK,介質(zhì)分32位和64位,分Linux、Solaris、Windows平臺(tái)
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html
2、HP JDK,介質(zhì)不分32位和64位,分PA和IA平臺(tái)
https://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=HPUXJDKJRE60
3、IBM JDK,介質(zhì)分32位和64位
https://www.ibm.com/developerworks/java/jdk/aix/service.html#i1
參考文章:
文章來源:http://www.cnblogs.com/chenghm2003/archive/2008/10/19/1314703.html
不同的ContentType 會(huì)影響客戶端所看到的效果.默認(rèn)的ContentType為 text/html 也就是網(wǎng)頁格式.
代碼如:
<% response.ContentType ="text/html" %>
<!--#i nclude virtual="/ContentType.html" -->
顯示的為網(wǎng)頁,而
<% response.ContentType ="text/plain" %>
<!--#i nclude virtual="/sscript/ContentType.html" -->
則會(huì)顯示html原代碼.
以下為一些常用的 ContentType
GIF images
<% response.ContentType ="image/gif" %>
<!--#i nclude virtual="/myimage.gif" -->
JPEG images
<% response.ContentType ="image/jpeg" %>
<!--#i nclude virtual="/myimage.jpeg" -->
TIFF images
<% response.ContentType ="image/tiff" %>
<!--#i nclude virtual="/myimage.tiff" -->
MICROSOFT WORD document
<% response.ContentType ="application/msword" %>
<!--#i nclude virtual="/myfile.doc" -->
RTF document
<% response.ContentType ="application/rtf" %>
<!--#i nclude virtual="/myfile.rtf" -->
MICROSOFT EXCEL document
<% response.ContentType ="application/x-excel" %>
<!--#i nclude virtual="/myfile.xls" -->
MICROSOFT POWERPOINT document
<% response.ContentType ="application/ms-powerpoint" %>
<!--#i nclude virtual="/myfile.pff" -->
PDF document
<% response.ContentType ="application/pdf" %>
<!--#i nclude virtual="/myfile.pdf" -->
ZIP document
<% response.ContentType ="application/zip" %>
<!--#i nclude virtual="/myfile.zip" -->
下面是更詳細(xì)的ContentType
'ez' => 'application/andrew-inset',
'hqx' => 'application/mac-binhex40',
'cpt' => 'application/mac-compactpro',
'doc' => 'application/msword',
'bin' => 'application/octet-stream',
'dms' => 'application/octet-stream',
'lha' => 'application/octet-stream',
'lzh' => 'application/octet-stream',
'exe' => 'application/octet-stream',
'class' => 'application/octet-stream',
'so' => 'application/octet-stream',
'dll' => 'application/octet-stream',
'oda' => 'application/oda',
'pdf' => 'application/pdf',
'ai' => 'application/postscript',
'eps' => 'application/postscript',
'ps' => 'application/postscript',
'smi' => 'application/smil',
'smil' => 'application/smil',
'mif' => 'application/vnd.mif',
'xls' => 'application/vnd.ms-excel',
'ppt' => 'application/vnd.ms-powerpoint',
'wbxml' => 'application/vnd.wap.wbxml',
'wmlc' => 'application/vnd.wap.wmlc',
'wmlsc' => 'application/vnd.wap.wmlscriptc',
'bcpio' => 'application/x-bcpio',
'vcd' => 'application/x-cdlink',
'pgn' => 'application/x-chess-pgn',
'cpio' => 'application/x-cpio',
'csh' => 'application/x-csh',
'dcr' => 'application/x-director',
'dir' => 'application/x-director',
'dxr' => 'application/x-director',
'dvi' => 'application/x-dvi',
'spl' => 'application/x-futuresplash',
'gtar' => 'application/x-gtar',
'hdf' => 'application/x-hdf',
'js' => 'application/x-javascript',
'skp' => 'application/x-koan',
'skd' => 'application/x-koan',
'skt' => 'application/x-koan',
'skm' => 'application/x-koan',
'latex' => 'application/x-latex',
'nc' => 'application/x-netcdf',
'cdf' => 'application/x-netcdf',
'sh' => 'application/x-sh',
'shar' => 'application/x-shar',
'swf' => 'application/x-shockwave-flash',
'sit' => 'application/x-stuffit',
'sv4cpio' => 'application/x-sv4cpio',
'sv4crc' => 'application/x-sv4crc',
'tar' => 'application/x-tar',
'tcl' => 'application/x-tcl',
'tex' => 'application/x-tex',
'texinfo' => 'application/x-texinfo',
'texi' => 'application/x-texinfo',
't' => 'application/x-troff',
'tr' => 'application/x-troff',
'roff' => 'application/x-troff',
'man' => 'application/x-troff-man',
'me' => 'application/x-troff-me',
'ms' => 'application/x-troff-ms',
'ustar' => 'application/x-ustar',
'src' => 'application/x-wais-source',
'xhtml' => 'application/xhtml+xml',
'xht' => 'application/xhtml+xml',
'zip' => 'application/zip',
'au' => 'audio/basic',
'snd' => 'audio/basic',
'mid' => 'audio/midi',
'midi' => 'audio/midi',
'kar' => 'audio/midi',
'mpga' => 'audio/mpeg',
'mp2' => 'audio/mpeg',
'mp3' => 'audio/mpeg',
'aif' => 'audio/x-aiff',
'aiff' => 'audio/x-aiff',
'aifc' => 'audio/x-aiff',
'm3u' => 'audio/x-mpegurl',
'ram' => 'audio/x-pn-realaudio',
'rm' => 'audio/x-pn-realaudio',
'rpm' => 'audio/x-pn-realaudio-plugin',
'ra' => 'audio/x-realaudio',
'wav' => 'audio/x-wav',
'pdb' => 'chemical/x-pdb',
'xyz' => 'chemical/x-xyz',
'bmp' => 'image/bmp',
'gif' => 'image/gif',
'ief' => 'image/ief',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'jpe' => 'image/jpeg',
'png' => 'image/png',
'tiff' => 'image/tiff',
'tif' => 'image/tiff',
'djvu' => 'image/vnd.djvu',
'djv' => 'image/vnd.djvu',
'wbmp' => 'image/vnd.wap.wbmp',
'ras' => 'image/x-cmu-raster',
'pnm' => 'image/x-portable-anymap',
'pbm' => 'image/x-portable-bitmap',
'pgm' => 'image/x-portable-graymap',
'ppm' => 'image/x-portable-pixmap',
'rgb' => 'image/x-rgb',
'xbm' => 'image/x-xbitmap',
'xpm' => 'image/x-xpixmap',
'xwd' => 'image/x-xwindowdump',
'igs' => 'model/iges',
'iges' => 'model/iges',
'msh' => 'model/mesh',
'mesh' => 'model/mesh',
'silo' => 'model/mesh',
'wrl' => 'model/vrml',
'vrml' => 'model/vrml',
'css' => 'text/css',
'html' => 'text/html',
'htm' => 'text/html',
'asc' => 'text/plain',
'txt' => 'text/plain',
'rtx' => 'text/richtext',
'rtf' => 'text/rtf',
'sgml' => 'text/sgml',
'sgm' => 'text/sgml',
'tsv' => 'text/tab-separated-values',
'wml' => 'text/vnd.wap.wml',
'wmls' => 'text/vnd.wap.wmlscript',
'etx' => 'text/x-setext',
'xsl' => 'text/xml',
'xml' => 'text/xml',
'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg',
'mpe' => 'video/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
'mxu' => 'video/vnd.mpegurl',
'avi' => 'video/x-msvideo',
'movie' => 'video/x-sgi-movie',
'ice' => 'x-conference/x-cooltalk'
1.throw是語句拋出一個(gè)異常,throws是方法拋出異常;
2.throws可聲明多個(gè)異常,用逗號(hào)分割;
3.throws可單獨(dú)使用,throw必須與try-catch-finally或throws搭配使用;
4.throws表示可能拋出哪些異常,throw是必定拋出這個(gè)異常;
一、
1、下載flex SDK:
http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK 2、將flexSDK_home/bin加入path環(huán)境變量
3、創(chuàng)建mxml文件
4、編譯mxml文件:
dos 命令:mxmlc --strict=true --file-specs exer.mxml
5、運(yùn)行SWF文件:
用Adope flash player運(yùn)行;
注意:
要查看編譯時(shí)生成as文件,可使用命令:
mxmlc --keep-generated-actionscript --strict=true --file-specs exer.mxml
二、
java.lang.NoSuchFieldError: deferredExpression
at org.apache.taglibs.standard.tag.common.core.ForEachSupport.release(ForEachSupport.java:178)
at org.apache.jasper.runtime.TagHandlerPool.release(TagHandlerPool.java:166)
at org.apache.jsp.index_jsp._jspDestroy(index_jsp.java:31)
java ee 5 libraries帶了一個(gè)jstl-1.2.jar
Reference Libraries里面還有jstl-1.1.2.jar
刪除一個(gè)就OK
作用:JRE按CLASS_PATH指定的路徑搜索類文件;
注意:
1.一般設(shè)置:
CLASS_PATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
2.jdk 1.5以上版本可以不用設(shè)置此環(huán)境變量;
POI所有組件:

Apache Tomcat version 5.5 implements the Servlet 2.4 and JavaServer Pages 2.0 specifications
Apache Tomcat version 6.0 implements the Servlet 2.5 and JavaServer Pages 2.1 specifications
Apache Tomcat version 7.0 implements the Servlet 3.0 and JavaServer Pages 2.2 specifications

如果某jar包的META-INF目錄下存在對(duì)應(yīng)的tld文件,那么對(duì)于JSP1.2+的web 容器,
若把此jar包放在WEB-INF/lib目錄下,可以直接引用標(biāo)簽,
不用再web.xml里面配置taglib;
原文地址:http://www.ideagrace.com/html/doc/2007/01/30/08608.html
屬性名 | 用途 |
---|
hibernate.dialect | 一個(gè)Hibernate Dialect類名允許Hibernate針對(duì)特定的關(guān)系數(shù)據(jù)庫(kù)生成優(yōu)化的SQL. 取值 full.classname.of.Dialect |
hibernate.show_sql | 輸出所有SQL語句到控制臺(tái). 有一個(gè)另外的選擇是把org.hibernate.SQL這個(gè)log category設(shè)為debug。 eg. true | false |
hibernate.format_sql | 在log和console中打印出更漂亮的SQL。 取值 true | false |
hibernate.default_schema | 在生成的SQL中, 將給定的schema/tablespace附加于非全限定名的表名上. 取值 SCHEMA_NAME |
hibernate.default_catalog | 在生成的SQL中, 將給定的catalog附加于非全限定名的表名上. 取值 CATALOG_NAME |
hibernate.session_factory_name | SessionFactory創(chuàng)建后,將自動(dòng)使用這個(gè)名字綁定到JNDI中. 取值 jndi/composite/name |
hibernate.max_fetch_depth | 為單向關(guān)聯(lián)(一對(duì)一, 多對(duì)一)的外連接抓取(outer join fetch)樹設(shè)置最大深度. 值為0意味著將關(guān)閉默認(rèn)的外連接抓取. 取值 建議在0到3之間取值 |
hibernate.default_batch_fetch_size | 為Hibernate關(guān)聯(lián)的批量抓取設(shè)置默認(rèn)數(shù)量. 取值 建議的取值為4, 8, 和16 |
hibernate.default_entity_mode | 為由這個(gè)SessionFactory打開的所有Session指定默認(rèn)的實(shí)體表現(xiàn)模式. 取值 dynamic-map, dom4j, pojo |
hibernate.order_updates | 強(qiáng)制Hibernate按照被更新數(shù)據(jù)的主鍵,為SQL更新排序。這么做將減少在高并發(fā)系統(tǒng)中事務(wù)的死鎖。 取值 true | false |
hibernate.generate_statistics | 如果開啟, Hibernate將收集有助于性能調(diào)節(jié)的統(tǒng)計(jì)數(shù)據(jù). 取值 true | false |
hibernate.use_identifer_rollback | 如果開啟, 在對(duì)象被刪除時(shí)生成的標(biāo)識(shí)屬性將被重設(shè)為默認(rèn)值. 取值 true | false |
hibernate.use_sql_comments | 如果開啟, Hibernate將在SQL中生成有助于調(diào)試的注釋信息, 默認(rèn)值為false. 取值 true | false |
表 3.4. Hibernate JDBC和連接(connection)屬性
屬性名 | 用途 |
---|
hibernate.jdbc.fetch_size | 非零值,指定JDBC抓取數(shù)量的大小 (調(diào)用Statement.setFetchSize()). |
hibernate.jdbc.batch_size | 非零值,允許Hibernate使用JDBC2的批量更新. 取值 建議取5到30之間的值 |
hibernate.jdbc.batch_versioned_data | 如果你想讓你的JDBC驅(qū)動(dòng)從executeBatch()返回正確的行計(jì)數(shù) , 那么將此屬性設(shè)為true(開啟這個(gè)選項(xiàng)通常是安全的). 同時(shí),Hibernate將為自動(dòng)版本化的數(shù)據(jù)使用批量DML. 默認(rèn)值為false. eg. true | false |
hibernate.jdbc.factory_class | 選擇一個(gè)自定義的Batcher. 多數(shù)應(yīng)用程序不需要這個(gè)配置屬性. eg. classname.of.Batcher |
hibernate.jdbc.use_scrollable_resultset | 允許Hibernate使用JDBC2的可滾動(dòng)結(jié)果集. 只有在使用用戶提供的JDBC連接時(shí),這個(gè)選項(xiàng)才是必要的, 否則Hibernate會(huì)使用連接的元數(shù)據(jù). 取值 true | false |
hibernate.jdbc.use_streams_for_binary | 在JDBC讀寫binary (二進(jìn)制)或serializable (可序列化) 的類型時(shí)使用流(stream)(系統(tǒng)級(jí)屬性). 取值 true | false |
hibernate.jdbc.use_get_generated_keys | 在數(shù)據(jù)插入數(shù)據(jù)庫(kù)之后,允許使用JDBC3 PreparedStatement.getGeneratedKeys() 來獲取數(shù)據(jù)庫(kù)生成的key(鍵)。需要JDBC3+驅(qū)動(dòng)和JRE1.4+, 如果你的數(shù)據(jù)庫(kù)驅(qū)動(dòng)在使用Hibernate的標(biāo) 識(shí)生成器時(shí)遇到問題,請(qǐng)將此值設(shè)為false. 默認(rèn)情況下將使用連接的元數(shù)據(jù)來判定驅(qū)動(dòng)的能力. 取值 true|false |
hibernate.connection.provider_class | 自定義ConnectionProvider的類名, 此類用來向Hibernate提供JDBC連接. 取值 classname.of.ConnectionProvider |
hibernate.connection.isolation | 設(shè)置JDBC事務(wù)隔離級(jí)別. 查看java.sql.Connection來了解各個(gè)值的具體意義, 但請(qǐng)注意多數(shù)數(shù)據(jù)庫(kù)都不支持所有的隔離級(jí)別. 取值 1, 2, 4, 8 |
hibernate.connection.autocommit | 允許被緩存的JDBC連接開啟自動(dòng)提交(autocommit) (不建議). 取值 true | false |
hibernate.connection.release_mode | 指定Hibernate在何時(shí)釋放JDBC連接. 默認(rèn)情況下,直到Session被顯式關(guān)閉或被斷開連接時(shí),才會(huì)釋放JDBC連接. 對(duì)于應(yīng)用程序服務(wù)器的JTA數(shù)據(jù)源, 你應(yīng)當(dāng)使用after_statement, 這樣在每次JDBC調(diào)用后,都會(huì)主動(dòng)的釋放連接. 對(duì)于非JTA的連接, 使用after_transaction在每個(gè)事務(wù)結(jié)束時(shí)釋放連接是合理的. auto將為JTA和CMT事務(wù)策略選擇after_statement, 為JDBC事務(wù)策略選擇after_transaction. 取值 on_close | after_transaction | after_statement | auto |
hibernate.connection.<propertyName> | 將JDBC屬性propertyName傳遞到DriverManager.getConnection()中去. |
hibernate.jndi.<propertyName> | 將屬性propertyName傳遞到JNDI InitialContextFactory中去. |
表 3.5. Hibernate緩存屬性
屬性名 | 用途 |
---|
hibernate.cache.provider_class | 自定義的CacheProvider的類名. 取值 classname.of.CacheProvider |
hibernate.cache.use_minimal_puts | 以頻繁的讀操作為代價(jià), 優(yōu)化二級(jí)緩存來最小化寫操作. 在Hibernate3中,這個(gè)設(shè)置對(duì)的集群緩存非常有用, 對(duì)集群緩存的實(shí)現(xiàn)而言,默認(rèn)是開啟的. 取值 true|false |
hibernate.cache.use_query_cache | 允許查詢緩存, 個(gè)別查詢?nèi)匀恍枰辉O(shè)置為可緩存的. 取值 true|false |
hibernate.cache.use_second_level_cache | 能用來完全禁止使用二級(jí)緩存. 對(duì)那些在類的映射定義中指定<cache>的類,會(huì)默認(rèn)開啟二級(jí)緩存. 取值 true|false |
hibernate.cache.query_cache_factory | 自定義實(shí)現(xiàn)QueryCache接口的類名, 默認(rèn)為內(nèi)建的StandardQueryCache. 取值 classname.of.QueryCache |
hibernate.cache.region_prefix | 二級(jí)緩存區(qū)域名的前綴. 取值 prefix |
hibernate.cache.use_structured_entries | 強(qiáng)制Hibernate以更人性化的格式將數(shù)據(jù)存入二級(jí)緩存. 取值 true|false |
表 3.6. Hibernate事務(wù)屬性
屬性名 | 用途 |
---|
hibernate.transaction.factory_class | 一個(gè)TransactionFactory的類名, 用于Hibernate Transaction API (默認(rèn)為JDBCTransactionFactory). 取值 classname.of.TransactionFactory |
jta.UserTransaction | 一個(gè)JNDI名字,被JTATransactionFactory用來從應(yīng)用服務(wù)器獲取JTA UserTransaction. 取值 jndi/composite/name |
hibernate.transaction.manager_lookup_class | 一個(gè)TransactionManagerLookup的類名 - 當(dāng)使用JVM級(jí)緩存,或在JTA環(huán)境中使用hilo生成器的時(shí)候需要該類. 取值 classname.of.TransactionManagerLookup |
hibernate.transaction.flush_before_completion | 如果開啟, session在事務(wù)完成后將被自動(dòng)清洗(flush)。 現(xiàn)在更好的方法是使用自動(dòng)session上下文管理。取值 true | false |
hibernate.transaction.auto_close_session | 如果開啟, session在事務(wù)完成后將被自動(dòng)關(guān)閉。 現(xiàn)在更好的方法是使用自動(dòng)session上下文管理。取值 true | false |
表 3.7. 其他屬性
屬性名 | 用途 |
---|
hibernate.current_session_context_class | 為"當(dāng)前" Session指定一個(gè)(自定義的)策略。eg. jta | thread | custom.Class |
hibernate.query.factory_class | 選擇HQL解析器的實(shí)現(xiàn). 取值 org.hibernate.hql.ast.ASTQueryTranslatorFactory or org.hibernate.hql.classic.ClassicQueryTranslatorFactory |
hibernate.query.substitutions | 將Hibernate查詢中的符號(hào)映射到SQL查詢中的符號(hào) (符號(hào)可能是函數(shù)名或常量名字). 取值 hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC |
hibernate.hbm2ddl.auto | 在SessionFactory創(chuàng)建時(shí),自動(dòng)檢查數(shù)據(jù)庫(kù)結(jié)構(gòu),或者將數(shù)據(jù)庫(kù)schema的DDL導(dǎo)出到數(shù)據(jù)庫(kù). 使用 create-drop時(shí),在顯式關(guān)閉SessionFactory時(shí),將drop掉數(shù)據(jù)庫(kù)schema. 取值 validate | update | create | create-drop |
hibernate.cglib.use_reflection_optimizer | 開啟CGLIB來替代運(yùn)行時(shí)反射機(jī)制(系統(tǒng)級(jí)屬性). 反射機(jī)制有時(shí)在除錯(cuò)時(shí)比較有用. 注意即使關(guān)閉這個(gè)優(yōu)化, Hibernate還是需要CGLIB. 你不能在hibernate.cfg.xml中設(shè)置此屬性. 取值 true | false |
你應(yīng)當(dāng)總是為你的數(shù)據(jù)庫(kù)將hibernate.dialect屬性設(shè)置成正確的 org.hibernate.dialect.Dialect子類. 如果你指定一種方言, Hibernate將為上面列出的一些屬性使用合理的默認(rèn)值, 為你省去了手工指定它們的功夫.
表 3.8. Hibernate SQL方言 (hibernate.dialect)
RDBMS | 方言 |
---|
DB2 | org.hibernate.dialect.DB2Dialect |
DB2 AS/400 | org.hibernate.dialect.DB2400Dialect |
DB2 OS390 | org.hibernate.dialect.DB2390Dialect |
PostgreSQL | org.hibernate.dialect.PostgreSQLDialect |
MySQL | org.hibernate.dialect.MySQLDialect |
MySQL with InnoDB | org.hibernate.dialect.MySQLInnoDBDialect |
MySQL with MyISAM | org.hibernate.dialect.MySQLMyISAMDialect |
Oracle (any version) | org.hibernate.dialect.OracleDialect |
Oracle 9i/10g | org.hibernate.dialect.Oracle9Dialect |
Sybase | org.hibernate.dialect.SybaseDialect |
Sybase Anywhere | org.hibernate.dialect.SybaseAnywhereDialect |
Microsoft SQL Server | org.hibernate.dialect.SQLServerDialect |
SAP DB | org.hibernate.dialect.SAPDBDialect |
Informix | org.hibernate.dialect.InformixDialect |
HypersonicSQL | org.hibernate.dialect.HSQLDialect |
Ingres | org.hibernate.dialect.IngresDialect |
Progress | org.hibernate.dialect.ProgressDialect |
Mckoi SQL | org.hibernate.dialect.MckoiDialect |
Interbase | org.hibernate.dialect.InterbaseDialect |
Pointbase | org.hibernate.dialect.PointbaseDialect |
FrontBase | org.hibernate.dialect.FrontbaseDialect |
Firebird | org.hibernate.dialect.FirebirdDialect |
表 3.9. Hibernate日志類別
類別 | 功能 |
---|
org.hibernate.SQL | 在所有SQL DML語句被執(zhí)行時(shí)為它們記錄日志 |
org.hibernate.type | 為所有JDBC參數(shù)記錄日志 |
org.hibernate.tool.hbm2ddl | 在所有SQL DDL語句執(zhí)行時(shí)為它們記錄日志 |
org.hibernate.pretty | 在session清洗(flush)時(shí),為所有與其關(guān)聯(lián)的實(shí)體(最多20個(gè))的狀態(tài)記錄日志 |
org.hibernate.cache | 為所有二級(jí)緩存的活動(dòng)記錄日志 |
org.hibernate.transaction | 為事務(wù)相關(guān)的活動(dòng)記錄日志 |
org.hibernate.jdbc | 為所有JDBC資源的獲取記錄日志 |
org.hibernate.hql.AST | 在解析查詢的時(shí)候,記錄HQL和SQL的AST分析日志 |
org.hibernate.secure | 為JAAS認(rèn)證請(qǐng)求做日志 |
org.hibernate | 為任何Hibernate相關(guān)信息做日志 (信息量較大, 但對(duì)查錯(cuò)非常有幫助) |
表 3.10. JTA TransactionManagers
Transaction工廠類 | 應(yīng)用程序服務(wù)器 |
---|
org.hibernate.transaction.JBossTransactionManagerLookup | JBoss |
org.hibernate.transaction.WeblogicTransactionManagerLookup | Weblogic |
org.hibernate.transaction.WebSphereTransactionManagerLookup | WebSphere |
org.hibernate.transaction.WebSphereExtendedJTATransactionLookup | WebSphere 6 |
org.hibernate.transaction.OrionTransactionManagerLookup | Orion |
org.hibernate.transaction.ResinTransactionManagerLookup | Resin |
org.hibernate.transaction.JOTMTransactionManagerLookup | JOTM |
org.hibernate.transaction.JOnASTransactionManagerLookup | JOnAS |
org.hibernate.transaction.JRun4TransactionManagerLookup | JRun4 |
org.hibernate.transaction.BESTransactionManagerLookup | Borland ES
|
摘要: 文章來源:http://www.tkk7.com/javafield/archive/2008/01/05/172952.htmlSystem.getProperty() 1public class Information { 2 public st...
閱讀全文
摘要: 文章來源:http://blog.csdn.net/lu_yongchao/article/details/6209166mysql:sql代碼:select * from user where ... order by ....
閱讀全文
org.hibernate.hql.ast.QuerySyntaxError: User is not mapped. [from User where username=?]
at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:63)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:196)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:130)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:83)
at org.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:427)
at org.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:884)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:834)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:603)
at com.demo.hibernate.dao.UserDAOImpl.select(UserDAOImpl.java:19)
at com.demo.hibernate.service.UserServiceImpl.login(UserServiceImpl.java:21)
at com.demo.hibernate.test.UserServiceTest.testLogin(UserServiceTest.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: User is not mapped.
at org.hibernate.hql.ast.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:85)
at org.hibernate.hql.ast.FromElementFactory.addFromElement(FromElementFactory.java:77)
at org.hibernate.hql.ast.FromClause.addFromElement(FromClause.java:67)
at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:217)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:2830)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2719)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:513)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:371)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:201)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:151)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:189)
... 28 more
原因:
hibernate.cfg.xml映射.<mapping resource=""/>的配置
類似原因還可能有:
hql是寫的是table名,不是POJO對(duì)象
原因:url未加“\”轉(zhuǎn)義。url格式不正確導(dǎo)致。
文章來源:http://www.cnblogs.com/liuzhong/archive/2011/06/27/2091294.html
一、在JavaScript中調(diào)用Flex方法
在Flex中可以用ExternalInterface來調(diào)用Flex的方法,途徑是
1.通過在Flex應(yīng)用可調(diào)用方法列表中添加指定的公用方法。 在Flex應(yīng)用中通過調(diào)用addCallback()可以把一個(gè)方法添加到此列表中。addCallback將一個(gè)ActionScript的方法注冊(cè)為一個(gè)JavaScript和VBScript可以調(diào)用的方法。
addCallback()函數(shù)的定義如下:
addCallback(function_name:String, closure:Function):void
function_name參數(shù)就是在Html頁面中腳本調(diào)用的方法名。closure參數(shù)是要調(diào)用的本地方法,這個(gè)參數(shù)可以是一個(gè)方法也可以是對(duì)象實(shí)例。
舉個(gè)例子:
<mx:Script>
import flash.external.*;
public function myFunc():Number {
return 42;
}
public function initApp():void {
ExternalInterface.addCallback("myFlexFunction",myFunc);
}
</mx:Script>
2.那么在Html頁面中,先獲得SWF對(duì)象的引用,也就是用<object .../>聲明的Swf的Id屬性 ,比如說是MyFlexApp。然后就可以用以下方式調(diào)用Flex中的方法。
<SCRIPT language='JavaScript' charset='utf-8'>
function callApp() {
var x = MyFlexApp.myFlexFunction();
alert(x);
}
</SCRIPT>
<button onclick="callApp()">Call App</button>
二、在Flex中調(diào)用 JavaScript
你可以調(diào)用Html頁面中的JavaScript,通過與JavaScript的交互,可以改變Style,調(diào)用遠(yuǎn)程方法。還可以將數(shù)據(jù)傳遞給Html頁面,處理后再返回給Flex,完成這樣的功能主要有兩種方法:ExternalInterface()和navigateToUrl()。
在Flex中調(diào)用JavaScript最簡(jiǎn)單的方法是使用ExternalInterface(),可以使用此API調(diào)用任意JavaScript,傳遞參數(shù),獲得返回值,如果調(diào)用失敗,F(xiàn)lex拋出一個(gè)異常。
ExternalInterface封裝了對(duì)瀏覽器支持的檢查,可以用available屬性來查看。
ExternalInterface的使用非常簡(jiǎn)單,語法如下:
flash.external.ExternalInterface.call(function_name: String[, arg1, ...]):Object;
參數(shù)function_name是要調(diào)用的JavaScript的函數(shù)名,后面的參數(shù)是JavaScript需要的參數(shù)。
舉個(gè)例子說明如何調(diào)用JavaScript函數(shù)
Flex應(yīng)用中,添加如下方法:
<mx:Script>
<?xml version="1.0" encoding="iso-8859-1"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
import flash.external.*;
public function callWrapper():void {
var f:String = "changeDocumentTitle";
var m:String = ExternalInterface.call(f,"New Title");
trace(m);
}
</mx:Script>
<mx:Button label="Change Document Title" click="callWrapper()"/>
</mx:Application>
Html頁面中有如下函數(shù)定義:
<SCRIPT LANGUAGE="JavaScript">
function changeDocumentTitle(a) {
window.document.title=a;
return "successful";
}
</SCRIPT>