Time of Update: 2018-07-27
最近在公司參加了一個比賽,其中涉及的一個問題,可以簡化成如是描述:一個二維矩陣,每個點都有權重,需要找出從指定起點到終點的最短路徑。 馬上就想到了Dijkstra演算法,所以又重新溫故了一遍,這裡給出Java的實現。 而輸出最短路徑的時候,在網上也進行了查閱,沒發現什麼標準的方法,於是在下面的實現中,我給出了一種能夠想到的比較精簡的方式:利用prev[]數組進行遞迴輸出。 package graph.dijsktra;import
Time of Update: 2018-07-27
懷著對互連網的好奇與激動,選擇了軟體開發專業,15年9月入學,專科。
Time of Update: 2018-07-27
一、異常發生情境 在使用Netty做Android訊息推送時,發生了如下異常: io.netty.handler.codec.DecoderException: java.io.InvalidClassException: failed to read class descriptor 很明顯這是一個跟編解碼相關的異常 二、異常產生原因
Time of Update: 2018-07-27
import java.io.FileInputStream; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; import java.util.Properties; import org.apache.log4j.Logger; import
Time of Update: 2018-07-27
一、代理的概念 動態代理技術是整個java技術中最重要的一個技術,它是學習java架構的基礎,不會動態代理技術,那麼在學習Spring這些架構時是學不明白的。 動態代理技術就是用來產生一個對象的代理對象的。在開發中為什麼需要為一個對象產生代理對象呢。
Time of Update: 2018-07-27
// IntelliJ API Decompiler stub source generated from a class file // Implementation of methods is not availablepackage java.lang;public class Object { public Object() { /* compiled code */ } private static native void registerNatives();
Time of Update: 2018-07-27
0. 前言: 時間格式: //世界標準時間,其中T表示時分秒的開始(或者日期與時間的間隔),Z表示這是一個世界標準時間2017-12-13T01:47:07.081Z//本地時間,也叫不含時區資訊的時間,末尾沒有Z2017-12-13T09:47:07.153//含有時區資訊的時間,+08:00表示該時間是由世界標準時間加了8個小時得到的,[Asia/Shanghai]表示時區2017-12-13T09:47:07.153+08:00[Asia/Shanghai]
Time of Update: 2018-07-27
實訓要求: 代碼: EquationException類: import java.awt.*;import java.awt.event.*;import javax.swing.*;class EquationException extends RuntimeException {public static final int NONE_EQUATION = 1;public static final int NO_REALROOT = 2;private int
Time of Update: 2018-07-27
//上傳檔案到伺服器 String tempPath = req.getSession().getServletContext().getRealPath("webResources/templet/"); String filename = importFile.getOriginalFilename(); //
Time of Update: 2018-07-27
封裝 在C語言中可以通過結構體封裝多個變數,表示一個事物的多個屬性。而Java是一種物件導向的程式設計語言,它更進一步,將變數和函數封裝在一個類中,使用對象的形式類比一個事物的多個方面,變數對應著對象中的域,表示對象的多個屬性,而函數則對應著對象的方法,類比對象的功能。因此我們可以通過對象域的值表示對象的狀態,對象的方法表示對象所具備的功能,即通過方法向對象傳遞資料並改變它的狀態或者讓其執行某種行為。這是對象對變數和函數的封裝。
Time of Update: 2018-07-27
上一篇文章介紹了JDBC事務,JDBC可以處理單資料來源的事務,滿足大部分交易處理的需求,但是JDBC事務不能解決多資料來源和分散式交易問題,Java平台給我們提供瞭解決方案--JTA。本文將探討JTA的一些細節。 一 分散式交易
Time of Update: 2018-07-27
字串的全排列 輸入一個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。 結果請按字母順序輸出。 採用遞迴的思想: 把需要全排列的字串分為兩部分看待: (1)字串的第一個字元; (2)第一個字元後面的所有字元; 求所有可能出現在第一個位置的字元;將第一個字元和後面的字元一次交換;
Time of Update: 2018-07-27
遞迴實現 為了求樹的深度,可以先求其左子樹的深度和右子樹的深度,可以用遞迴實現,遞迴的出口就是節點為空白。傳回值為0; 非遞迴實現 利用層次遍曆的演算法,設定變數level記錄當前節點所在的層數,設定變數last指向當前層的最後一個節點,當處理完當前層的最後一個節點,讓level指向+1操作。設定變數cur記錄當前層已經訪問的節點的個數,當cur等於last時,表示該層訪問結束。 層次遍曆在求樹的寬度、輸出某一層節點,某一層節點個數,每一層節點個數都可以採取類似的演算法。
Time of Update: 2018-07-27
java中採用的是自動回收垃圾的機制,和C++不同的是這種記憶體回收的機制具有很強的不可預測性,也就是沒有任何一種方式能夠顯式地控制java中的記憶體回收。關於java垃圾的回收機制是一個在面試的時候會經常問到的問題。那麼如果遇到這種問題我們應該怎樣回答呢。通過查閱大量的部落格,我覺得可以從以下幾個角度回答。 1. 瞭解記憶體回收的意義
Time of Update: 2018-07-27
java的映射機制和xml在Strutszhjong的應用 1. 問題描述
Time of Update: 2018-07-27
1. 下載mongo-java-driver.jar包至項目中。 2. package cn.nubia.apps.mongo;public interface DBTemplate<T> {public T fetchList(String tableName);public void insert(String tableName);} 3. package
Time of Update: 2018-07-27
邏輯運算子:與(&&) 或(||) 非(。) 中,“&&”和“||”被稱為短路運算子 而,“&”和“|”被稱為非短路運算子(使用少,邏輯不合理) 短路運算子和非短路運算子的區別: 短路運算子:[條件1 && 條件2],如果條件1不成立,則條件2不執行 非短路運算子:[條件1 &&
Time of Update: 2018-07-27
JAVA一道面試題: 在判斷一個數是奇數還是偶數時,應該選擇哪一種方式來判斷呢?代碼如下() A: int val=//一個數字 if(val%2==0) System.out.println("偶數");else System.out.println("奇數"); B: int val=//一個數字 if(val%2==1)
Time of Update: 2018-07-27
實際中遇到問題:寫了個server和client的通訊程式(依賴第三方jar包),控制台執行server或client總報錯java.lang.NoClassDefFoundError,而類又不是自己定義的,糾結一番發現是打包錯誤,未找到第三方jar包,解決方案如下: 方案零:用Eclipse內建的Export功能,匯出Runnable jar包,java安裝正確的話雙擊就可運行,或控制台使用java命令運行,最簡單方便的一種方式,自測可行
Time of Update: 2018-07-27
一個Eclipse骨灰級開發人員總結了他認為最有用但又不太為人所知的快速鍵組合。通過這些組合可以更加容易的瀏覽原始碼,使得整體的開發效率和品質得到提升。 1. ctrl+shift+r:開啟資源 這可能是所有快速鍵組合中最省時間的了。這組快速鍵可以讓你開啟你的工作區中任何一個檔案,而你只需要按下檔案名稱或mask名中的前幾個字母,比如applic*.xml。美中不足的是這組快速鍵並非在所有視圖下都能用。 ctrl+shift+R Open Resource 2.