Time of Update: 2017-01-19
以前寫聊天程式都是用字串加個標誌就直接發送到伺服器,然後轉寄了。現在要求我用物件流程直接發送對象,測試了一下,記錄一下。其實我更傾向用json發送對象的,json說白了也是字串,等有空了好好研究研究。主要功能:用戶端給伺服器發送個對象,伺服器接收到了列印出來。反過來是差不多了,就不寫了。上面是整體架構。User類就兩個屬性。複製代碼 代碼如下:package com.qiantu.bean;import java.io.Serializable;public class User
Time of Update: 2017-01-19
很多時候我們弄一個介面,不想要預設的邊框,或者不想要右上方的那個最大化按鈕,比如qq面板上面就沒有最大化按鈕。但是我查了很多資料都說不能直接去掉最大化按鈕,必須把整個邊框和標題都去掉,然後自己畫。。這個測試代碼也很簡單:《1》JFrame無邊框無標題《2》添加背景圖片(添加背景圖片有很多方法,大致上都是圖片在JLabel裡面,JLabel在Panel上面,Panel上面還有一個Panel放其它控制項)《3》建立ImageIcon,直接用new
Time of Update: 2017-01-19
本文執行個體講述了java利用冒泡排序對數組進行排序的方法。分享給大家供大家參考。具體如下:一、冒泡排序:利用冒泡排序對數組進行排序二、基本概念:依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。至此第一趟結束,將最大的數放到了最後。在第二趟:仍從第一對數開始比較(因為可能由於第2個數和第3個數的交換,使得第1個數不再小於第2個數),
Time of Update: 2017-01-19
本文詳細羅列了作為Java程式員應該掌握的10項技能。分享給大家供大家參考。具體如下:1、文法:必須比較熟悉,在寫代碼的時候IDE的編輯器對某一行報錯應該能夠根據報錯資訊知道是什麼樣的語法錯誤並且知道任何修正。2、命令:必須熟悉JDK帶的一些常用命令及其常用選項,命令至少需要熟悉:appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialver,如果這些命令你沒有全部使用過,那麼你對java實
Time of Update: 2017-01-19
本文執行個體分析了Java中List與數組相互轉換的方法。分享給大家供大家參考。具體如下:今天寫代碼遇到一個奇怪的問題,具體代碼不貼出了,寫一個簡化的版本。如下:ArrayList<String> list=new ArrayList<String>();String strings[]=(String [])list.toArray();這樣寫代碼個人覺得應該沒什麼問題,編譯也沒有問題。可是具體啟動並執行時候報異常,如下:Exception in thread
Time of Update: 2017-01-19
第一種(懶漢,線程不安全):public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; }}這種寫法lazy
Time of Update: 2017-01-19
class MyThreadScopeData { // 單例 private MyThreadScopeData() { } // 提供擷取執行個體方法 public static synchronized MyThreadScopeData
Time of Update: 2017-01-19
本文執行個體講述了java讀取properties設定檔的方法。分享給大家供大家參考。具體分析如下:這兩天做java項目,用到屬性檔案,到網上查資料,好半天也沒有找到一個滿意的方法能讓我讀取到.properties檔案中屬性值,很是鬱悶,網上講的擷取屬性值大概有以下方法,以下三種方法逐漸最佳化,以達到最好的效果以下都以date.properties檔案為例,該檔案放在src目錄下,檔案內容為:startdate=2011-02-07totalweek=25方法一:public class
Time of Update: 2017-01-19
本文執行個體講述了java中List對象排序通用方法。分享給大家供大家參考。具體分析如下:在資料庫中查出來的列表list中,往往需要對不同的欄位重新排序,一般的做法都是使用排序的欄位,重新到資料庫中查詢。如果不到資料庫查詢,直接在第一次查出來的list中排序,無疑會提高系統的效能。只要把第一次查出來的結果存放在session中,就可以對list重新排序了。一般對list排序可以使用Collections.sort(list),但如果list中包含是一個對象的話,這種方法還是行不通的。那要怎麼排序
Time of Update: 2017-01-19
本文執行個體講述了Java排序演算法總結之堆排序。分享給大家供大家參考。具體分析如下:1991年電腦先驅獎獲得者、斯坦福大學電腦科學系教授羅伯特·弗洛伊德(Robert W.Floyd)和威廉姆斯(J.Williams)在1964年共同發明了著名的堆排序演算法( Heap Sort )。本文主要介紹堆排序用Java來實現。堆積排序(Heapsort)是指利用堆積樹(堆)這種資料結構所設計的一種排序演算法,可以利用數組的特點快速定位指定索引的元素。堆排序是不穩定的排序方法,輔助空間為O(1),
Time of Update: 2017-01-19
類比ThreadLocal類實現:線程範圍內的共用變數,每個線程只能訪問他自己的,不能訪問別的線程。package com.ljq.test.thread;import java.util.HashMap;import java.util.Map;import java.util.Random;/** * 線程範圍內的共用變數 * * 三個模組共用資料,主線程模組和AB模組 * * @author Administrator * */public class
Time of Update: 2017-01-19
本文執行個體講述了Java排序演算法總結之歸併排序。分享給大家供大家參考。具體分析如下:歸併操作(merge),也叫歸併演算法,指的是將兩個已經排序的序列合并成一個序列的操作。和快速排序類似,讓我們一起來看,歸併在Java中的實現。歸併排序(Merge)是將兩個(或兩個以上)有序表合并成一個新的有序表,即把待排序序列分為若干個子序列,每個子序列是有序的。然後再把有序子序列合并為整體有序序列。歸併排序是建立在歸併操作上的一種有效排序演算法。該演算法是採用分治法(Divide and
Time of Update: 2017-01-19
註解(也被稱為中繼資料)為我們在代碼中添加資訊提供了一種形式化的方法,使我們可以在稍後某個時刻非常方便地使用這些資料。 1.基本文法Java SE5內建三種標準註解@Override:表示當前的方法定義將覆蓋超類中的方法.如果你不小心拼字錯誤,或者方法簽名對不上被覆蓋的方法,編譯器就會發出錯誤提示@Deprecated:如果程式員使用了註解為它的元素,那麼編譯器就會發出警告資訊@SupperessWarnings:關閉不當的編譯器警告資訊.Java SE5內建四種元註解@Target:
Time of Update: 2017-01-19
有時候你可能需要通過代碼來控制執行linux命令實現某些功能。針對這類問題可以使用JSCH來實現,具體代碼如下:public class CogradientImgFileManager{private static final Logger log = LoggerFactory.getLogger(CogradientImgFileManager.class);private static ChannelExec channelExec;private static Session
Time of Update: 2017-01-19
從事Java Web開發這一段時間來,對Java 物件導向的思想和MVC開發模式可以說已經熟悉了。我當前參與的項目使用的架構是Spring、SpringMVC、Hibernate。下面雲棲社區小編給大家整理一篇教程協助大家學習javaweb相關知識,感興趣的朋友可以參考下。一、基本概念1.1、WEB開發的相關知識 WEB,在英語中web即表示網頁的意思,它用於表示Internet主機上供外界訪問的資源。 Internet上供外界訪問的Web資源分為:1.靜態web資源(如html
Time of Update: 2017-01-19
大部分Java開發人員都在使用Map,特別是HashMap。HashMap是一種簡單但強大的方式去儲存和擷取資料。但有多少開發人員知道HashMap內部如何工作呢?幾天前,我閱讀了java.util.HashMap的大量原始碼(包括Java 7 和Java 8),來深入理解這個基礎的資料結構。在這篇文章中,我會解釋java.util.HashMap的實現,描述Java 8實現中添加的新特性,並討論效能、記憶體以及使用HashMap時的一些已知問題。內部儲存Java HashMap類實現了Map&
Time of Update: 2017-01-19
Spring DAO之JDBC Spring提供的DAO(Data Access Objects)支援主要的目的是便於以標準的方式使用不同的資料訪問技術, 如JDBC,Hibernate或者JDO等。它不僅可以讓你方便地在這些持久化技術間切換, 而且讓你在編碼的時候不用考慮處理各種技術中特定的異常。為了便於以一種一致的方式使用各種資料訪問技術,如JDBC、JDO和Hibernate, Spring提供了一套抽象DAO類供你擴充。這些抽象類別提供了一些方法,通過它們你可以
Time of Update: 2017-01-19
本文執行個體講述了Java中的對象和對象引用。分享給大家供大家參考。具體分析如下:在Java中,有一組名詞經常一起出現,它們就是“對象和對象引用”,很多朋友在初學Java的時候可能經常會混淆這2個概念,覺得它們是一回事,事實上則不然。今天我們就來一起瞭解一下對象和對象引用之間的區別和聯絡。1.何謂對象?在Java中有一句比較流行的話,叫做“萬物皆對象”,這是Java語言設計之初的理念之一。要理解什麼是對象,需要跟類一起結合起來理解。下面這段話引自《Java編程思想》中的一段原話:“按照通俗的說法
Time of Update: 2017-01-19
本文執行個體講述了Java實現數字轉成英文的方法。分享給大家供大家參考。具體分析如下:英文數詞,按3位3位區分Hundred: 100Thousand:1,000Million: 1,000,000Billion: 1,000,000,000Trillion: 1,000,000,000,000Quintillion: 1,000,000,000,000,000,000Sextillion: 1,000,000,000,000,000,000,000Nonillion: 1,000,000,00
Time of Update: 2017-01-19
系統托盤也就是案頭右下角的表徵圖。。此程式實現的功能是點擊表單關閉按鈕不退出程式,而是隱藏到系統托盤裡面。實質上也只是把表單不可見了。。。import java.awt.AWTException;import java.awt.MenuItem;import java.awt.PopupMenu;import java.awt.SystemTray;import java.awt.TrayIcon;import java.awt.event.ActionEvent;import