Time of Update: 2018-12-03
在使用Java的時候,我們都會遇到使用集合(Collection)的時候,但是Java API提供了多種集合的實現。總的說來,Java API中所用的集合類,都是實現了Collection介面,他的一個類繼承結構如下: Collection<--List<--Vector Collection<--List<--ArrayList
Time of Update: 2018-12-03
java的堆區、棧區、和靜態區分類:Java相關堆區:1.儲存的全部是對象,每個對象都包含一個與之對應的class的資訊。(class的目的是得到操作指令)2.jvm只有一個堆區(heap)被所有線程共用,堆中不存放基本類型和對象引用,只存放對象本身棧區:1.每個線程包含一個棧區,棧中只儲存基礎資料類型的對象和自訂對象的引用(不是對象),對象都存放在堆區中2.每個棧中的資料(原始類型和對象引用)都是私人的,其他棧不能訪問。3.棧分為3個部分:基本類型變數區、執行環境內容、操作指令區(存放操作指令
Time of Update: 2018-12-03
轉載請註明出處:http://blog.csdn.net/sunyujia/ 有大多的Java人,在四處尋找能將jar打包成exe的工具,另我十分不解的是為什麼要打包呢,其實目的無非是想用exe啟動而已,其實打包真的沒什麼好處,一個5m的程式打包成exe還可以,如果一個100m的程式呢?如果這個100m的程式同時還要整合jre呢.打包後啟動速度應該不用我多說,而且目前幾乎所有打包程式都不是很完美,之所以這些打包程式還可以使用,是因為他們失效的情況,只在很特別的情境下才能遇到,這些工具我也用過一些
Time of Update: 2018-12-03
收集了與輸入輸出相關的類的對比,希望對大家有協助原文
Time of Update: 2018-12-03
在學校裡學了java出來工作走向了.net,因此對兩種語言的風風雨雨真是有的說。當今,主流軟體開發領域就象整個武林,已經明確地被兩大門派所主宰。微軟提倡.NET架構,成為少林派;其他許多廠商支援的Java環境,成為武當派。
Time of Update: 2018-12-03
String a=new String("abc"); String b="abc"; String c=new String("abc");問題:一共建立了一個String對象? 關於字串池的理解:String a=new String("abc"); 總共建立了幾個對象? 2個運行順序:1.因為是new String()所以要在堆中建立新的空間2.在池中搜尋與abc相同值的對象,因為沒有所以在池中建立abc對象!3.
Time of Update: 2018-12-03
HashMap排序1、按照key排序對於java中Map的排序,有排序Map,比如TreeMap,對於這個Map,首先只能按照鍵排序,其次再put和remove的時候由於需要排序,效能上會有所犧牲。這種方案,使用hashmap進行建立和添加,如果需要按照key排序,則可以將該hashmap作為參數傳遞到new TreeMap(hashmap),則可以完成按照key的排序:TreeMap treemap = new TreeMap(hashmap); TreeMap treemap = new
Time of Update: 2018-12-03
在檔案的末尾添加資料:方法一:public void appendToFile(String str){ String filename = "d://append.txt"; FileOutputStream stream; OutputStreamWriter writer; try { stream = new FileOutputStream(filename, true); writer = new
Time of Update: 2018-12-03
# include <inttypes.h> /* C99 */typedef uint8_t jboolean; /* unsigned 8 bits */typedef int8_t jbyte; /* signed 8 bits */typedef uint16_t jchar; /* unsigned 16 bits */typedef int16_t
Time of Update: 2018-12-03
時間過得很快,不知多久沒寫些東西了,隨著工齡的變長,每天寫程式的時間也漸漸減少了,但技術在我的工作和生活中還是佔著重要的地位,今天心情不錯,泡泡論壇,寫寫代碼,溫故知新。原創代碼,如有錯誤請拍磚。回顧高中數學課本:從n個不同元素中任取m(m≤n)個元素,按照一定的順序排列起來,叫做從n個不同元素中取出m個元素的一個排列。當m=n時所有的排列情況叫全排列。 package com.syj.csdn;import java.util.ArrayList;import
Time of Update: 2018-12-03
又是一個無聊的周末,硬著頭皮給客戶想出一套java程式打包的解決方案目標:有安裝程式包像安裝qq一樣簡單一直下一步即可 ,可卸載,要求程式自動啟動,不需要單獨安裝JRE,就在寫這套解決方案的時候,我真是百般痛恨微軟.哎無奈啊.幸好最終還是被我想出來了,分享下吧,好久不寫博了.第一步
Time of Update: 2018-12-03
一個比較簡單的實現:一個三個類KeyGenerater產生公開金鑰私密金鑰對,Signaturer類使用私密金鑰簽名,SignProvider用公開金鑰驗證。公開金鑰和私密金鑰使用Base64加密Base64這個類也在部落格裡面public class KeyGenerater { private byte[] priKey; private byte[] pubKey; public void generater() { try
Time of Update: 2018-12-03
08/10/25修改增加了ByteArrayDataSource類源碼。package com.syj;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.
Time of Update: 2018-12-03
java中byte轉換int時為何與0xff進行與運算在剖析該問題前請看如下代碼 public static String bytes2HexString(byte[] b) { String ret = ""; for (int i = 0; i < b.length; i++) { String hex = Integer.toHexString(b[i] & 0xFF); if (hex.length() == 1) { hex = '0' + hex;
Time of Update: 2018-12-03
java中有關IO操作的API太多了,而且因為曆史原因,有些api已經被廢棄,有時不免讓一些初學者比較迷糊,今天抽時間整理了我平時常用的流操作,分享出來,如果有寫錯的地方,還請大家指正,因為大部分方法都寫了注釋,所以main中的測試代碼就不寫注釋了.對於理論性的資料大家可參閱http://www.blogjava.net/spark/archive/2006/09/29/72733.html這位朋友總結的非常好,如果大家對理論已經有所認知,正需要動手操作的話下面的代碼正適合你.2008.07.0
Time of Update: 2018-12-03
今天和一位朋友談到父類私人方法的調用問題,本來以為利用反射很輕鬆就可以實現,因為在反射看來根本不區分是否是private的,沒有想到調用本身的私人方法是可以的,但是調用父類的私人方法則不行,後來糾其原因很有可能是因為getDeclaredMethod方法和getMethod方法並不會尋找父類的私人方法,於是只好自己寫遞迴了,經過嘗試果然如此。把代碼放出來方便更多人。這段代碼可以解決很多實際問題,不過利用反射來做的話效能不會太好。package
Time of Update: 2018-12-03
感覺自己有一段時間沒有寫部落格了,都已經好幾天沒有開啟自己的部落格了,真的是退步了,最近也沒怎麼學習,看看部落格第一篇文章離現在已經過去整整一年了,我要堅持下去,因為最近也沒有學習,所以還真的沒有什麼可寫的,昨天寫了幾個小指令碼,發出來分享下吧,因為我慢慢的變懶,所以反而越來越喜歡簡單的指令碼語言了。轉載請註明出處http://blog.csdn.net/sunyujia/1. 利用vbs設定環境變數有時候感覺設定環境變數還真是比較麻煩,我是希望可以做成點擊一下就ok的,這樣重裝系統就不用那麼麻
Time of Update: 2018-12-03
使用JSTUN,進行NAT穿越的時候,總是出現java.net.BindException: Address already in use: Cannot bind換其他機器測試,沒有問題。只有自己機器運行出現這個問題。開啟JSTUN源碼,查看DiscoveryTest 的 Test2() 方法 170行;int localPort = sendSocket.getLocalPort();InetAddress localAddress =
Time of Update: 2018-12-03
原始來源 http://www.java2000.net/viewthread.jsp?tid=44561 你根據使用者名稱採用某個演算法產生一個隨機的字串 比如可以根據目前時間和使用者名稱產生String username = ...// 這個是使用者註冊的使用者名稱String sign = MD5.encode(username + System.currentTimeMillis());2 把這個字串儲存到使用者的資訊中user.setRegisterEmailSign(sign)
Time of Update: 2018-12-03
import java.io.*;/** * JAVA實現的批量變更檔尾碼名的程式。 * * @author 老紫竹(laozizhu.com) */public class ExtBatchRename { /** * 修改程式。<br> * 內部遞迴調用,進行子目錄的更名 * * @param path * 路徑 * @param from * 原始的尾碼名,包括那個(.點) * @param to *