Time of Update: 2018-07-28
前面介紹了lambda運算式,但是我們可以看到,lambda運算式其實也就是簡化了一部分代碼的編寫,說起來也不算是非常有用的語言特性。但是如果lambda運算式配合這篇文章介紹的流類庫,就會發揮出巨大的作用。 初識流類庫 老樣子,先來看一個例子。有一個整數列表,我現在希望找到其中所有大於5的數,所以我可能會這麼寫。雖然這是中規中矩的代碼,但是就算是實現這麼一個簡單的功能,也需要這麼一大坨代碼,實在是讓人不爽。 List<Integer> integers = new
Time of Update: 2018-07-28
Java中的泛型可以說讓新手一頭霧水,而且多個泛型同時使用會讓人一臉懵逼。現在就來看看各個情況吧。 1.最簡單的泛型舉例 public class TTest<T> { public void test(){ List<T> list = new ArrayList<>(); } public static void main(String args[]){ TTest<String>
Time of Update: 2018-07-28
java 方法調用過程遵循的原則 1 首先Java 的Class檔案,對所有方法的調用都是通過符號常量記錄的。 相關內容可以通過class檔案的分析 得出 2 根據變數的靜態類型和參數的靜態類型,到對應的類中尋找對應方法, 根據overload重載的規則尋找最優方法, 如果找到方法是靜態方法、final方法,private方法,記住這個方法的地址結束。 如果不是,說明子類有可能會重寫,那就根據方法的簽名從變數的實際類型對應的類 中尋找,按照先查詢子類在查詢父類的順序,
Time of Update: 2018-07-28
轉載出處:http://blog.csdn.net/evankaka,林炳文Evankaka原創作品
Time of Update: 2018-07-28
Bug一:把代碼放到伺服器上,能下載Word檔案;但是,下載到伺服器的C盤上了; 解決: 修改部分export.js代碼: function table01(){var stime = $('#day').val();var etime = $('#end').val();$.ajax({type:"POST",url:path+"/yuqing/table01",data:{stime:stime,etime :
Time of Update: 2018-07-28
Java線程 Block和Waiting的異同 可以參考文章 http://stackoverflow.com/questions/2534147/java-thread-wait-blocked 我的理解 1 相同點 線程都不是運行狀態 2 不同點 waiting是在資源的等待隊列中,等待被notify,notify後將會到Runable狀態, 但是要想運行還得過monitor這關。 參考 In other words, both BLOCKED
Time of Update: 2018-07-28
Time of Update: 2018-07-28
這是一個古老但仍然流行的問題。Java中字串被設計成不可變的,有多種原因。很好的答案取決於你對記憶體,同步,資料結構等更好的理解,下面,我總結一些答案。 1.String Pool中的要求 字串池在方法區(Method Area)中是一種特殊的儲存地區。當建立一個字串時,如果字串已經存在於池中,現有字串的引用將被退回,而不是建立一個新的對象並返回其引用。 下面的代碼將在堆中只會建立一個字串對象。 String string1 = "abcd"
Time of Update: 2018-07-28
ArrayList
Time of Update: 2018-07-28
轉載 http://www.cnblogs.com/zhujiabin/p/5404771.html 介紹new Thread的弊端及Java四種線程池的使用,對Android同樣適用。本文是基礎篇,後面會分享下線程池一些進階功能。 1、new Thread的弊端 執行一個非同步任務你還只是如下new Thread嗎。 new Thread(new Runnable() { @Overridepublic
Time of Update: 2018-07-28
一、棧 棧的定義 棧(Stack)是限制僅在表的一端進行插入和刪除運算的線性表。 (1)通常稱插入、刪除的這一端為棧頂 (Top),另一端稱為棧底 (Bottom)。 (2)當表中沒有元素時稱為空白棧。 (3)棧為後進先出(Last In First Out)的線性表,簡稱為 LIFO 表。 棧的修改是按後進先出的原則進行。每次刪除(退棧)的總是當前棧中" 最新"的元素,即最後插入(進棧)的元素,而最先插入的是被放在棧的底部, 要到最後才能刪除。
Time of Update: 2018-07-28
引入 在前面介紹 ArrayList的擴容問題時對於modCount的操作沒有詳細說明,該變數的操作在add,remove等操作中都會發生改變。那麼該變數到底有什麼作用呢。 簡介 fail-fast 機制,即快速失敗機制,是java集合(Collection)中的一種錯誤偵測機制。當在迭代集合的過程中該集合在結構上發生改變的時候,就有可能會發生fail-fast,即拋出
Time of Update: 2018-07-28
下載 https://github.com/google/protobuf/releases 安裝 $ ./configure $ make $ make check $ make install 建立msg.proto option java_package = "com.protobuftest.protobuf"; option java_outer_classname =
Time of Update: 2018-07-28
JAVA-提高反射效率 功能說明: 從事java開發的都知道反射的運行速度慢,所以很多java的開發人員都對反射機制的使用望而卻步(包括BME組件SDO)。我想知道,究竟反射機制慢在哪裡。有沒有改進方法,讓我們可以繼續使用它。如果一個好東西因為其自身的一些缺陷而不使用它,那麼實在可惜,反射也是這樣。我想說的是:我們應該一點點的改進它。 代碼特點: 1. 描述 從事java開發的都知道反射的運行速度慢,所以很多java的開發人員都對反射機制的使用望而卻步(
Time of Update: 2018-07-28
轉載出處:http://www.cnblogs.com/dolphin0520/p/3932921.html 在前面的文章中,我們使用線程的時候就去建立一個線程,這樣實現起來非常簡便,但是就會有一個問題: 如果並發的線程數量很多,並且每個線程都是執行一個時間很短的任務就結束了,這樣頻繁建立線程就會大大降低系統的效率,因為頻繁建立線程和銷毀線程需要時間。 那麼有沒有一種辦法使得線程可以複用,就是執行完一個任務,並不被銷毀,而是可以繼續執行其他的任務。
Time of Update: 2018-07-28
Java動態數組是一種可以任意伸縮數組長度的對象,在Java中比較常用的是ArrayList,ArrayList是javaAPI中內建的java.util.ArrayList。下面介紹一下ArrayList作為Java動態數組的用法。 1 .文法:add()是添加一個新的元素,remove()刪除一個元素,size()獲得ArrayList的長度。ArrayList的下標是從0開始。 import
Time of Update: 2018-07-28
package com.howin.util;import java.net.*; public class Ipconfig { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub InetAddress ia=null; try { ia=ia.getLocalHost();
Time of Update: 2018-07-28
基本關係 MAC OS X 整合了一個配置完整,隨時可用的java運行時和開發環境。J2SE的完整版本以及JDK,JVM都已經預先安裝在MAC OS X中,避免了JDK的下載,安裝,配置的環節。整合的在MAC OS X下的Java版本與其它Sun(Oracle)發布的java版本是類似的,唯一的不同是MAC OS X下的Java是由蘋果發行並緊緊綁定到進入到MAC OS X系統中。 (Mac內建JDK,你不需要安裝。查看機器上的版本:ls -la
Time of Update: 2018-07-28
順口溜:器池堆,棧棧區區 棄池堆,站站曲曲(一離開衛生間,肚子疼的站不起身) Java中記憶體的管理機制是通過JVM來自動管理的。瞭解JVM的基礎原理有利於進一步理解Java。 我們首先要瞭解java記憶體的分配機制,在java虛擬機器規範裡,JVM被分為7個記憶體地區。
Time of Update: 2018-07-28
標籤:head ima als 問題 ola 編譯報錯 height 一個 mil 圖解Condition0. demo我先給出一個demo, 這樣大家就可以根據我給的這段代碼,