Time of Update: 2018-12-05
使用Java,double 進行運算時,經常出現精度丟失的問題,總是在一個正確的結果左右偏0.0000**1。 特別在實際項目中,通過一個公式校正該值是否大於0,如果大於0我們會做一件事情,小於0我們又處理其他事情。 這樣的情況通過double計算出來的結果去和0比較大小,尤其是有小數點的時候,經常會因為精度丟失而導致程式處理流程出錯。 所以一般對double類型進行運算時,做好對結果進行處理,然後拿這個值去做其他事情。 目前總結如下: /**
Time of Update: 2018-12-05
先記錄下收集的。 (1)修改tomcat的catalina.sh檔案,配置記憶體 (2)gcc的問題,後來我們降級了發現也沒用,這個和jvm沒什麼關係 (3)建立個新使用者,試了也沒用 (4)許可權的問題, 試了上面四種方法都沒解決,大家如果出現這種問題可以用以上四種辦法試試 後來在網上有個人說,是oracle的環境變數影響了jdk
Time of Update: 2018-12-05
1.首先,我們將下載到得Tomcat伺服器解壓到任意目錄,我這裡使用的版本是apache-tomcat-5.5.23,解壓到E:\盤根目錄2.然後我們要配置Tomcat的環境變數,需要配置兩個變數: 配置的地方:在我的電腦上點右鍵--->屬性--->進階--->環境變數 可以在使用者變數中添加,也可以在系統變數中添加。我這裡添加到使用者變數。1>添加JAVA_HOME這裡的變數值是安裝JDK的路徑,注意,這裡路徑到根目錄即可。 添加到環境變數 2>
Time of Update: 2018-12-05
本案例主要用AJAX技術實現無重新整理登入 login.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html> <head> <title>用AJAX技術實現無重新整理登入</title> <script type="text/javascript">var XMLHttpRequest =
Time of Update: 2018-12-05
Windows XP Professional SP2 IIS伺服器安裝:1、 首先下載IIS V5.1安裝包,XP系統只能安裝IIS V5.1版本,其它版本安裝不成功;2、 開啟—運行—cmd,輸入:EXPand d:\i386\iis.dl_(加空格)c:\Windows\system32\setup\iis2.dllEXPand d:\i386\iis.in_(加空格)c:\Windows\inf\iis2.inf註:其中d:\i386是IIS V5.1解壓包的根目錄3、 開啟控制台—
Time of Update: 2018-12-05
JDOM操作XML Java + XML = JDOM ! 這就是JDOM設計者的目標。如果你曾經使用過煩人的SAX或是DOM來處理XML,你就會知道為什麼要有JDOM或者是JAXB。在今年(2002)的JavaOne會議上JDOM的主要創始人Jason Hunter有一篇精彩的演講介紹了JDOM技術,題目就是JDOM Makes XML Easy。 獲得並安裝JDOM 在http://jdom.org/可以下載JDOM的最新版本。以JDOM
Time of Update: 2018-12-05
eclipse的java的class檔案的反編譯工具:jadclipse. 一:下載jad到http://www.varaneckas.com/jad 下載適合你的版本的jad。二:下載jadclipse到http://sourceforge.net/projects/jadclipse/ 下載jadclipse。三:安裝配置1,解壓下載的jad。我用的是windows版本。解壓得到jad.exe檔案,copy到您的jdk的bin目錄下即可。2,將下載得到的net.sf.jadclipse_3
Time of Update: 2018-12-05
顧名思義,ThreadLocal是為了支援thread-local的變數,它有這樣的特點:對於同一個線程來說,ThreadLocal是全域的,你可以在這個線程的任何地方得到這個ThreadLocal的值。比如在函數A中設定ThreadLocal的值,然後在函數B中得到這個值。對於別的線程來說,ThreadLocal是局部的,你不能這樣做:線上程A中設定ThreadLocal的值,然後線上程B中得到這個值。ThreadLocal類只有三個成員函數:protected Object
Time of Update: 2018-12-05
以前定時任務一直用Timer這個類,後來發現ScheduledThreadPoolExecutor功能更強大,我們先看個簡單的樣本,然後再看看API中的描述:這個定時任務是我的項目中,每隔5分鐘去檢查裝置的線上狀態的。public class CheckDeviceStateExcuter {private static final Log log = LogFactory.getLog(CheckDeviceStateExcuter.class);private static final
Time of Update: 2018-12-05
我之前寫過一篇談DCL的文章,最近又收到一個問題,本想直接回複,但我又不想再看原來寫的文章,那些順序分析其實很繞。這次我不會直接分析順序,而是從基礎概念講起,希望大家能看得輕鬆一些。如果你搜尋網上分析dcl為什麼在java中失效的原因,都會談到編譯器會做最佳化云云,我相信大家看到這個一定會覺得很沮喪、很無助,對自己寫的程式很沒信心。我很理解這種感受,因為我也經曆過,這或許是為什麼網上一直有人喜歡談dcl的原因。如果放在java5之前,從編譯器的角度去解釋dcl也無可厚非,在java5的JMM(記
Time of Update: 2018-12-05
下面的代碼輸出什嗎?public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } private static java.lang.reflect.Field valueField; static { try { valueField =
Time of Update: 2018-12-05
系統:Ubuntu 10.04JDK:jdk-6u20-linux-i586.bin一.安裝JDK1.安裝JDKsudo chmod u+x jdk-6u16-linux-i586.bin sudo cp -a jdk-6u20-linux-i586.bin /opt sudo /opt/jdk-6u20-linux-i586.bin sudo rm -f /opt/jdk-6u20-linux-i586.bin 2.設定JDK環境變數 sudo gedit
Time of Update: 2018-12-05
一道HP的面試題,拿來複習下遞迴:import java.util.Stack;/** * @author gl65293 * */public class TreeTest { public static void main(String[] args) { Noder root = Noder.init(); System.out.println("DLR:"); Noder.preOrder(root);
Time of Update: 2018-12-05
上一篇博文簡要說明了Robot類的截屏API。但是沒有現成的API來產生帶滑鼠的截屏。下面給個帶滑鼠截屏的執行個體。原理就是截屏後擷取到滑鼠的位置,用java.awt.Graphics2D的.drawImage方法繪製滑鼠即可,代碼如下:public class ScreenSnapshot { public static void main(String[] args) { try { Robot robot = new Robot()
Time of Update: 2018-12-05
從設計的原則來說,類的成員變數如果設計成private,那麼我們就不能在類外部去擷取到此private變數的值。通常的做法是提供此private變數的get 和set方法。但是如果這個類沒有提供get和set方法,我們如何去擷取到這個類的private成員變數呢?比如有這麼一個類 Person:class Person{private String name =
Time of Update: 2018-12-05
沒有辦法阻止對引用的改動。 什麼是"clone"? 在實際編程過程中,我們常常要遇到這種情況:有一個對象A,在某一時刻A中已經包含了一些有效值,此時可能會需要一個和A完全相同新對象B,並且此後對B任何改動都不會影響到A中的值,也就是說,A與B是兩個獨立的對象,但B的初始值是由A對象確定的。在Java語言中,用簡單的指派陳述式是不能滿足這種需求的。要滿足這種需求雖然有很多途徑,但實現clone()方法是其中最簡單,也是最高效的手段。
Time of Update: 2018-12-05
怎麼進行深度clone? 把上面的例子改成深度clone很簡單,需要兩個改變:一是讓UnCloneA類也實現和CloneB類一樣的clone功能(實現Cloneable介面,重載clone()方法)。二是在CloneB的clone()方法中加入一句o.unCA = (UnCloneA)unCA.clone(); 程式如下: package clone.ext; class UnCloneA implements Cloneable{ private int i; public
Time of Update: 2018-12-05
第一,談談final, finally, finalize的區別。final—修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變數或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變數必須在聲明時給定初值,而在以後的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載finally—再異常處理時提供 finally
Time of Update: 2018-12-05
【收藏】Java開發人員必去的技術網站英文網站 http://www.javaalmanac.com - Java開發人員年鑒一書的線上版本. 要想快速查到某種Java技巧的用法及範例程式碼, 這是一個不錯的去處. http://www.onjava.com - O'Reilly的Java網站. 每周都有新文章. http://java.sun.com - 官方的Java開發人員網站 - 每周都有新文章發表. http://www.developer.com/java -
Time of Update: 2018-12-05
1、jsp有哪些內建對象?作用分別是什嗎?2、描述一下servlet的生命週期和基本架構。3、多線程有幾種實現方法,都是什嗎? 同步有幾種實現方法,都是什嗎?4、範圍public private protected以及不寫時的區別?5、用JAVA實現資料庫查詢(寫一段完整的程式)。6、用Regex判斷123456_78不是一個數字。7、排序都有哪幾種方法?請列舉。用JAVA實現一個快速排序。---------------------------------------------------