Time of Update: 2018-07-27
Java技巧:用 Java 技術建立 RESTful Web 服務/@Path@Produces@PathParam 簡介 JAX-RS (JSR-311) 是為 Java EE 環境下的 RESTful 服務能力提供的一種規範。它能提供對傳統的基於 SOAP 的 Web 服務的一種可行替代。 在本文中,瞭解 JAX-RS 的主要組件。本文用一個例子展示了一個企業如何使用
Time of Update: 2018-07-27
1.設計層面 首先要有任務抽象,這裡可以是Runnable及Callable的實作類別。有了任務後,執行任務的一般是線程,但如果當前線程不夠時希望任務能夠被暫時緩衝,之後有空閑線程後再被消費。所以就有了任務隊列。 空閑線程就是從這個隊列取任務進行處理,可以將這個職責抽象一個Worker類。 然後有一個核心流程服務類,執行使用者提交的任務,如果無線程可用時執行相應的往任務隊列塞任務或拒絕等邏輯。
Time of Update: 2018-07-27
java中equals方法和“==”的區別: equals 方法是 java.lang.Object 類的方法。 有兩種用法說明: (1)對於字串變數來說,使用“==”和“equals()”方法比較字串時,其比較方法不同。 “==”比較兩個變數本身的值,即兩個對象在記憶體中的首地址。 “equals()”比較字串中所包含的內容是否相同。 比如: String s1,s2,s3 = "abc", s4 ="abc" ; s1
Time of Update: 2018-07-27
前言 最近發現有時候看完一本書,時間久了容易忘記,看書不總結思考效果大打折扣,故打算寫這一系列文章,一是為了整理書中的要點,協助自己消化理解;二是勉勵自己多看書思考。文章中不會把書中內容講解的非常詳細,只是總結概括,適合已經閱讀過該書的讀者。 第2章:Java記憶體地區與記憶體溢出異常 (1)JVM運行時資料區 程式計數器 當前線程所執行的位元組碼的行號指標 Java虛擬機器棧
Time of Update: 2018-07-27
private void initValue() { phoneString = phoneField.getText().toString().trim(); } private class RequestGetPostTask extends AsyncTask<Void, Void, Void>{ @Override protected Void doInBackground(Void... params) {
Time of Update: 2018-07-27
1.準備工具 HSDIS外掛程式下載地址 2.將外掛程式放至檔案夾 將下載的外掛程式解壓得到兩個dll檔案放到JDK_HOME/jre/bin/client和JDK_HOME/jre/binserver目錄下 3.編譯產生彙編代碼 將外掛程式放置好了之後,就可以使用java命令攜帶參數進行編譯。由位元組碼得到的彙編代碼將輸出在控制台。 java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly Main
Time of Update: 2018-07-27
學習Java的30個基本概念 在我們學習Java的過程中,掌握其中的基本概念對我們的學習無論是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基礎,所以有必要對其中的基本概念做以歸納,以便大家在以後的學習過程中更好的理解java的精髓,在此我總結了30條基本的概念. Java概述:
Time of Update: 2018-07-27
寫在前面 只是學棧的描述之類的似乎很無聊,所以我特意找了幾個比較有意思的例子,一則加深對棧的理解和運用,二則,也可以開拓一下思路,此為例三 例三、算術運算式求值 1、問題描述 當一個算術運算式中含有多個運算子,且運算子的優先順序不同的情況下,如何才能處理一個算術運算式。。。。。
Time of Update: 2018-07-27
有序鏈表: 按關索引值排序。刪除鏈頭時,就刪除最小(/最大)的值,插入時,搜尋插入的位置。 插入時需要比較O(N),平均O(N/2),刪除最小(/最大)的在鏈頭的資料時效率為O(1), 如果一個應用需要頻繁的存取(插入/尋找/刪除)最小(/最大)的資料項目,那麼有序鏈表是一個不錯的選擇 優先順序隊列 可以使用有序鏈表來實現 有序鏈表的插入排序: 對一個無序數組,用有序鏈表來排序,比較的時間級還是O(N^2)
Time of Update: 2018-07-27
(一)首先明確: java斷言Assert是jdk1.4引入的。 jvm 斷言預設是關閉的。 斷言是可以局部開啟的,如:父類禁止斷言,而子類開啟斷言,所以一般說“斷言不具有繼承性”。 斷言只適用於複雜的調試過程。 斷言一般用於程式執行結果的判斷,千萬不要讓斷言處理商務程序。 (二)判斷eclipse是否開啟了斷言,代碼如下: public class AssertTest { public
Time of Update: 2018-07-27
◆問題: java.lang.OutOfMemoryError: Java heap space ->堆記憶體溢出 java.lang.OutOfMemoryError: PermGen space ->非堆記憶體(永久儲存區)溢出 ◆說明:
Time of Update: 2018-07-27
剛學Java的時候我也有過這種懷疑,但一直沒有驗證;最近在OSCHINA上看到有人在回答問題時也這麼說,於是萌生了一探究竟的想法——java.lang.Object.hashCode()的傳回值到底是不是對象記憶體位址。 (順帶回顧一下JNI) hashCode契約 說到這個問題,大家的第一反應一定和我一樣——去查Object.hashCode的源碼,但翻開源碼,看到的卻是這樣的(Oracle JDK 8): /** * Returns a hash code
Time of Update: 2018-07-27
以下程式清單用於計算檔案的32位的迴圈冗餘校正和(CRC32)這個數值就是經常用來判斷一個檔案是否已損壞的校正和,因為檔案損壞極有可能導致校正和改變。java.util.zip包 包含一個CRC32類,可以使用迴圈來計算一個位元組序列的校正和。 package cn.ls;import java.io.*;import java.nio.*;import java.nio.channels.*;import java.util.zip.*;/** * This program
Time of Update: 2018-07-27
本樣本採用AES(進階加密標準)對檔案進行加密。要使用改程式先要產生密鑰, 運行如下命令:java AESTest -genkey secret.key 這樣密鑰就被儲存到secret.key檔案中了。 現在可以用如下命令對檔案進行加密:java AESTest -encrypt F:\javacode\a.html F:\javacode\x.html secret.key 。
Time of Update: 2018-07-27
流的操作規律。 因為io包中的對象很多,最重要的是要知道完成資料處理是,要使用哪個對象最合適。 如何判斷要使用哪些對象呢。 通過幾個明確來判斷對象的使用。 1,明確資料來源,和 資料目的(資料匯) 資料來源:InputStream Reader 資料目的:OutputStream Writer
Time of Update: 2018-07-27
雖然學JavaWeb時間並不長,也自己做過一些小的項目。但是,我還是會經常忘記串連資料庫的相關代碼,總是需要去翻筆記。今天想把一些筆記儲存下來,以後如果需要,可以這裡找到。 代碼: import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import
Time of Update: 2018-07-27
ArithmeticException - 算術運算中,被0除或模除 ArrayIndexOutOfBoundsException - 數組越界訪問 ArrayStoreException - 資料存放區異常,寫數組操作時,對象或資料類型不相容 ClassCastException - 類型轉換異常 IllegalArgumentException - 方法的參數無效 IllegalThreadStateException -
Time of Update: 2018-07-27
讀讀之間不互斥,但讀寫之間,寫寫之間互斥。提高了效率保證了安全。 import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; public class MyQueue {// 共用資料。該資料只能被一個線程寫,可以被多個線程同時讀private Object data;// 讀讀之間不互斥,但讀寫之間,寫寫之間互斥ReadWriteLock
Time of Update: 2018-07-27
一、表單重複提交的常見應用情境 1、在網路延遲的情況下讓使用者又是加你點擊多次submit按鈕導致 2、表單提交後使用者點擊重新整理按鈕導致表單重複提交 3、使用者表單提交後,點擊瀏覽器後退按鈕退回表單頁面後進行再次提交。 二、解決辦法 1、利用javaScript防止表單重複提交 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&
Time of Update: 2018-07-27
1、如何將字串String轉化為整數int int i = Integer.parseInt(str); int i = Integer.valueOf(my_str).intValue(); 注: 字串轉成Double, Float, Long的方法大同小異。 2、如何將字串String轉化為Integer Integer