Time of Update: 2018-07-27
Java中的IO方式主要分為3種:BIO(同步阻塞)、NIO(同步非阻塞)和AIO(非同步非阻塞)。 BIO 同步阻塞模式。在JDK1.4以前,使用Java建立網路連接時,只能採用BIO方式,在伺服器端啟動一個ServerSocket,然後使用accept等待用戶端請求,對於每一個請求,使用一個線程來進行處理使用者請求。線程的大部分時間都在等待請求的到來和IO操作,利用率很低。而且線程的開銷比較大,數量有限,因此伺服器同時能處理的串連數也很低。 NIO
Time of Update: 2018-07-27
最近一直在準備面試,為了使自己的Java水平更上一個檔次,拜讀了李林峰老師的 《Netty權威指南》,瞭解了Java關於IO的發展和最新的技術,真是受益匪淺,現在把 我總結的關於BIO、NIO和AIO的區別和應用情境概述一遍。 在此之前,先弄清幾個概念: 1.同步:使用同步IO時,Java自己處理IO讀寫。 2.非同步:使用非同步IO時,Java將IO讀寫委託給OS處理,需要將資料緩衝區地址和大小傳給OS,完成後OS通知Java處理(回調)。
Time of Update: 2018-07-27
什麼是反射 官方有段介紹是這麼說的 Reflection is commonly used by programs which require the ability to examine or modify the runtime behavior of applications running in the Java virtual machine. 什麼意思呢,就是說反射通常用於需要能夠檢查或修改Java虛擬機器中啟動並執行應用程式的運行時行為的程式。
Time of Update: 2018-07-27
文檔版本 開發工具 測試平台 工程名字 日期 作者 備忘 V1.0 2016.02.26 lutianfei none 成員變數與局部變數 成員變數與局部變數區別: A:在類中的位置不同 成員變數:在類中,方法外
Time of Update: 2018-07-27
JAVA基礎組成: 關鍵字--標識符--注釋--常量&變數--運算子--語句--函數--數組 關鍵字 特徵:字母都是小寫eg:基礎資料型別 (Elementary Data Type):int byte long short float double字元型:char布爾型:boolean (true/false) 引用資料類型: class interface void
Time of Update: 2018-07-27
package com.hanwei.service;class testParent{ public testParent(){ System.out.println("我是父類的無參數構造方法"); } public testParent(String a){ System.out.println("我是父類的有參數的構造方法"); }
Time of Update: 2018-07-27
與ResultSet相比,RowSet預設是可滾動的,可更新的,可序列化的結果集。而且作為javaBean使用。因此能方便的在網路上傳輸。用於同步兩端的資料。對於離線RowSet而言程式再建立RowSet時已經把資料從資料庫讀取到記憶體,因此能充分利用電腦的記憶體。從而降低伺服器的負載。 java7提供了RowSetProvider,可以利用RowSetProvider.newFactory()方法獲得RowSetFactory對象。
Time of Update: 2018-07-27
JDBC串連池架構 在企業級資料庫應用中,資料庫連接池(Connection
Time of Update: 2018-07-27
互操作就是在Kotlin中可以調用其他程式設計語言的介面,只要它們開放了介面,Kotlin就可以調用其成員屬性和成員方法,這是其他程式設計語言所無法比擬的。同時,在進行Java編程時也可以調用Kotlin中的API介面。 Kotlin調用Java Kotlin在設計時就考慮了與Java的互通性。可以從Kotlin中自然地調用現有的Java代碼,在Java代碼中也可以很順利地調用Kotlin代碼。例如,在Kotlin中調用Java的Util的list庫。
Time of Update: 2018-07-27
原文地址:http://www.zhihu.com/question/34345694 Java源碼為什麼會經過中間步驟轉換為位元組碼,這樣不是增加工作量嗎。直接解釋原始碼一樣跨平台。 為什麼不在解釋運行時直接解釋原始碼,而是位元組碼。 位元組碼更便於虛擬機器讀取,不用在解析字串,所以運行速度比直接解析原始碼快。
Time of Update: 2018-07-27
TCP連線導向的協議,安全性較高,類似於打電話,但是效率較低。它的基礎模式是Request-Respond。在這裡面我們使用的事java已經封裝好的通訊端類ServerSocket和Socket 前者是伺服器,後者是用戶端,這個有一點不同,用戶端的連接埠是自動擷取們不需要我們像UDP一樣還需要我們指定,當C、S建立串連之後就會在兩者之間建立一個管道,服務端的輸出資料流就是用戶端的輸入資料流。 對於用戶端和服務端之間的通訊。用戶端是接收資料+發送資料 1、用戶端:
Time of Update: 2018-07-27
最近搭建在eclipse中搭建spring環境,使用過JUNIT測試了一個spring靜態工廠執行個體化bean的例子,出現了java.lang.IllegalArgumentException異常。 環境資訊列表: 系統平台: window x64 開發平台: eclipse EE 4.5+ spring version : 3.2 JDK: 1.8 ***************************************************
Time of Update: 2018-07-27
概述瞭解Quartz體繫結構Quartz對任務調度的領域問題進行了高度的抽象,提出了調度器、任務和觸發器這3個核心的概念,並在org.quartz通過介面和類對重要的這些核心概念進行描述:●Job:是一個介面,只有一個方法void execute(JobExecutionContext
Time of Update: 2018-07-27
Java通過Executors提供四種線程池,分別為: newCachedThreadPool建立一個可緩衝線程池,如果線程池長度超過處理需要,可靈活回收空閑線程,若無可回收,則建立線程。 newFixedThreadPool 建立一個定長線程池,可控制線程最大並發數,超出的線程會在隊列中等待。 newScheduledThreadPool 建立一個定長線程池,支援定時及週期性任務執行。 newSingleThreadExecutor
Time of Update: 2018-07-27
方案一: 在jsp裡寫vue 也就是所把jquery換成vue就行 (不知道這樣能做spa嗎? 能用vue-router嗎? 好像也能做, 感覺會很亂, 適合微型項目) java後端什麼時候適合vue呢
Time of Update: 2018-07-27
題目:在二叉樹中找出和為某一值的所有路徑(java語言) 描述: 請寫一個程式建立一棵二叉樹,並按照一定規則,輸出二叉樹根節點到葉子節點的路徑。 規則如下: 1、從最頂端的根結點,到最下面的葉子節點,計算路徑通過的所有節點的和,如果與設定的某一值的相同,那麼輸出這條路徑上的所有節點。 2、從根節點遍曆樹時,請請按照左到右遍曆,即優先訪問左子樹的節點。 二叉樹建立規則:從上到下一層一層的,按照從左至右的順序進行構造 輸入”10,5,12,4,7”值,構造的樹如下: 1) 10
Time of Update: 2018-07-27
題目:輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 思路:所謂的深度是指從根結點到葉子結點的最長的路徑的長度,即路徑上的結點的數目。分析問題,輸入根結點root,求它的深度需要先求出root左右子樹的深度,取其較大值,然後加1就是當前樹的深度了,即顯然這是一個對二叉樹後序遍曆進行改編的遞迴過程,設計一個遞迴函式,輸入個結點root,返回這個根結所在的樹的深度。 遞推關係是:
Time of Update: 2018-07-27
我們什麼時候會接觸到 Java 的方法簽名呢。在進行 JNI 調用時,還有在看方法重載時。重載的方法是有不同的方法簽名的,而是不區分傳回值,而實際方法簽名還揉入了傳回值類型的,還有就是 javap -s 查看方法簽名時,如 javap -s java.util.Date。 看來方法簽名與我們實際工作的關係還真的不大。倒是有次遇著了,事出於 Struts2 應用中提交表單時報出了下面的錯誤: 00:43:59.716 [http-8080-4] WARN
Time of Update: 2018-07-27
[ 表示一維數組,[[ 二維數組 “L”代表這個數組是指定引用資料類型的數組. 所以說,這個錯誤是類型轉換錯誤。字串數組不能轉化為字串。 遇到這個錯誤是在struts2架構的攔截器中,我想從攔截器中得到請求的參數。所以調用了ActionContext的getContext方法。將獲得的ActionContext執行個體調用它的getParameters()方法來得到它所有的參數列表(Map)。再通過map來擷取其中的值。但是, String cid = (String)
Time of Update: 2018-07-27
1、Java中的屬性和欄位有什麼區別。 答:Java中的屬性,通常可以理解為get和set方法。而欄位,通常叫做“類成員”。這兩個概念是完全不同的。屬性只局限於類中方法的聲明,並不與類中其他成員相關。例如:void setA(String s){}String getA(){}當一個類中擁有這樣一對方法時,我們可以說,這個類中擁有一個可讀寫的a屬性(注意是小寫a)。如果去掉了set的方法,則是可讀屬性,反之亦然。類成員(欄位),通常是在類中定義的類成員變數,例如:public class