原创 關於Java內存溢出問題

最近開發的時候發現了一個list.add()方法導致內存溢出的問題,花了一上午才搞定,想想還是有必要寫下來分享一下。 首先說一下導致內存溢出的原因: 1、內存中加載的數據量過於龐大,如一次從數據庫取出過多數據; 2、集合類中

原创 Struts2文件下載(版本更新)

雖然通過超鏈的href屬性直接指定要下載的資源也可以實現文件下載,但遇到中文文件名、下載前的權限檢查這些問題,超鏈都處理不了,還得Struts2來進行文件下載。採用Struts2提供的stream結果類型來支持文件下載。在stre

原创 synchronized同步鎖

synchronized是Java中的關鍵字,是一種同步鎖。它修飾的對象有以下幾種: 1. 修飾一個代碼塊,被修飾的代碼塊稱爲同步語句塊,其作用的範圍是大括號{}括起來的代碼,作用的對象是調用這個代碼塊的對象; 2. 修飾一個方法,被

原创 jsonp解決跨域訪問受限問題

json和jsonp是兩個很容易混淆的概念,再介紹跨域訪問之前簡單介紹一下這兩個概念吧。 1、json是一種應用廣泛,而且很簡單的數據描述格式,或者說是規則。 優點:1、基於純文本,跨平臺傳遞極其簡單; 2、Java

原创 採用Ant打包

好久沒更博了,最近研究了一下Ant打包機制,作一下記錄。首先簡要介紹一下Ant。 Ant是一個基於Java的生成(在軟件開發中用來將源代碼和其他輸入文件轉換爲可執行文件的形式)工具,最常用的就是用Ant打包war文件。在使用Ant打包之

原创 jQuery的defer對象

jQuery的deferred對象詳解 一、什麼是deferred對象? 開發網站的過程中,我們經常遇到某些耗時很長的javascript操作。其中,既有異步的操作(比如ajax讀取服務器數據),也有同步的操作(比如遍歷一個大型數組),

原创 websocket與Java實例

websocket是H5裏新增的一種技術,主要用於web客戶端與服務端之間建立雙工通信通道,進行實時消息傳輸。在websocket之前,web客戶端與服務器之間傳遞消息都是基於HTTP協議,總所周知,HTTP是一種無狀態的協議,web客戶

原创 關於JavaScript中的構造函數和對象中的構造屬性

JavaScript和面嚮對象語言(例Java)一樣,在創建對象都是通過調用構造函數,但是又與面嚮對象語言有所區別。初學JavaScript時,總把函數的構造屬性和對象的構造屬性弄混淆,總結下面幾點。 1、constructor屬性始終

原创 js閉包

閉包是JavaScript中的一個難點,比較難理解。在討論閉包之前先明確幾個概念: 1、作用域:顧名思義,函數(對象)的可訪問範圍 2、執行環境:函數被調用時創建,並被推入環境棧中;函數執行完成,彈出該執行環境,把控制權返回給上一層執

原创 JavaScript 匿名函數自調

我們知道一個HTML文件在被加載的時候是從根標籤html依次往下的,在遇到link,script等標籤引入的外部資源時,下載外部資源,並執行外部資源。在js中,表達式會被立即執行,也就是說,不管是引入的外部js文件還是嵌入在html文件中

原创 Log4J使用

一、Log4j介紹 Log4j中有三個主要的組件,它們分別是 Logger、Appender和Layout Logger:日誌記錄器,設置日誌的類型(優先級),Appender的名字,一個logger可以設置多個Appender;

原创 js 右鍵彈出自定義菜單

近期在項目中有一個右鍵菜單的需求,發現很多實現都比較複雜,於是自己花了一點時間稍微研究了一下,下面提供一個簡潔的實現方法。 js聲明部分: //創建右鍵菜單 var epMenu={ create:function(point,

原创 js實現仿百度地圖拖動

最近在項目中需要用到仿百度地圖拖動特效,於是花點事件研究了一下,發現通過scrollLeft和scrollTop方法改變滑塊的位置可以實現類似效果,下面把研究結果拿出來分享一下。 <div id="emap-panel" style="p

原创 JavaScript this指針

this指針,在Java EE等開發語言中叫做“上下文對象”,但是在JavaScript中情況完全不同,不能把Java EE中對this的理解帶到JavaScript中來。 言歸正傳,在JavaScript中,this代表函數運行時,自

原创 加載並解析XML DOM

前端開發中經常會遇見瀏覽器兼容性問題,爲此,在寫業務邏輯之前進行瀏覽器類型判斷很有必要,下面給出幾種常用遊覽器判斷: function isIE() { if(navigator.userAgent.indexOf("MSIE")