Time of Update: 2018-12-04
常用的保護技術由於Java位元組碼的抽象層級較高,因此它們較容易被反編譯。本節介紹了幾種常用的方法,用於保護Java位元組碼不被反編譯。通常,這些方法不能夠絕對防止程式被反編譯,而是加大反編譯的難度而已,因為這些方法都有自己的使用環境和弱點。1. 隔離Java程式 最簡單的方法就是讓使用者不能夠訪問到Java Class程式,這種方法是最根本的方法,具體實現有多種方式。例如,開發人員可以將關鍵的Java
Time of Update: 2018-12-04
轉自:http://java.chinaitlab.com/base/803211.html目前網路上關於對象序列化的文章不少,但是我發現詳細敘述用法和原理的文章太少。本人把自己經過經驗總結和實際運用中的體會寫成的學習筆記貢獻給大家。希望能為整個java社區的繁榮做一點事情。 序列化的過程就是對象寫入位元組流和從位元組流中讀取對象。將對象狀態轉換成位元組流之後,可以用java.io包中的各種位元組流類將其儲存到檔案中,管道到另一線程中或通過網路連接將對象資料發送到另一主機。對象序列化功能非常簡
Time of Update: 2018-12-04
今天在論壇裡看到了一位工作10年的java大牛總結的java程式員修鍊之道,看完後給出的評價是:字字璣珠,深入人心,猛回頭,自己一無是處···大牛告訴我們應該好好學習與修鍊以下知識與技能Java語言學習(對線程(thread),序列化,反射,網路編程,JNI技術,容器(Map,List, Iterator), 類載入器(ClassLoader),輸入輸出資料流,記憶體回收機制,
Time of Update: 2018-12-04
程式運行時,對象時怎麼進行放置安排的?特別記憶體是怎麼分配的?對於這方面的瞭解對我們理解程式的運行有很大的協助。有五個地方可以儲存資料:1》儲存空間。這是最快的儲存區,因為它位於不同於其他儲存區的地方——處理器內部。但是寄存器的數量極其有限,所以寄存器根據需求進行分配。2》堆棧。堆棧簡稱棧(stack),位於通用RAM,但通過堆棧指標可以從處理器那裡獲得直接支援。堆棧指標若向下移動,則分配新的記憶體;若向上移動,則釋放那些記憶體。這是一種快速有效分配儲存方式,僅次於寄存器。java的對象引用就儲
Time of Update: 2018-12-04
一.重載重載(Overloading):(1) 方法重載是讓類以統一的方式處理不同類型資料的一種手段。多個同名函數同時存在,具有不同的參數個數/類型。重載Overloading是一個類中多態性的一種表現。 (2) Java的方法重載,就是在類中可以建立多個方法,它們具有相同的名字,但具有不同的參數和不同的定義。調用方法時通過傳遞給它們的不同參數個數和參數類型來決定具體使用哪個方法, 這就是多態性。 (3)
Time of Update: 2018-12-04
經過了上一篇的講解,看看下面這些題你能做對多少問題一//下面這段代碼的輸出結果是什嗎?public class Test1 {public static void changeStr(String str) {str = "welcome";}public static void main(String[] args) {String str = "1234";changeStr(str);System.out.println(str);}}問題二public class Test{
Time of Update: 2018-12-04
先看看下面的這段代碼,這個例子將說明類載入的順序。也可以直接略過代碼,直接看下面的圖:class GrandFather{GrandFather(){System.out.println("the GrandFather constructor is initialized");}static{System.out.println("the GrandFather static filed is initialized");}}class Father extends
Time of Update: 2018-12-04
1. 選擇排序選擇排序的基本思想是遍曆數組的過程中,以 i 代表當前需要排序的序號,則需要在剩餘的 [i…n-1] 中找出其中的最小值,然後將找到的最小值與 i 指向的值進行交換。因為每一趟確定元素的過程中都會有一個選擇最大值的子流程,所以人們形象地稱之為選擇排序。舉個執行個體來看看:初始: [38, 17, 16, 16, 7, 31, 39, 32, 2, 11]i = 0: [2 , 17, 16, 16, 7, 31, 39, 32, 38 , 11]
Time of Update: 2018-12-04
這兩天想整個linux下的安卓開發環境,但是在安裝sun的java6時卻遇見了很大的問題開始找不到源...等等各種問題最後裝上的方法是下載了官網的java6的bin檔案,然後修改/etc/profile檔案,指定java的位置,這樣就有了java的命令然後需要個命令指定java命令是哪個軟體提供的,也就是預設軟體,之所以這樣設定,就是因為怕你的電腦上裝了好幾個java比如ubuntu內建的openjdk(我的預設沒有安裝),java5,java6等 update-alternatives
Time of Update: 2018-12-04
開篇語:這篇文章是 java面試那件小事 系列文章的第一篇。該系列的文章將所有的讀者都想象成是一個初學者,由淺入深的引入java相關的一些問題。這些問題都是sandeziVIP和朋友一起整理,或在群裡或在論壇或查閱網路收集的一些出現頻率較高且重要,當然也是必須要掌握的內容。如果你認為i你已經超出初學者了,卻不是很懂每篇文章開頭引入的幾個問題,請把自己重歸到初學者的行列。java基礎知識篇將涉及到
Time of Update: 2018-12-04
//JDBC-ODBC橋接方式 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");DriverManager.getConnection("jdbc:odbc:test",user,Pwd );//其中test是配置好的ODBC資料來源名稱連Access資料庫或者沒有對應資料庫驅動時可以採用//sql2000串連方式
Time of Update: 2018-12-04
1.在用MyEclipse開發的時不用配置環境變數,因為MyEclipse是個整合的IDE,之中指定了jre。環境變數配置與否和開發沒有關係,環境變數是給成品用的。 2. 除非要在命令列下用javac命令來編譯java程式,否則不需要設定classpath環境變 量,如其他JAVA教程中所說的那樣設定classpath環境變數為d:\jdk\lib\tools.jar;d:\jdk\lib\dt.jar,這對Eclipse運行也沒有什麼影響。 3.
Time of Update: 2018-12-04
同步博文地址:http://august.b3log.org/articles/2012/07/16/1342420675028.html昨天在一個群裡面一個群友問道final 方法可不可以重載,我不假思索的說final 方法不能繼承不能重載。後來晚上睡不著覺想想總覺得不對頭,翻翻書一看自己簡直就是胡說八道,才意識到這些基礎概念的東西時間久了不深究很容易模糊變得模稜兩可,尤其對於自己這種學東西不求甚解的人來說更是家常便飯。帶著昨天血淋淋的教訓,決定重頭來過,今天這篇小筆記就算是一個開始吧!
Time of Update: 2018-12-04
做了個簡單的麵包屑導航功能,比如頁面上大家經常看到的這種導航: 您所在的位置:音樂社區-->使用者模組-->使用者註冊 我做成了標籤的形式,利用jom4j來解析xml檔案: 核心類SiteMapTag.java: Java代碼 package com.market.common;import java.io.InputStream;import java.util.ArrayList;import java.util.Iterator;import
Time of Update: 2018-12-04
Regex的構造摘要 構造匹配 字元x字元x\\反斜線字元\0n帶有八進位值0 的字元 n (0 <= n <= 7)\0nn帶有八進位值0 的字元 nn (0 <= n <= 7)\0mnn帶有八進位值0 的字元 mnn(0 <= m <= 3、0 <= n <= 7)\xhh帶有十六進位值 0x 的字元hh\uhhhh帶有十六進位值 0x 的字元hhhh\t定位字元 ('\u0009')\n新行(換行)符 ('\u000A')\r斷行符號符
Time of Update: 2018-12-04
1.什麼是類與對象?答:所謂對象就是真實世界中的實體,對象與實體是一一對應的,也就是說現實世界中每一個實體都是一個對象,它是一種具體的概念。 類是具備某些共同特徵的實體的集合,它是一種抽象的概念,用程式設計的語言來說,類是一種抽象的資料類型,它是對所具有相同特徵實體的抽象。2.屬性與方法?答:不同對象具有相同特點,就可能抽象為一定的類,那麼這些特點基本上可以分為兩類,一類是描述對象靜態狀態的,就是對象的屬性,
Time of Update: 2018-12-04
小記:>>1
Time of Update: 2018-12-04
Java語言定義了public、protected、private、abstract、static和final這6常用修飾詞外還定義了4個不太常用的修飾詞,下面是對這10個Java修飾詞的介紹:1.public適用對象:類、介面、成員。介紹:無論所屬的包定義在哪,該類(介面、成員)都是可訪問的。2.private適用對象:成員。介紹:成員只可以在定義它的類中被訪問。3.static適用對象:類、方法、變數、初始化函數。介紹:static修辭的內部類是一個頂級類,它和類包含的成員是不相關的。靜態
Time of Update: 2018-12-04
是個程式員都知道,在C/C++裡面交換值的方法:void swap(int&a ,int&b){ int temp; temp = a; a = b; b = temp;}但在JAVA中用這種方法是行不通的,因為“Java對普通類型的變數是不支援引用傳遞的”。怎麼辦呢? 1. 可以像下面這樣通過傳數組(也屬於傳值)的方法來完成對換(在很多排序演算法裡面就是這麼乾的):public static void swap(int[] data, int a,
Time of Update: 2018-12-04
I'm now ready to study Java again. It has been years since last time I touched it, and will rework with it sooner.First of all, I have to create a basic environment for developping Java. OSWindows 7Java Version1.7.0Source code