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
來源 | 個人部落格 | 作者 | 五月的倉頡 原文地址 | 見底部說明 本文是作者:五月的倉頡 結合自己的工作和平時學習的體驗重新談一下為什麼要進行代碼最佳化。在修改之前,作者的說法是這樣的: 就像鯨魚吃蝦米一樣,也許吃一個兩個蝦米對於鯨魚來說作用不大,但是吃的蝦米多了,鯨魚自然飽了。 代碼最佳化一樣,也許一個兩個的最佳化,對於提升代碼的運行效率意義不大,但是只要處處都能注意代碼最佳化,總體來說對於提升代碼的運行效率就很有用了。
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線程池好處 1.使用new Thread()建立線程的弊端: 每次通過new Thread()建立對象效能不佳。 線程缺乏統一管理,可能無限制建立線程,相互之間競爭,及可能佔用過多系統資源導致死機或oom。 缺乏更多功能,如定時執行、定期執行、線程中斷。 2.使用Java線程池的好處:
Time of Update: 2018-07-27
首先,建立一個Students的實體類 package com.jackie.day11;import java.io.Serializable;import java.util.Date;public class Students implements Serializable{ private static final long serialVersionUID = -8655172670979705548L; private int sid; private
Time of Update: 2018-07-27
命令 1.java檔案轉換成class檔案:javac -source 1.6 -target 1.6 X.java(X.java是要轉換的檔案,預設產生同名class檔案) 如: D:\java\Studio\sdk\build-tools\22.0.1>javac -source 1.6 -target 1.6 com/chaos/hack/AntiLazyLoad.java 2.class檔案轉換成jar檔案:jar cvf X.jar
Time of Update: 2018-07-27
本文譯自:Java Concurrency – Part 7 : Executors and thread pools 讓我們開始來從入門瞭解一下 Java 的並發編程。 本文主要介紹如何開始建立線程以及管理線程池,在 Java 語言中,一個最簡單的線程如下代碼所示: Runnable runnable = new Runnable(){ public void run(){ System.out.println("Run"); }}
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
package com.transAid.retrive.example.test; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.util.HashSet; import java.
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
不可變對象和類 不可變類需要滿足的條件: - 所有資料域都是私人的 - 沒有修改器的方法 - 沒有一個訪問器,它會返回一個紙箱可變資料域的引用 變數的範圍 類變數/資料域 一個類的執行個體變數和靜態變數 局部變數 方法內部定義的變數 如果一個局部變數和一個類變數具有相同的名字,那麼局部變數優先,而同名的類變數將被隱藏。 this引用 關鍵字this:指向調用對象本身的引用名。一種常見的用法是引用類的隱藏資料域。 類的抽象和封裝
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
(1)三種collection views:key集合,value集合,key-value (2)順序:即迭代器(interators)返回map元素的順序,像TreeMap就實現了,但是HashMap就沒有 (3)Map的實作類別必須提供兩種構造方式: 1.無參數的建構函式,用以構建一個空map public HashMap() { this.loadFactor =
Time of Update: 2018-07-27
1.位元運算符主要針對二進位,它包括了:“與”、“非”、“或”、“異或”。 1.1 與 & 其使用規律如下: 兩個運算元中位都為1,結果才為1,否則結果為0 1.2 或 | 其運算規律如下: 兩個位只要有一個為1,那麼結果就是1,否則就為0 1.3 異或 ^ 其運算規律是: 兩個運算元的位中,相同則結果為0,不同則結果為1。 1.4 非 ~
Time of Update: 2018-07-27
作者:謝龍 連結:https://www.zhihu.com/question/29581524/answer/44872235 來源:知乎 著作權歸作者所有,轉載請聯絡作者獲得授權。 現在互連網上資源豐富,Java 學習並不難。貼個 Java 服務端入門和進階指南,是給我們組新人入門用的,包括了學習目標、需要掌握的技能和參考資料,並規划了學習階段和時間,希望協助到題主。 前言 歡迎加入我們。這是一份針對實習生/畢業生的服務端開發入門與進階指南。遇到問題及時問你的
Time of Update: 2018-07-27
最近又把javase中基礎知識看了一遍,先將自己覺得易錯的地方總結下。 一、面試題之變數相加和常量相加的區別 下面代碼是否有問題 byte b1 = 3;byte b2 = 4;byte b3 = b1 + b2;byte b4 = 3 + 4; b3類型轉換出錯,需強制轉換成byte類型,b4正確 從兩方面去回答這個題 b1和b2是兩個變數,變數裡面儲存的值都是變化的,所以在程式運行中JVM是無法判斷裡面具體的值。
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