JavaWeb高性能开发(一)
今日要聞:
淘寶刪差評產業鏈
在你給出“差評”“中評”后不久,有人會偷偷登錄你的淘寶賬戶,把你之前給過的評價刪除或改成“好評”。而這種人就是“職業修改差評師”
案發前,李駿杰在杭州市濱江區一家科技公司上班。5 人當中,他主要負責通過 QQ 在網上聯系需要修改“中評”和“差評”的淘寶賣家,改一個評價收費 260 元。
李駿杰把這些信息傳給他的下線,即在廣東打工的黃福權、王鳳昭,黃、王二人再把信息反饋給在江西某市公安系統工作的胡榕,由他利用自己的職務便利查明買家的身份證信息,之后把信息以每條 15 元至 25 元不等的價格賣給黃、王二人。
收到胡榕給的買家身份證信息后,黃、王二人以每條 15 元的價格讓河北石家莊人董偉“PS”出身份證復印件,再把復印件以每件 45 元的價格轉賣給李駿杰。有了買家的身份證復印件,李駿杰就可以利用技術手段,冒充淘寶買家身份騙取該買家的淘寶賬號并重置密碼,最后非法登錄淘寶評價系統刪除或修改“中評”“差評”。
?? “追求‘好評’固然好,但 100% 的‘好評’大多是不符合事實的。”一位“資深”淘寶用戶對記者說,“即便是買家出于個人意愿給出‘差評’,賣家也會要求對方改成‘好評’,或以返利來誘惑,或用謾罵、威脅等卑劣手段。說到底,是淘寶賣家對買家‘差評’的過度在意催生了‘職業修改差評師’和‘惡意差評師’的存在。”這位淘寶用戶總結分析說。
?
今日英文:
http://docs.oracle.com/cd/E11882_01/java.112/e16548/apxref.htm#JJDBC28913
Oracle jdbc 轉義語法(SQL92):
關閉轉義可以提高性能? stmt.setEscapeProcessing(false);
日期字面量? {d '1995-10-22'} 會自動轉為數據庫類型
時間字面量? {t '05:10:45'} 或 {t '14:20:50'} 自動轉24小時制
或? {ts '1982-01-23 12:00:00'}
一般來說 Oracle類型oracle.sql.DATE會自動映射為java.sql.Timestamp 這是正確的,不要修改
??? 設置mapDateToTimestamp=true 可以映射為java.sql.Date 但會有精度下降
??? 特殊的,如果這個Date列恰好有個索引,要用特殊的setObject,無論setDate還是setTimestamp結果都不正確(略)
對’_’和’%’轉義:
WHERE ename LIKE '&_%' {ESCAPE '&'} 表示以下劃線開頭的任意字串 WHERE ename LIKE '\\_%' {escape '\\'} 同上Oracle不支持轉義Outer Join寫法, 如 FROM {OJ dept LEFT OUTER JOIN emp ON dept.deptno = emp.deptno 應寫為 FROM emp b, dept a WHERE a.deptno = b.deptno(+)調用存儲過程? { call procedure_name (argument1, argument2,...) }
調用函數? { ? = call procedure_name (argument1, argument2,...) }
driver.processSqlEscapes("{ts '1998-10-22 16:22:34'}") 將輸出 TO_TIMESTAMP ('1998-10-22 16:22:34', 'YYYY-MM-DD HH24:MI:SS.FF')Oracle存儲過程不支持Boolean類型的參數和返回值,通常要自己轉為int或其他來判斷
Oracle不支持java.sql.SQLWarning,應該用java.sql.SQLException
DDL語句應該用Statement執行,如果用preSta或callSta則只會在首次執行
SELECT name FROM emp WHERE id = :EmpId 命名參數可以用setXXXAtName?技術區:
JavaWeb高性能開發(一)
事實證明,與其消耗大量時間在服務器端,在前端進行的優化更易獲得用戶的肯定。
前端的高性能部分,主要是指減少請求數、減少傳輸的數據以及提高用戶體驗,在這個部分,圖片的優化顯得至關重要。
1.減少圖片的大小,可以明顯的提高性能,而對于已有圖片,要想減少圖片的大小,只能改變圖片的格式,這里推薦的是 PNG8 的格式
2.CSS Sprites 是一個吸引人的技術,它其實就是把網頁中一些背景圖片整合到一張圖片文件中,再利用 CSS 的“background-image”,“background- repeat”,“background-position”的組合進行背景定位,background-position 可以用數字能精確的定位出背景圖片的位置。
很好地減少網頁的 HTTP 請求,從而大大的提高了頁面的性能
由于圖像合并后基本信息不用重復,那么多張圖片合并成 1 張圖片的字節往往總是小于這些圖片的字節總和。
只需對一張集合的圖片上命名就可以了,不需要對每一個小元素進行命名,從而提高了網頁的制作效率
只需要在一張或少張圖片上修改圖片的顏色或樣式,整個網頁的風格就可以改變
圖片的請求數就被縮減到 1 個。其他的請求都可以用到本地緩存
3.有時候,圖片數據太多,一些公司的解決方法是將圖片數據分到多個域名的服務器上
一方面是將服務器的請求壓力分到多個硬件服務器上
另一方面,是利用了瀏覽器的特性。一般來說,瀏覽器對于相同域名的圖片,最多用 2-4 個線程并行下載。不同瀏覽器的并發下載數,都是不同的
多域名的下載固然很好,但是太多域名并不太好,一般在 2-3 個域名下載就差不多
4.要是圖片的下載不用向服務器發出請求,而可以隨著 HTML 的下載同時下載到本地那就太好了
而目前,瀏覽器已經支持了該特性,我們可以將圖片數據編碼成 BASE64 的字符串,使用該字符串代替圖像地址
從現實我們接觸的角度看,如一些在線 HTML 編輯器,里面的小圖標,如笑臉等,都使用到了 BASE64 編碼,因為它們非常小,數量多,BASE64 可以幫助網頁減少圖標的請求數,提高效率
5.壓縮是一個不錯的選擇,而 HTTP 協議支持 GZIP 的壓縮格式,服務器響應的報頭包含 Content-Encoding: gzip
<Connector port ="80" maxHttpHeaderSize ="8192" maxThreads ="150" minSpareThreads ="25" maxSpareThreads ="75" enableLookups ="false" redirectPort ="8443" acceptCount ="100" connectionTimeout ="20000" disableUploadTimeout ="true" URIEncoding ="utf-8" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml" />在高并發的情況,多個 Tomcat 服務器之前,需要采用反向代理的技術,提高并發度,而目前比較火的反向代理是 Nginx
gzip on; gzip_min_length 1000; gzip_buffers 4 8k; gzip_types text/plain application/x-javascript text/css text/html application/xml;6.預加載原理是在用戶查看一張圖片時,就將下一張圖片先下載到本地
而懶加載則是在用戶需要的時候再加載。當一個網頁中可能同時有上百張圖片,而大部分情況下,用戶只看其中的一部分
Lazy Load Plugin for jQuery 是基于 JQuery 的懶加載組件
?
非技術:
如何把技術講得通俗易懂:
1.先做市場分析。想明白以下問題:
- 你的受眾是誰?
 - 他們具備怎樣的知識儲備?
 - 你要兜售的技術解決了他們的什么問題?(向老板解釋技術問題也算一種兜售)
 - 有沒有現成的技術方案解決類似的問題?
 - 如果沒有現成的同類方案,為什么沒有?是因為你對問題定義不清晰,還是不存在這種需求?
 - 如果有現成的同類方案,那你兜售的技術和已有解決方案相比較,優缺點如何?
 
2.包裝你的「產品」。可選的方法有很多,
比如假設你文學造詣不錯,且你對受眾的心理有相對精準的把握,大可以講個漂亮的故事
文字功底一般,其實也不要緊,那咱就不講故事,講道理。把核心的概念按照合適的方式組織起來,用通俗易懂的語言去描述
3.分清主次。判斷哪些部分是重要的,應當著重講;哪些部分是次要的,時間有限或者為了減少復雜度可以忽略不講
4.條理清晰、層次分明。能否從錯綜復雜的關系和概念網絡中劃清邊界取決于你自己的抽象能力。
就好像寫程序一樣,有的人寫一個方法/函數四五屏都不夠用,而大牛的寫法常常是分解為若干不相關的子方法/函數。
5.還得根據實際情況時不時抖個機靈、講個笑話,把出竅的靈魂給捉回來
6.多用簡單短句,少用復雜長句
7.多用比喻。我覺得,無論是否技術,這都能得到不錯的效果。
轉載于:https://www.cnblogs.com/gcg0036/p/4268979.html
總結
以上是生活随笔為你收集整理的JavaWeb高性能开发(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: windows 安装 win32 win
 - 下一篇: static_cast 和 reinte