Time of Update: 2018-07-27
/** * 按照List中的某個Int類型的屬性進行排序 * * @param list */ @SuppressWarnings("unchecked") public static void sortIntMethod(List list) { Collections.sort(list, new Comparator() { @Override public int
Time of Update: 2018-07-27
需求說明: 按照控制台提示輸入1~3之間任一個數字,程式將輸出相應的課程名稱 根據鍵盤輸入進行判斷。如果輸入正確,輸出對應課程名稱。如果輸入錯誤,給出錯誤提示 不管輸入是否正確,均輸出“歡迎提出建議”語句 思路:輸入一個1~3之間的數,若輸入的不對則拋出異常,在catch中處理拋出的異常,並在finally中輸出"歡迎提出建議"的語句
Time of Update: 2018-07-27
方法重載和方法覆蓋的區別: 方法重載:Overload 方法覆蓋:Override兩者本身一點關係都沒有,僅僅只是因為名字很像。方法重載:Overload 作用:解決了同一個類中,相同的功能方法名不同的問題,既然是相同的功能,那麼方法的名字就應該相同規則:(兩同一不同) 同類中,方法名相同,方法參數列表不同(參數類型、參數個數、參數順序) 下圖就是JDK內建的工具類Arrays裡的方法重載:可以看出,方法名是相同的,只是參數不一樣 方法覆蓋:Override
Time of Update: 2018-07-27
說明:本文是《大話設計模式》一書的學習文摘和網上相關資訊文摘,原書代碼例子用C#寫,下面用Java改寫。 1、策略模式:定義了一系列的演算法,並將每一個演算法封裝起來,而且使它們還可以相互替換。策略模式讓演算法獨立於使用它的客戶而獨立變化。 2、策略模式由三種角色群組成: (1)抽象策略角色: 策略類,通常由一個介面或者抽象類別實現。 (2)具體策略角色:封裝了相關的演算法和行為。 (3)環境角色:持有一個策略類的引用,最終給用戶端調用。
Time of Update: 2018-07-27
1.java類載入器 引導類載入器(bootstrap class loader):它用來載入 Java 的核心庫,是用原生代碼來實現的 擴充類載入器(extensions class loader):它用來載入 Java 的擴充庫。 系統類別載入器(system class loader):它根據 Java 應用的類路徑(CLASSPATH)來載入 Java 類
Time of Update: 2018-07-27
寫這一篇部落格是為了記錄一下自己在秋招中的面試過程和心得,昨天晚上筆試了金蝶的提前批筆試。也有行測的題不過更多的是C語言的題,其中題中以資料結構中的內部排序為主。 下面我來說一下讓我印象深刻的題目 1. int a=0,b=0,c=0; if(a=b+c) printf("a"); else printf("b"); 這是一道選擇題,我上機測試了一下是連結時出錯,其實我還真不是很清楚其中的道理所在
Time of Update: 2018-07-27
來源 | 個人部落格 | 作者 | 五月的倉頡 原文地址 | 見底部說明 本文是作者:五月的倉頡 結合自己的工作和平時學習的體驗重新談一下為什麼要進行代碼最佳化。在修改之前,作者的說法是這樣的: 就像鯨魚吃蝦米一樣,也許吃一個兩個蝦米對於鯨魚來說作用不大,但是吃的蝦米多了,鯨魚自然飽了。 代碼最佳化一樣,也許一個兩個的最佳化,對於提升代碼的運行效率意義不大,但是只要處處都能注意代碼最佳化,總體來說對於提升代碼的運行效率就很有用了。
Time of Update: 2018-07-27
package com.sanmao10;import java.lang.reflect.Method;import java.util.ArrayList;public class test_fanxing { /** * * ArrayList<Integer>的一個對象,在這個集合中添加一個字串資料,如何?呢。 * 泛型只在編譯期有效,在運行期會被擦除掉*/ public static void main(String[] args)
Time of Update: 2018-07-27
Java判斷一個字串是否有中文是利用Unicode編碼來判斷,因為中文的編碼區間為:0x4e00--0x9fbb, 不過通用區間來判斷中文也不非常精確,因為有些中文的標點符號利用區間判斷會得到錯誤的結果。而且利用區間判斷中文效率也並不高,例如:str.substring(i, i +
Time of Update: 2018-07-27
Java的跨平台特性,因為它有針對不同平台的虛擬機器。 1.2 Java虛擬機器 Java虛擬機器的主要任務是裝載class檔案並且執行其中的位元組碼。由下圖可以看出,Java虛擬機器包含一個類裝載器(class loader),它可以從程式和API中裝載class檔案,Java API中只有程式執行時需要的類才會被裝載,位元組碼由執行引擎來執行。
Time of Update: 2018-07-27
記得以前剛接觸junit那會,對於公有方法的測試運用的很是流暢,並且私人方法也是在這些公有方法中調用,都會測試覆蓋到。 由於是建立的類,建立的方法,造資料一步一步的覆蓋跑下去,確實只要有耐心,都可以搞定。 但是隨著項目的逐漸深入,由於人員成本,時間成本等等問題,測試類別的維護不知道從哪一個版本, 哪一位開發人員修改了商務邏輯開始,已經問題百出,一線飄紅了,但是項目一直跑著也沒出現什麼問題[運氣不錯],
Time of Update: 2018-07-27
從資料庫裡面取得的資料一般是以實體的方式返回。但是做報表的話,可能是從實體某個屬性來顯示,即所謂的行列倒置。所以有人寫了行列倒置的SQL,這裡也寫個java實現的例子。屬性是寫死的。如果需要靈活點,換成用反射來遍曆屬性即可。 /** * 將List資訊行列倒置 * */ package jdk_1_4.test; import java.util.ArrayList; import java.util.Collections; import
Time of Update: 2018-07-27
使用的poi的相關jar包一定版本一定要相同。。。。。 maven所使用jar包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version>
Time of Update: 2018-07-27
Spring Cloud(Edgware.RELEASE)採用Eureka做為服務管理,而RESTFUL採用Jersey時容易出現此錯誤,原因是因為spring-cloud-starter-eureka目前採用的Jersey 1.1,而spring-boot-starter-jersey用的是Jersey 2.x版本,Jersey 1.x與Jersey 2.x在注入方式等上有所不同。 考慮到Spring boot也是採用依賴管理跟自動設定的,只不過依賴的管理由Spring
Time of Update: 2018-07-27
不可變對象和類 不可變類需要滿足的條件: - 所有資料域都是私人的 - 沒有修改器的方法 - 沒有一個訪問器,它會返回一個紙箱可變資料域的引用 變數的範圍 類變數/資料域 一個類的執行個體變數和靜態變數 局部變數 方法內部定義的變數 如果一個局部變數和一個類變數具有相同的名字,那麼局部變數優先,而同名的類變數將被隱藏。 this引用 關鍵字this:指向調用對象本身的引用名。一種常見的用法是引用類的隱藏資料域。 類的抽象和封裝
Time of Update: 2018-07-27
由於公司最近的開發人員不斷增多,作為一個公司的開發負責人,必須要做到代碼可控性,總結了一下之前的開發經驗,設計了一套開發代碼規範,原本是給予內部使用的。現在這裡想代價分享一下。 公司內部的規範主要是使用了checkstyle、findbugs + jenkins 來做控制。 跑完之後,才發現自己寫的代碼各式各樣令人堪憂。 具體規範內容如下: Android/Java代碼規範 一、文檔曆史 版本 說明 日期
Time of Update: 2018-07-27
1. 什麼是spring? Spring 是個java企業級應用的開源開發架構。Spring主要用來開發Java應用,但是有些擴充是針對構建J2EE平台的web應用。Spring 架構目標是簡化Java企業級應用開發,並通過POJO為基礎的編程模型促進良好的編程習慣。 2. 使用Spring架構的好處是什麼。 輕量: Spring 是輕量的,基本的版本大約2MB。 控制反轉: Spring通過控制反轉實現了鬆散耦合,對象們給出它們的依賴,而不是建立或尋找依賴的對象們。
Time of Update: 2018-07-27
abstract class和interface是Java語言中對於抽象類別定義進行支援的兩種機制,正是由於這兩種機制的存在,才賦予了Java強大的物件導向能力。abstract class和interface之間在對於抽象類別定義的支援方面具有很大的相似性,甚至可以相互替換,因此很多開發人員在進行抽象類別定義時對於abstract class和interface的選擇顯得比較隨意。
Time of Update: 2018-07-27
JDK1.4中 Map map = new HashMap();Iterator it = map.entrySet().iterator();while (it.hasNext()) {Map.Entry entry = (Map.Entry) it.next();Object key = entry.getKey();Object value = entry.getValue();} JDK1.5中,應用新特性For-Each迴圈 Map m = new
Time of Update: 2018-07-27
本篇文章為在工作中使用JAVA反射的經驗總結,也可以說是一些小技巧,以後學會新的小技巧,會不斷更新。本文不準備討論JAVA反射的機制,網上有很多,大家隨便google一下就可以了。 在開始之前,我先定義一個測試類別Student,代碼如下: [Java] view