日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

知识点记录

發(fā)布時間:2024/3/13 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 知识点记录 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
iptv相關(guān) 幾個概念 運(yùn)營商、內(nèi)容提供商 電信聯(lián)通所涵蓋的領(lǐng)域,各自的特點(diǎn)等 程序集 jsp如何轉(zhuǎn)化為servlet c# var的使用 jdk: ????原理性的知識 ????數(shù)據(jù)庫連接池的原理 ????threadlocal是什么,什么時候用,跟線程是什么關(guān)系 socket 同步異步的實(shí)現(xiàn)方式? hibernate支持集群嗎?如何實(shí)現(xiàn)集群?? 迅雷面試題:http://www.iteye.com/topic/534019 JVM原理,http://developer.51cto.com/art/201009/227004.htm http://effort-fan.iteye.com/blog/1025819 內(nèi)存溢出 ????就是你要求分配的內(nèi)存超出了系統(tǒng)能給你的,系統(tǒng)不能滿足需求,于是產(chǎn)生溢出; 內(nèi)存泄漏 ????就是沒有及時清理內(nèi)存垃圾,導(dǎo)致系統(tǒng)無法再給你提供內(nèi)存資源。 缺省情況下 mysql不支持事務(wù),默認(rèn)auto mysql的特點(diǎn) ????MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司,現(xiàn)在已經(jīng) ????被Sun公司收購,支持FreeBSD、Linux、MAC、Windows等多種操作系統(tǒng) ????與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比功能稍弱一些 ????1、可以處理擁有上千萬條記錄的大型數(shù)據(jù) ????2、支持常見的SQL語句規(guī)范 ????3、可移植行高,安裝簡單小巧 ????4、良好的運(yùn)行效率,有豐富信息的網(wǎng)絡(luò)支持 ????5、調(diào)試、管理,優(yōu)化簡單(相對其他大型數(shù)據(jù)庫) 兩種創(chuàng)建線程的區(qū)別:???? 采用繼承Thread類方式: (1)優(yōu)點(diǎn):編寫簡單,如果需要訪問當(dāng)前線程,無需使用Thread.currentThread()方法,直接使用this,即可獲得當(dāng)前線程。 (2)缺點(diǎn):因?yàn)榫€程類已經(jīng)繼承了Thread類,所以不能再繼承其他的父類。 采用實(shí)現(xiàn)Runnable接口方式: (1)優(yōu)點(diǎn):線程類只是實(shí)現(xiàn)了Runable接口,還可以繼承其他的類。在這種方式下,可以多個線程共享同一個目標(biāo)對象,所以非常適合多個相同線程來處理同一份資源的情況,從而可以將CPU代碼和數(shù)據(jù)分開,形成清晰的模型,較好地體現(xiàn)了面向?qū)ο蟮乃枷搿?/span> (2)缺點(diǎn):編程稍微復(fù)雜,如果需要訪問當(dāng)前線程,必須使用Thread.currentThread()方法。 1.synchronized和lock的區(qū)別 ???? http://www.cnblogs.com/yyyyy5101/archive/2011/07/20/2112157.html ????1).Lock 的鎖定是通過代碼實(shí)現(xiàn)的,而 synchronized 是在 JVM 層面上實(shí)現(xiàn)的 ????synchronized 在鎖定時如果方法塊拋出異常,JVM 會自動將鎖釋放掉,不會因?yàn)槌隽水惓]有釋放鎖造成線程死鎖。但是 Lock 的話就享受不到 JVM 帶來自動的功能,出現(xiàn)異常時必須在 finally 將鎖釋放掉,否則將會引起死鎖。 ????2).在資源競爭不是很激烈的情況下,偶爾會有同步的情形下,synchronized是很合適的。原因在于,編譯程序通常會盡可能的進(jìn)行優(yōu)化synchronize,另外可讀性非常好,不管用沒用過5.0多線程包的程序員都能理解。? ????3).ReentrantLock:? ReentrantLock提供了多樣化的同步,比如有時間限制的同步,可以被Interrupt的同步(synchronized的同步是不能Interrupt的)等。在資源競爭不激烈的情形下,性能稍微比synchronized差點(diǎn)點(diǎn)。但是當(dāng)同步非常激烈的時候,synchronized的性能一下子能下降好幾十倍。而ReentrantLock確還能維持常態(tài)。? ????4).Atomic:? 和上面的類似,不激烈情況下,性能比synchronized略遜,而激烈的時候,也能維持常態(tài)。激烈的時候,Atomic的性能會優(yōu)于ReentrantLock一倍左右。但是其有一個缺點(diǎn),就是只能同步一個值,一段代碼中只能出現(xiàn)一個Atomic的變量,多于一個同步無效。因?yàn)樗荒茉诙鄠€Atomic之間同步。? 2.Linux學(xué)習(xí)曲線: ????學(xué)的是紅帽的企業(yè)版本,初級學(xué)了基本的管理比如:組,用戶,磁盤,軟件安裝,各種服務(wù)的搭建及配置。高級學(xué)了:安全,集群,負(fù)載均衡,虛擬化,存儲,云計算,電子商務(wù)綜合部署。(我們的課程是這樣,但是我笨,沒學(xué)好) 3.Apache服務(wù)器虛擬目錄配置: ????<VirtualHost localhost:8086>?? ????????Alias /mazu "E:\zuma"???? # 此處配置別名 訪問時 http://localhost:8088/mazu/index.html ????????<Directory "E:\zuma"> ????????????Options FollowSymLinks ????????????????AllowOverride All ????????????????Order Deny,Allow??# 該行表示文件夾下文件可以被訪問 而Order allow,deny 表示文件不可以訪問 報403錯誤 ????????????????Allow from all ????????</Directory> ????</VirtualHost>? 4.eclipse打jar包插件 fatjar 可將依賴的jar包打入包中,較為靈活。地址 http://blog.csdn.net/jikeyzhang/article/details/4731968 5.將java注冊為windows服務(wù)的工具 ???? http://javaservice.objectweb.org/ ??注冊為linux的daemon, http://www.blogjava.net/qiyadeng/archive/2007/12/22/29171.html 6.多線程下載原理 ????多線程就是多個任務(wù)同時進(jìn)行,比如總共100M,一個線程下1-10M,一個線程下11-20M,以此類推,當(dāng)然,某一時刻還是只有一個線程在占用cpu,用時間片輪轉(zhuǎn),好像多個線程都在同時進(jìn)行,除非是雙核,那可以實(shí)現(xiàn)2個線程同時進(jìn)行,等下載完后,會把資源再拼接起來,你看迅雷每次到99.9%的時候都要停頓相對較長的時間,我個人覺得應(yīng)該是在拼接資源。 ????其實(shí)多線程下載是一個斷點(diǎn)傳輸?shù)臄U(kuò)展,斷點(diǎn)傳輸是告訴服務(wù)器要下載文件的一段到某一段的內(nèi)容,從而實(shí)現(xiàn)這次下不完,下次繼續(xù)下載的可能性,而多線程就是利用個線程同時建立多個斷點(diǎn)下載的過程,一般來說,訪問服務(wù)器獲得文件是200返回,但是斷點(diǎn)的返回狀態(tài)是206,客戶端會根據(jù)返回狀態(tài)來確定如何保持文件和服務(wù)器是否支持?jǐn)帱c(diǎn)傳輸。 7.Apache 超時相關(guān),似乎apache有必要開個專題 ????在APACHE的httpd.conf中,KeepAlive指的是保持連接活躍,類似于Mysql的永久連接。 ???? ????換一句話說,如果將KeepAlive設(shè)置為On,那么來自同一客戶端的請求就不需要再一次連接,避免每次請求都要新建一個連接而加重服務(wù)器的負(fù)擔(dān)。????

????KeepAlive的連接活躍時間當(dāng)然是受KeepAliveTimeOut限制的。如果第二次請求和第一次請求之間超過KeepAliveTimeOut的時間的話,第一次連接就會中斷,再新建第二個連接。???

????所以,一般情況下,圖片較多的網(wǎng)站應(yīng)該把KeepAlive設(shè)為On。但是KeepAliveTimeOut應(yīng)該設(shè)置為多少秒就是一個值得討論的問題了。

????如果KeepAliveTimeOut設(shè)置的時間過短,例如設(shè)置為1秒,那么APACHE就會頻繁的建立新連接,當(dāng)然會耗費(fèi)不少的資源;反過來,如果KeepAliveTimeOut設(shè)置的時間過長,例如設(shè)置為300秒,????????

????那么?APACHE中肯定有很多無用的連接會占用服務(wù)器的資源,也不是一件好事。???

????所以,到底要把KeepAliveTimeOut設(shè)置為多少,要看網(wǎng)站的流量、服務(wù)器的配置而定。???

????其實(shí),這和MySql的機(jī)制有點(diǎn)相似,KeepAlive相當(dāng)于mysql_connectmysql_pconnect,KeepAliveTimeOut相當(dāng)于wait_timeout。?

????# Timeout: The number of seconds before receives and sends time out.

????#Timeout:接收和發(fā)送數(shù)據(jù)的超時設(shè)置,秒數(shù)

????比如Timeout=n 秒,是不是說,比如一個http的tcp連接建立好后,服務(wù)器端最多等待n秒,如果這n秒鐘客戶端沒有發(fā)來請求,服務(wù)器端會斷開連接?

8.eclipse中的refactor工具 ????Push Down 和 Pull Up,分別實(shí)現(xiàn)將類方法或者屬性從一個類移動到其子類或父類中。 9.linux最大線程數(shù) http://hi.baidu.com/dburu/blog/item/f4a61ffae4403d8059ee90bb.html ????幾個命令: ????????查看最大線程數(shù):cat /proc/sys/kernel/threads-max ????????ulimit -a ???????? 10.Node.js的應(yīng)用場景: ????但這些場景均不是Node所擅長的。Node更擅長處理體積小的請求以及基于事件的I/O,使用Node解決客戶端和服務(wù)器之間的快速溝通,使用表單提交將大量的數(shù)據(jù)發(fā)送給服務(wù)器,使用PHP和Perl來處理重型數(shù)據(jù)庫操作以及動態(tài)HTML頁面的生成。使用Node運(yùn)行于服務(wù)器端來處理體積不大的請求。不管是采用Rails還是Spring以及各式各樣的服務(wù)端容器,只要按需索取即可。一定要明白你需要解決的問題是什么,基于此采取最佳解決方案,而不是基于你當(dāng)下所掌握的技能來解決遇到的問題。   Node的簡單的初衷   學(xué)習(xí)Node可能會有些吃力,但是非常值得的。為什么?因?yàn)槟阏趯で蠡贘avaScript的web應(yīng)用的解決方案。這意味著你已有的JavaScript編程技能不會丟掉,當(dāng)你需要使用PHP或者Perl時,你必須重新學(xué)習(xí)一門新的語言,而Node不必如此大動干戈。學(xué)習(xí)新語言帶來的問題比學(xué)習(xí)他們帶來的好處要大的多。   學(xué)習(xí)Node所面臨的挑戰(zhàn)是,你需要更加活躍思維,將程序拆成低耦合的小片段,然后像組裝數(shù)組一樣的組裝他們。但Node和基于事件的I/O并不能解決所有問題,但確定的是,很多關(guān)鍵問題,只能依靠Node來解決。 11.精而不散 ????當(dāng)你越來越深入你的編程時,你會發(fā)現(xiàn)你不必每個工具、API和所使用的框架都達(dá)到精通。將刀用在刀刃上,不要將錘子當(dāng)成鉆頭來使用。了解每個工具所適用的場景和能解決的問題,然后找到這個工具的最適合的應(yīng)用場景。如果你想變成超人式的通才(程序員往往什么都想知道),你離“專家”也就越來越遠(yuǎn),所謂專家,就是指在一兩個方面達(dá)到非常精通。當(dāng)然,每個老板都希望能找到超人式的通才,但這種人往往可遇不可求。 12.思科、華為等設(shè)備基本配置大全(強(qiáng)烈推薦) ???? http://down.51cto.com/data/339087# 13.java編碼規(guī)范: ????注釋規(guī)范: ????① 代碼的版權(quán)信息。 ????② 類描述信息,描述類的主要職責(zé)和用處。 ????③ 方法描述信息,描述方法是做什么的,如何調(diào)用,最好給出調(diào)用代碼示例。 ????④ JavaDoc tags ,用來生成 Html 形式的 API 文檔 ????⑤ 內(nèi)部實(shí)現(xiàn)注釋,用于描述復(fù)雜的算法,長方法,從為什么要這么做角度去 描述? ???? ????1)盡可能在類描述中加入代碼調(diào)用示例,使用<pre></pre>標(biāo)記,提示JavaDoc 工具不要改變格式.? ????2)使用@deprecated 廢棄方法,不要刪掉它。? ????3)對一些基本數(shù)據(jù)類型和不太可能通過繼承進(jìn)行擴(kuò)展的類,應(yīng)聲明為final,提高效率。? ????4)每個方法不超過25行 ????5)里氏代換原則是繼承復(fù)用的基石。? ????6)編寫代碼前,先編寫注釋(可以認(rèn)為是偽代碼) ,先想后寫 ????7) ????8) ????9) ????10) ????11) ????12) ????13) ????14) ????15) ????16) ????17) ????18) ????19) ????20) 14.泛型方法簽名相同,返回值相同,編譯不通過,原因是是jvm支持簽名相同,返回值相同的方法。 ???泛型方法簽名相同,返回值不同,編譯可通過,原因是是jvm支持簽名不同,返回值相同的方法,只是java語法不支持,但是通過泛型又可以。 http://topic.csdn.net/u/20090912/22/faeba87b-25e8-4110-bc1b-791a8aca78e6.html 15.if(1>2) ????String a = "1"; //編譯錯誤 ????原因:java語法限制,if后面要跟一個statement,而一個變量的聲明卻不能算作是一個statement,所以無法通過。 ????建議:所有if語句都用{}包圍 16.form提交主要有下面3種方式:
????application/x-www-form-urlencoded:窗體數(shù)據(jù)被編碼為名稱/值對。這是標(biāo)準(zhǔn)的編碼格式。這是默認(rèn)的方式
????multipart/form-data:窗體數(shù)據(jù)被編碼為一條消息,頁上的每個控件對應(yīng)消息中的一個部分。二進(jìn)制數(shù)據(jù)傳輸方式,主要用于上傳文件
????text/plain:窗體數(shù)據(jù)以純文本形式進(jìn)行編碼,其中不含任何控件或格式字符。
17.REST的優(yōu)點(diǎn)
可以利用緩存Cache來提高響應(yīng)速度
通訊本身的無狀態(tài)性可以讓不同的服務(wù)器的處理一系列請求中的不同請求,提高服務(wù)器的擴(kuò)展性
瀏覽器即可作為客戶端,簡化軟件需求
相對于其他疊加在HTTP協(xié)議之上的機(jī)制,REST的軟件依賴性更小
不需要額外的資源發(fā)現(xiàn)機(jī)制
在軟件技術(shù)演進(jìn)中的長期的兼容性更好
18.servlet轉(zhuǎn)發(fā)和重定向的底層實(shí)現(xiàn)區(qū)別 ????sendRedirect???轉(zhuǎn)發(fā)? : 實(shí)際上指定的是瀏覽器的location,因此無論是不是絕對路徑,最后都要被轉(zhuǎn)化為絕對路徑的形式, ???????????????????????????對于參數(shù)的傳遞只通過URL。 ????forward????????重定向:?實(shí)際上通過轉(zhuǎn)發(fā)流完成。服務(wù)端對client的發(fā)送數(shù)據(jù)的過程是通過先將數(shù)據(jù)輸出到緩沖區(qū),然后將緩沖區(qū)發(fā)送到 ???????????????????????????client,合適緩沖區(qū)會發(fā)送呢?三種情況: ???????????????????????????1).緩沖區(qū)滿。2).request請求完成。3).程序調(diào)用flush等方法。 ??????????????????????????????????????????????????????如果在<JSP:FORWORD>之前有很多輸出, 前面的輸出已使緩沖區(qū)滿,將自動輸出到客戶端, ???????????????????????????那么這種重定向方式將不起作用,這一點(diǎn)應(yīng)該特別注意。??? 19.java序列化的到底是什么 ??????請記住序列化機(jī)制只保存對象的類型信息,屬性的類型信息和屬性值,和方法沒有什么關(guān)系,你就是給這個類增加10000個方法,序列化內(nèi)容也不會增加任何東西,不要想當(dāng)然的臆測自己不了解的知識,動手去做! 20.Ajax是否能跨域請求,解決的辦法: ????????http://blog.csdn.net/beidou321/article/details/6490479 21.遍歷map的同時刪除元素,如何避免ConcurrentModificationException. http://www.blogjava.net/EvanLiu/archive/2008/08/31/224453.html ??? 產(chǎn)生ConcurrentModificationException的原因就是: ????執(zhí)行remove(Object o)方法之后,modCount和expectedModCount不相等了。 ????然后當(dāng)代碼執(zhí)行到next()方法時,判斷了checkForComodification(),發(fā)現(xiàn)兩個數(shù)值不等, ????就拋出了該Exception。要避免這個Exception,就應(yīng)該使用remove()方法。 ????也是同樣的原因,但沒有對應(yīng)的add()方法。 ???? ????Iterator 是工作在一個獨(dú)立的線程中,并且擁有一個 mutex 鎖。 ????Iterator 被創(chuàng)建之后會建立一個指向原來對象的單鏈索引表,當(dāng)原來的對象數(shù)量發(fā)生變化時, 這個索引表的內(nèi)容不會同步改變,所以當(dāng)索引指針往后移動的時候就找不到要迭代的對象,所以按照 fail-fast 原則 Iterator 會馬上拋出 java.util.ConcurrentModificationException 異常。所以 Iterator 在工作的時候是不允許被迭代的對象被改變的。但你可以使用 Iterator 本身的方法 remove() 來刪除對象, Iterator.remove() 方法會在刪除當(dāng)前迭代對象的同時維護(hù)索引的一致性。 22.java定時器,計劃任務(wù). Timer類的用法。 ????Timer time = new Timer(); ????timer = new Timer(); ????timer.schedule(new TimerTask() { ???????? @Override ????????public void run() { ?????????????LiveUsers lu = LiveUsers.getInstance(); ???????? } ????}, 0, 15); ????停止任務(wù): ????time.cancle(); 23.關(guān)于Servlet的多線程是如何實(shí)現(xiàn)?
  • ????Servlet是單例的,一個servlet只在此servlet被第一次請求時創(chuàng)建一個實(shí)例,而之后的操作都是由容器來管理,容器啟動多個線程調(diào)用這個servlet。
  • ????Servlet是運(yùn)行在Servlet容器中的,由Servlet容器來負(fù)責(zé)Servlet實(shí)例的查找、創(chuàng)建以及整個生命周期的管理
  • ????Servlet整個生命周期可以分為四個階段:類裝載及實(shí)例創(chuàng)建階段、實(shí)例初始化階段、服務(wù)階段以及實(shí)例銷毀階段。
  • ????
  • ????struts中action跟servlet也是同樣原理,單例,創(chuàng)建一次,使用N次。所以也要使用實(shí)例字段,除非不會改變的值。?
    ????struts2中action那就不一樣了,他為每次請求都創(chuàng)建一次,使用一次,創(chuàng)建一次。?所以他可以把頁面上表單寫成自己實(shí)例字段。接受攔截器值注入。
24.servlet的執(zhí)行流程:(原理) ????servlet的功能離不開容器的支持。當(dāng)web服務(wù)器(如apache)接收到一個http請求的時候,將請求交給servlet容器(通常是tomcat等),tomcat會對其請求的 url進(jìn)行解析并根據(jù)web.xml中的配置關(guān)聯(lián)到對應(yīng)的servlet,同時將request和response對象交給他(request對象是在何時被封裝的?)。然后就可以獲取請求參數(shù),并將返回信息封裝到response中,返回到客戶端,一旦請求處理完畢,容器就會刷新response對象,并將控制權(quán)交給web服務(wù)器。 ???? 25.Strust2中request先從valuestack中取值,如果取不到在去ActionContext中取值。 26.單例模式的標(biāo)準(zhǔn)三種寫法 ???? http://www.cnblogs.com/yangchao/archive/2011/06/22/2125190.html ????注意第三種雙重檢查鎖模式,必須使用volatile關(guān)鍵字,保證線程不會從緩存中操作資源?(具體百度) 27.log4j的用法系列記錄。 rootLogger 指定日志類別 如果是debug級別則所有日志都起作用,如果是error則只有error以上有效。 28.Dao(Data Acess Object)層的異常處理 考慮以下問題:
  • DAO的公共接口中的方法是否拋出檢查過的異常?
  • 如果是的話,拋出何種檢查過的異常?
  • 在DAO實(shí)現(xiàn)類中如何處理異常?
使用DAO模式的一些處理異常的原則:
  • DAO方法應(yīng)該拋出有意義的異常。
  • DAO方法不應(yīng)該拋出 java.lang.Exception.java.lang.Exception 太一般化了。它不傳遞關(guān)于底層問題的任何信息。
  • DAO方法不應(yīng)該拋出 java.sql.SQLException.SQLException 是一個低級別的 JDBC 異常。一個DAO應(yīng)該力爭封裝JDBC而不是將JDBC公開給應(yīng)用程序的其余部分。
  • 只有在可以合理地預(yù)期調(diào)用者可以處理異常時,DAO 接口中的方法才應(yīng)該拋出檢查過的異常。如果調(diào)用者不能以有意義的方式處理這個異常,那么考慮拋出一個未檢查的(運(yùn)行時)異常。
  • 如果數(shù)據(jù)訪問代碼捕獲了一個異常,不要忽略它。忽略捕獲的異常的 DAO 是很難進(jìn)行故障診斷的。
  • 使用鏈接的異常將低級別的異常轉(zhuǎn)化為高級別的異常。
  • 考慮定義標(biāo)準(zhǔn) DAO 異常類。Spring Framework (參閱 參考資料)提供了很好的一套預(yù)定義的 DAO 異常類。
29.SSH登陸服務(wù)器,不通過ftp上傳文件的方式
  • SCP 用法:http://www.cnblogs.com/codinglog/archive/2009/11/17/1605021.html
  • 利用secureCRT自帶工具 sz 和 rz,注:大文件rar等,加上參數(shù) be 上傳如 rz -be (b表示binary)不要用ascii
  • 理工puzzty附帶的exe :pscp 多用于windows向linux傳東西 pscp file root@IP:/home
30.jersey用法整理(一周后) ????參考文章: ??????? http://blog.csdn.net/heihei0923/article/details/4791910 ????????http://xosadan.iteye.com/blog/1119235 31.三大框架基礎(chǔ)jar包都包括哪些,每個jar都是做什么的。一些common包的用處如io、loggin、dbcp等等 ???? 32.數(shù)據(jù)庫連接池原理以及解決了什么問題?使用threadlocal的意義在于什么?他們之間的聯(lián)系和區(qū)別以及分別是解決什么問題的?結(jié)合使用的意義?
  • 1. 資源重用?

    由于數(shù)據(jù)庫連接得到重用,避免了頻繁創(chuàng)建、釋放連接引起的大量性能開銷。在減少系統(tǒng)消耗的基礎(chǔ)上,另一方面也增進(jìn)了系統(tǒng)運(yùn)行環(huán)境的平穩(wěn)性(減少內(nèi)存碎片以及數(shù)據(jù)庫臨時進(jìn)程/線程的數(shù)量)。?

    2. 更快的系統(tǒng)響應(yīng)速度?

    數(shù)據(jù)庫連接池在初始化過程中,往往已經(jīng)創(chuàng)建了若干數(shù)據(jù)庫連接置于池中備用。此時連接的初始化工作均已完成。對于業(yè)務(wù)請求處理而言,直接利用現(xiàn)有可用連接,避免了數(shù)據(jù)庫連接初始化和釋放過程的時間開銷,從而縮減了系統(tǒng)整體響應(yīng)時間。?

    3. 新的資源分配手段?

    對于多應(yīng)用共享同一數(shù)據(jù)庫的系統(tǒng)而言,可在應(yīng)用層通過數(shù)據(jù)庫連接的配置,實(shí)現(xiàn)數(shù)據(jù)庫連接池技術(shù),幾年錢也許還是個新鮮話題,對于目前的業(yè)務(wù)系統(tǒng)而言,如果設(shè)計中還沒有考慮到連接池的應(yīng)用,那么…….快在設(shè)計文檔中加上這部分的內(nèi)容吧。某一應(yīng)用最大可用數(shù)據(jù)庫連接數(shù)的限制,避免某一應(yīng)用獨(dú)占所有數(shù)據(jù)庫資源。?

    4. 統(tǒng)一的連接管理,避免數(shù)據(jù)庫連接泄漏?

    在較為完備的數(shù)據(jù)庫連接池實(shí)現(xiàn)中,可根據(jù)預(yù)先的連接占用超時設(shè)定,強(qiáng)制收回被占用連接。從而避免了常規(guī)數(shù)據(jù)庫連接操作中可能出現(xiàn)的資源泄漏。一個最小化的數(shù)據(jù)庫連接池實(shí)現(xiàn):?
  • 介紹及java實(shí)現(xiàn)???? http://www.soft6.com/tech/8/89970.html
33.AES算法當(dāng)中,兩種初始化寫法導(dǎo)致結(jié)果完全不一樣的原因是什么? ????一種是指定密鑰,就是128的字符串 另一種是隨便的字符串,在初始化的時候 init(128,new SecureRandeom(key.getBytes()); 感覺上第二種可能有某種規(guī)則填充不夠位數(shù)的密鑰?但不確定 34.session當(dāng)中,多個用戶登錄問題,如何每個人用戶資料保存在其肚子的session信息中??防止信息混亂?(Session概念不清 需復(fù)習(xí)) 35.tomcat配置數(shù)據(jù)源 ????????http://www.cnblogs.com/lihuiyy/archive/2012/02/14/2351768.html 36.Integer是一種不可修改(Immutable)的數(shù)據(jù)結(jié)構(gòu) ????創(chuàng)建完畢后不能修改值。 37.幾種在<a href="">中調(diào)用javascript函數(shù)的方法區(qū)別。 ????????href="javascritp:void(0);" οnclick="youffucntion()" ????????????void是個操作符 0表示返回undefined 地址不跳轉(zhuǎn) 推薦寫法 ????????href="javascript:;" οnclick="youffucntion()" ????????????執(zhí)行了一條空的js代碼 ????????href="#" οnclick="youffucntion()" ????????????執(zhí)行后 跳到top ????????href="#" οnclick="youffucntion();return false;"
????????????執(zhí)行后 返回false 頁面不跳轉(zhuǎn) 保存在當(dāng)前位置 38.直接定義action的目標(biāo),不寫java類。相當(dāng)于一個轉(zhuǎn)發(fā) ????????<!-- 直接導(dǎo)航的的 Action 定義 --> ????????<action name="index" > ????????????<result >/jsp/login.jsp</result> ????????</action> ????十分有用,對于攔截器只攔截jsp的問題 迎刃而解。 39.struts2 標(biāo)簽中插入css屬性: ????struts2標(biāo)簽有兩個應(yīng)用css的屬性:cssClass和cssStyle。cssClass是你在css文件中創(chuàng)建的class的名稱;cssStyle是一個css格式化串(內(nèi)聯(lián)的style)。 ????使用示例如下: ?????<s:checkbox cssClass="mycheckbox" label="checkbox test" name="checkboxField1" value="aBoolean" fieldValue="true"/> ????這是css文件: ??????<style> ??????????.mycheckbox{ ????????????/* Your style here */ ??????????} ??????</style> 40.在Struts2中使用servlet?: ????我們?nèi)粝朐趕truts2中使用servlet只需要在struts2配置文件中加入一個constant即可: ????<constantname="struts.action.excludePattern"value="/YourServletPattern"/> ????注: ????????include在英語中是“包含” ????????exclude是它的反義詞 41.改變struts中的.action擴(kuò)展名 ??????<constant?name="struts.action.extension"?value="html"/>放于<struts 之后和<package 之前 42.struts2 的action實(shí)現(xiàn)SessionAware接口,獲取 session的原理。 ????原來默認(rèn)攔截器在處理過程中發(fā)現(xiàn)action實(shí)現(xiàn)了sessionaware接口,便會調(diào)用實(shí)現(xiàn)的setSession方法,將actioncontext中的session注入到目標(biāo)Action 中的session。源碼分析:http://hi.baidu.com/winters1224/blog/item/7299e907c2681798d43f7cc2.html 43.遠(yuǎn)程登錄linux的shell,中文亂碼問題 ????vi /etc/sysconfig/i18n 改為: LANG="zh_CN.GB18030"? LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"? SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"? SYSFONT="lat0-sun16" 44.生成的.class字節(jié)碼文件 當(dāng)中一些名字中包含$之類的是什么? 45.全局?jǐn)r截器過濾非法用戶請求(未登錄等) <interceptors> <!-- 配置未登錄進(jìn)行操作的攔截Q--> <interceptor name="loginInterceptor" class="cn.redcdn.scweb.interceptor.SessionInterceptor"> </interceptor> <!-- 重新封裝一個默認(rèn)的攔截器棧Q --> <interceptor-stack name="myDefaultStack"> <interceptor-ref name="loginInterceptor" /> <interceptor-ref name="defaultStack" /> </interceptor-stack> </interceptors> <!-- 為這個包設(shè)置默認(rèn)的攔截器Q--> <default-interceptor-ref name="myDefaultStack" /> <!-- 設(shè)置全局的返回Z--> <global-results> <result name="gotologin">/index.jsp</result> </global-results> 如果要不攔截某個action那么,在某一個action中加入默認(rèn)的攔截器就可以覆蓋全局?jǐn)r截器。?? <action name="regist" class="cn.redcdn.scweb.action.RegistAction"> <interceptor-ref name="defaultStack"></interceptor-ref> <result name="success">/login_complete.jsp</result> <result name="error"></result> </action> 46.threadlocal是什么?用處及用法?綁定數(shù)據(jù)庫連接的意義?弊端? 47.struts2 action 返回類型 result 有幾種 。默認(rèn)的不寫是的是什么類型。參數(shù)傳遞相關(guān)? 48.默認(rèn)的action,當(dāng)訪問不存在action時候就會訪問默認(rèn)action。否則會報一堆錯誤。 http://archive.cnblogs.com/a/2125048/ 49. 一個典型的log4j配置

log4j.rootLogger=DEBUG?
#將DAO層log記錄到DAOLog,allLog中 ?使用時可以get("DAO")
log4j.logger.DAO=DEBUG,A2,A4?
#將邏輯層log記錄到BusinessLog,allLog中?
log4j.logger.Businesslog=DEBUG,A3,A4?

#A1--打印到屏幕上?
log4j.appender.A1=org.apache.log4j.ConsoleAppender?
log4j.appender.A1.layout=org.apache.log4j.PatternLayout?
log4j.appender.A1.layout.ConversionPattern=%-5p [%t] %37c %3x - %m%n?

#A2--打印到文件DAOLog中--專門為DAO層服務(wù)?
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender?
log4j.appender.A2.file=DAOLog?
log4j.appender.A2.DatePattern='.'yyyy-MM-dd?
log4j.appender.A2.layout=org.apache.log4j.PatternLayout?
log4j.appender.A2.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS}?
method:%l%n%m%n?

#A3--打印到文件BusinessLog中--專門記錄邏輯處理層服務(wù)log信息?
log4j.appender.A3=org.apache.log4j.DailyRollingFileAppender?
log4j.appender.A3.file=BusinessLog?
log4j.appender.A3.DatePattern='.'yyyy-MM-dd?
log4j.appender.A3.layout=org.apache.log4j.PatternLayout?
log4j.appender.A3.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS}?
method:%l%n%m%n?

#A4--打印到文件alllog中--記錄所有l(wèi)og信息?
log4j.appender.A4=org.apache.log4j.DailyRollingFileAppender?
log4j.appender.A4.file=alllog?
log4j.appender.A4.DatePattern='.'yyyy-MM-dd?
log4j.appender.A4.layout=org.apache.log4j.PatternLayout?
log4j.appender.A4.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS}?
method:%l%n%m%n

50. 配置struts.xml改變時 自動reload

  struts.properties配置文件

  #指定Struts2處于開發(fā)狀態(tài)

  struts.devMode? =? false

  #指定Struts 2 配置文件改變后,?? Web框架是否重新加載Struts 2配置文件

  struts.configurations.xml.reload = true

開發(fā)狀態(tài)是什么: Once you set this attribute to true Struts will check the config file for every request. This will save lot of development time as you need not restart server for struts.xml changes.? ? ??

轉(zhuǎn)載于:https://www.cnblogs.com/biGpython/archive/2012/03/24/2415647.html

總結(jié)

以上是生活随笔為你收集整理的知识点记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。