Time of Update: 2017-02-28
做了較長時間的android開發了,發現其實android應用開發入門容易,但是進階或者成為進階工程師,需要具備的基礎能力還是非常高的:效能最佳化、記憶體泄露、apk瘦身、熱修複等等,這些都非常的考驗一個人的能力。android成長之路還很長,自己會持續的走下去。本文主要介紹android記憶體泄露方面的知識。其實要真的理解記憶體泄露,需要對JVM、java語言有一定的瞭解,在這個基礎上就比較容易理解本文了。一.記憶體泄露概念在java中,如果一個對象沒有可用價值了,但又被其他引用所指向,那麼這
Time of Update: 2017-02-28
開啟終端,執行以下命令,或使用Adept/Synaptic軟體管理器,在其中分別搜尋“sun-java6-jre“和“sun-java6-jdk”並標記安裝。sudo apt-get install sun-java6-jre如果空間富裕,建議安裝一個JDK。呵呵sudo apt-get install sun-java6-jdk 提示:安裝過程中需要你回答是否同意使用協議(終端中紅藍色的提示介面),此時按tab鍵至OK,再按斷行符號即可正常安裝
Time of Update: 2017-02-28
學會了單鏈表的基本操作之後,我們就可以自訂一些非常有意思的功能了,例如對單鏈表中的元素進行排序,(定序可以由自己定),將鏈表翻轉等等,這裡主要是講老師布置的幾個問題,我覺得也非常有趣,大家也可以思考一下,由於這些方法幾天前就寫完了,五一假在家中也沒有對之前的鏈表進行更多的修改了,所以還是用之前所寫過的單鏈表結構繼續添加功能吧。在實現所有功能之前先來個前言,接下來的這兩個方法對後面的每一步都是至關重要的,第一個是擷取鏈表長度的方法:擷取鏈表長度的方法其實可以是列印鏈表方法的翻版,我最開始的時候也是
Time of Update: 2017-02-28
大家都知道,Regex是一種可以用於模式比對和替換的規範,一個Regex就是由普通的字元(例如字元a到z)以及特殊字元(元字元)組成的文字模式,它用以描述在尋找文字主體時待匹配的一個或多個字串。Regex作為一個模板,將某個字元模式與所搜尋的字串進行匹配。自從jdk1.4推出java.util.regex包,就為我們提供了很好的JAVARegex應用平台。因為Regex是一個很龐雜的體系,所以我僅例舉些入門的概念,更多的請參閱相關書籍及自行摸索。\\ 反斜線\t 間隔 ('\u0009')\n
Time of Update: 2017-02-28
交易處理是公司專屬應用程式需要解決的最主要的問題之一。J2EE通過JTA提供了完整的交易管理能力,包括多個事務性資源的管理能力。但是大部分應用都是運行在單一的事務性資源之上(一個資料庫),他們並不需要全域性的事務服務。本地事務服務已然足夠(比如JDBC交易管理)。本文並不討論應該採用何種交易處理方式,主要目的是討論如何更為優雅地設計事務服務。僅以JDBC交易處理為例。涉及到的DAO,Factory,Proxy,Decorator等模式概念,請閱讀相關資料。也許你聽說過,交易處理應該做在servi
Time of Update: 2017-02-28
在TCP/IP 互連網時,經常會需要查詢自己主機的IP地址和www伺服器的IP地址。雖然,我們可以使用IPCONFIG 和PING 進行IP地址查詢,但是如果在應用程式或APPLET中使用此命令會破壞我們應用程式介面。為此本人使用JAVA 做了一個簡單的程式可以直接查詢自己主機的IP地址和www伺服器的IP地址:// 檔案名稱為 NetTool.java (注意:在JAVA 語言中大小寫敏感)import java.net.*;public class NetTool{InetAddress
Time of Update: 2017-02-28
線程間的通訊1. 線程的幾種狀態線程有四種狀態,任何一個線程肯定處於這四種狀態中的一種:1) 產生(New):線程對象已經產生,但尚未被啟動,所以無法執行。如通過new產生了一個線程對象後沒對它調用start()函數之前。2)
Time of Update: 2017-02-28
Builder定義一步一步從簡單對象建立起複雜物件何處使用和益處僅僅明確類型和內容就可以做出一個複雜物件。建成的對象與建立它的細節分開。將建立一個複雜物件的過程和該對象所包含的組件做接耦化。將建立和表達的代碼分離。程式員對建立的過程有更好的控制。相關模式包括:抽象原廠模式,它主要是集中在原廠模式的層面,也許簡單,也許複雜。而一個Builder模式主要用來建立基於簡單對象的複雜物件。複合模式,主要用來建立複雜物件。舉例比如建一個房子,我們需要這麼幾步:1 打基礎2 建架構3 建室外4
Time of Update: 2017-02-28
我用C++寫過一個,代碼不在身邊.不過可以提示一下,將金額4位一分,比如1234567可以拆分為1234和567.另外,數字中間有零的話必須寫零,但要注重多個零的情況.具體的怎麼寫你可以問問做財務的人.---------------------------------------------------------------我以前寫過說一下思路先把數字分成整數小數假如整數100909應該是十萬零九百零九有數組一個:零,一,二,三,四,五,六,七,八,九一個:元,角,分,厘一個:元,十,百,千,
Time of Update: 2017-02-28
當兩個進程在進行遠程通訊時,彼此可以發送各種類型的資料。無論是何種類型的資料,都會以二進位序列的形式在網路上傳送。發送方需要把這個Java對象轉換為位元組序列,才能在網路上傳送;接收方則需要把位元組序列再恢複為Java對象。把Java對象轉換為位元組序列的過程稱為對象的序列化。把位元組序列恢複為Java對象的過程稱為對象的還原序列化。對象的序列化主要有兩種用途:1) 把對象的位元組序列永久地儲存到硬碟上,通常存放在一個檔案中;2)
Time of Update: 2017-02-28
一,我們所看不到的:1,如果java檔案沒有package,就預設給檔案加上"無名"package;2,預設匯入java.lang包,所以我們的java程式中可以使用Sting,Math,Integer等類,包括一些異常類;3,如果產生的類沒有父類,則為這個類隱式加上父類:Object;因此,包括Object中的許多方法可以使用;4,欄位的初始化;二,我們所看的到的:既然看的到,就先看程式運行結果:public class JRun1 {public JRun1()
Time of Update: 2017-02-28
最近開發過程中碰到一個問題,就是將網頁通過流讀進記憶體然後記錄表單中各個屬性的id值。例如:將<input type='text' id='baijinshan' name='baijinshan' >的id記錄下來java代碼package cn.bai.test;import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexTest { /** * @param args */
Time of Update: 2017-02-28
1.0 用java調用windows系統的exe檔案,比如notepad,calc之類:public class Demo{public static void main(String args[]){Runtime rn=Runtime.getRuntime();Process p=null;try{p=rn.exec(notepad);}catch(Exception e){System.out.println("Error exec
Time of Update: 2017-02-28
檔案的建立與刪除首先取得當前的磁碟路徑,指定要建立的檔案的路徑,再進行檢查,如果檔案不存在,如果檔案不存在,則建立這個檔案,如果檔案存在,則刪除這個檔案。CreateDelete.jsp<%@ page contentType="text/html; charset=GB2312"%><%@ page import="java.io.*" %><%@ page language="java"
Time of Update: 2017-02-28
下面討論的是數組的排序和搜尋功能,而一個通用方法則是實現Comparable介面的方法,這個方法需要通過java泛型來實現。下面便逐步講解為何,以及如何通過Java泛型實現此類的通用方法。如何在java類中一些通用方法,特別是一些靜態工具方法?比如,數組Arrays的sort、search等?1. 整數數組的順序收縮public static int seqSearch(int[] arr, int first, int last, int target) { for (int i =
Time of Update: 2017-02-28
最近在一個項目的實施過程中,由於客戶是國內該行業業務的領導者,業務表格並沒有真正的確定,一直在不斷的完善。所以程式的業務表單一直被客戶牽制,一直跟著業務更改,要想非常出色的支撐整個項目和實現真正意義上的業務表單與整個項目松耦合整合才能達到最好的實施效果和最高的開發效率。經過與公司總監、總工程師多次探討,決定開發動態表單外掛程式,以滿足客戶業務表格不斷變化的需求。動態表單外掛程式,即為由客戶確定業務表格,通過外掛程式錄入到動態表單核心程式,產生業務表單。具體實現思路:1、手工製作帶有特殊標記的ht
Time of Update: 2017-02-28
1、UCenter建議使用GBK版本,原因是PHP4/5對UNICODE(UTF-8)的支援不足,分解出來的數字與其他支援UNICODE的語言不同,以至於authcode的時候將出現偏差,非拉丁文本將不匹配,即導致中文使用者名稱無法正常同步。但其他語言的API可以使用UTF-8,再在 authcode之前將文本轉換成GBK即可。2、java下有一個UCenter的API,可以較方便的在Java環境下調用UCenter介面,地址是
Time of Update: 2017-02-28
Mustang(也稱作Java SE 6),如今剛進入其第二個測試階段。本文作者將同你進一步探討這個新的發行版本中所提供的許多新的特徵(從控制台I/O和存取許可權控制方法到系統托盤API和表格排序和過濾等)。一、引言Mustang(也稱作Java SE
Time of Update: 2017-02-28
Java 2 Enterprise Edition(J2EE)遠程方法調用(Remote Method
Time of Update: 2017-02-28
在並發環境下,解決共用資源衝突問題時,可以考慮使用鎖機制。1.對象的鎖所有對象都自動含有單一的鎖。JVM負責跟蹤對象被加鎖的次數。如果一個對象被解鎖,其計數變為0。在任務(線程)第一次給對象加鎖的時候,計數變為1。每當這個相同的任務(線程)在此對象上獲得鎖時,計數會遞增。只有首先獲得鎖的任務(線程)才能繼續擷取該對象上的多個鎖。每當任務離開一個synchronized方法,計數遞減,當計數為0的時候,鎖被完全釋放,此時別的任務就可以使用此資源。2.synchronized同步塊2.1同步到單一對