Time of Update: 2018-07-26
1.Java記憶體模型 參考:http://www.infoq.com/cn/special-column/articles/ Java記憶體模型專欄 2.volatile關鍵字的理解 Java 語言中的 volatile 變數可以被看作是一種 “程度較輕的 synchronized”;與synchronized 塊相比,volatile
Time of Update: 2018-07-26
首先,多線程的實現方式兩種:一種是繼承Thread類,另一種是實現Runnable介面。 那麼這兩種方法的區別何在。該如何選擇。 第一:他們之間的關係 查看J2EE的API看到 Thread類中: public class Thread extends Object implements Runnable Runnable介面:public interfaceRunnable
Time of Update: 2018-07-26
2018年4月3日 Java語言中數組必須先初始化,然後才可以使用。所謂初始化就是為數組的數組元素分配記憶體空間,並為每個數組元素附初始值。 注意:數組完成初始化後,記憶體空間中針對該數組的各個元素就有個一個預設值: 基礎資料型別 (Elementary Data Type)的整數類型(byte、short、int、long)預設值是0;
Time of Update: 2018-07-26
一、lambda含義 lambda表示數學符號“λ”,電腦領域中λ代表“λ演算”,表達了電腦中最基本的概念:“調用”和“置換”。在很多動態語言和C#中都有相應的lambda文法,這類文法都為了簡化代碼,提高運行效率。 二、lambda 項目的背景,參考這裡。 無論是物件導向語言還是函數式語言,基本數值都可以被動態封裝入程式動作:物件導向語言通過“方法”,函數式語言通過“函數。
Time of Update: 2018-07-26
springData整合JPA的異常,基於maven 出現異常: java.lang.UnsupportedClassVersionError: org/hibernate/HibernateException : Unsupported major.minor version 52.0 (unable to load class org.hibernate.HibernateException) 詳細異常如下:
Time of Update: 2018-07-26
1. 之前的項目代碼換了一個電腦,再重新跑的時候報了莫名其妙的錯誤,大概有下面一些錯誤資訊 2017-11-27 11:32:01 ERROR [RMI TCP Connection(5)-127.0.0.1] org.springframework.web.context.ContextLoader 356 - Context initialization failedjava.lang.NoSuchMethodError:
Time of Update: 2018-07-26
java.lang.IllegalArgumentException: Parameter with that position [1] did not
Time of Update: 2018-07-26
join() 當線程t1調用t2.join()後,t1保持鎖對象,等待t2執行完,t1進入可執行狀態; package thread;public class JoinRunnable implements Runnable {Thread t1 ,t2;public JoinRunnable() {t1 = new Thread(this);t1.setName("t1");t2 = new
Time of Update: 2018-07-26
tomcat運行項目時,有一個請求過去後,後台報這樣的錯java.lang.IllegalArgumentException: Request header is too large 原因:要求標頭超過了tomcat的限值。本來post請求是沒有參數大小限制,但是伺服器有自己的預設大小。 解決: 處理辦法:在server.xml中 <Connector connectionTimeout="20000"
Time of Update: 2018-07-26
在maven項目,在整合spring和mybatis在執行資料庫操作的時候報出了: java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer; at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:85)
Time of Update: 2018-07-26
在 Spring 中配置了一個 WebLogic 的 Data Source,然後在 JUnit Test 類中直接初始化載入 applicationContext.xml,當Spring Framework 初始化該 Data Source 時,出現如下的異常資訊:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined
Time of Update: 2018-07-26
前言 折半插入排序演算法是一種排序的演算法,它通過“折半尋找”在比較區尋找插入點的位置,這樣可以減少比較的次數,移動的次數不變,時間複雜度仍為 O(n^2); 演算法描述 將第一個元素當做一個尋找區的元素,剛開始這個尋找區僅含ary[0](第一個元素) 取出下一個元素(這裡迴圈擷取,從第二個元素開始),和尋找區的中間元素(半查法)比較。註:尋找區裡面的元素都排好序了
Time of Update: 2018-07-26
使用Java解析svg檔案,以及將擷取的Element轉換成String 廢話不多說,直接上代碼,沒有幾行代碼,相信大家都能看懂。 // 解析svg public static String parseSVG(String svgURI) throws Exception { File file = new File(svgURI); String parser = XMLResourceDescriptor.getXMLParserClassName(
Time of Update: 2018-07-26
項目中需要和第三方平台介面,加了來源IP鑒權功能,測試時發現沒有問題,但是部署以後發現存在問題,一直鑒權不通過,一群人抓瞎。 我找到那塊的代碼,跟了一遍流程發現邏輯沒有啥問題,但是最終的結果卻還是鑒權不通過,實在有些詭異。其基本邏輯為先取得配置的IP列表,然後通過request.getRemoteAddr()取得用戶端的IP地址,做鑒權和校正,邏輯沒問題,那麼肯定是request.getRemoteAddr()出了問題,google下,發現有人遇到類似的問題。
Time of Update: 2018-07-26
1.替換img地址 /** * 替換img地址 * @param str -- 前台svg字串 * @return */private String transferImgPath(HttpServletRequest request,String str) {System.out.println(str);String requestURL = request.getRequestURL().toString();String requestURI =
Time of Update: 2018-07-26
在java中,通過反射實列化介面,是比較常見的一部分.其中做的比較好的架構有spring 首先得有個介面,定義: package com.tbs.proxy;import java.util.Map;import org.apache.ibatis.annotations.Param;public interface IExample {public void setName(@Param("nnnnn")String name,int b);
Time of Update: 2018-07-26
Java網路編程總結 本文主要對java網路編程Socket(通訊端)介面的使用做詳細的介紹和使用。 一.網路編程中兩個主要的問題 一個是如何準確的定位網路上一台或多台主機,另一個就是找到主機後如何可靠高效的進行資料轉送。 在TCP/IP協議中IP層主要負責網路主機的定位,資料轉送的路由,由IP地址可以唯一地確定Internet上的一台主機。 而TCP層則提供面嚮應用的可靠(tcp)的或非可靠(UDP)的資料轉送機制,
Time of Update: 2018-07-26
之前一直沒有試過讀取檔案來加入使用者字典,用的都是 NLPIR_AddUserWord手工添加使用者字典,但是這個方法比較適合添加個別詞,詞一多就不太適合 NLPIR提供了一個NLPIR_ImportUserDict(byte[]sPath)匯入使用者詞典的介面。試著用了下,發現都沒有匯入成功。 原來的版本 新版(ICTCLAS2013)應該改為
Time of Update: 2018-07-26
java日期,時間比較 使用joda包 日期比較 String beginDate = "2017/07/05";String endDate = "2017/09/04";System.out.println(new DateTime(beginDate).isAfter(new DateTime(endDate))); // 結果為falseString beginDate = "2017/09/04";String
Time of Update: 2018-07-26
Intellij IDEA一個賊優秀智能的IDE,自從eclipse轉idea,就不想再使用eclipse了,不是一般的智能,其中一個特點就是它的熱部署,修改了後台代碼後可以熱部署,不需要重新啟動伺服器。但是此前使用時多次熱部署之後總是會報記憶體溢出的錯誤:java.lang.OutOfMemoryError: PermGen space 問題重現 錯誤如圖: 有時候甚至系統報錯:(運氣好錯誤能夠重現) 最後關閉伺服器時可以看到有錯誤記錄檔: