這些日子要用爪哇語言(Java)做內存數據中心。於是把用 Java 監控運行環境硬件資源的內容复習了一下。爪哇類庫提供了 java.util.Runtim 類,主要負責調用爪哇虛擬機(JavaVM)外部的基層操作系統功能、處理基於一種叫鉤子的原理的程序、獲取系統資源信息以及控制調試信息生成。本文單獨利用其獲取系統資源信息的功能。

java.util.Runtim 類具有以下幾個方法和獲取系統資源信息有關。以下代碼可不是簡簡單單從標准類庫裏邊复制出來的哦。全球目前獨此一份。

/**
* 返回爪哇(Java)虛擬機可用線程數。
*
* <p>該值在特定的虛擬機調用期間可能發生更改。因此,對可用處理器數目很敏感的
* 應用程序應該不定期地輪詢該屬性,並相應地調整其資源用法。</p>
*
* @return 虛擬機可用的最大處理器數目;從不小於 1
* @since 1.4

戮克 發表在 痞客邦 留言(0) 人氣()

在android項目中經常會出現下面的錯誤:

 

 

Multiple markers at this line
- implements android.view.View.OnClickListener.onClick
- The method onClick(View) of type new View.OnClickListener(){} must

override a superclass method

 

 

原因:JDK1.5不支援這種寫法。實現介面方法需要重寫抽象方法。

戮克 發表在 痞客邦 留言(0) 人氣()

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
android:layout_width="fill_parent"
android:orientation="vertical"
android:padding="8dip"
android:layout_height="wrap_content" >

戮克 發表在 痞客邦 留言(0) 人氣()

使用JAVA程式從數據庫中查詢大量的數據時出現異常:java.lang.OutOfMemoryError: JAVA heap space

在JVM中如果98%的時間是用於GC且可用的 Heap size 不足2%的時候將拋出此異常資訊。

 

JVM堆的設置是指java程式運行過程中JVM可以調配使用的內存空間的設置.JVM在啟動的時候會自動設置Heap size的值,其初始空間(即-Xms)是物理內存的1/64,最大空間(-Xmx)是物理內存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等選項可進行設置。
例如:java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar
如果Heap Size設置偏小,除了這些異常資訊外,還會發現程式的響應速度變慢了。GC佔用了更多的時間,而應用分配到的執行時間較少。
Heap Size 最大不要超過可用物理內存的80%,一般的要將-Xms和-Xmx選項設置為相同,而-Xmn為1/4的-Xmx值。
Heap size的 -Xms -Xmn 設置不要超出物理內存的大小。否則會提示「Error occurred during initialization of VM Could not reserve enough space for object heap」。

 

這個問題的根源是jvm虛擬機的默認Heap大小是64M,可以通過設置其最大和最小值來實現.設置的方法主要是幾個.

戮克 發表在 痞客邦 留言(0) 人氣()

//先得到Dialog的整個view
View v=dialog.getWindow().getDecorView();
//調用私有方法
setDialogText(v);

//遍歷整個View中的textview,然後設置其字體大小
private void setDialogText(View v){
if(v instanceof ViewGroup){
ViewGroup parent=(ViewGroup)v;
int count=parent.getChildCount();
for(int i=0;i<count;i++){

戮克 發表在 痞客邦 留言(0) 人氣()

clear-default.jpgclear-default-2.jpg  

相信大家初玩 Android 手機都會遇過同樣的問題,就是不知道如何解除程式的預設值,其實解除的方法頗為間接,是 Android 系統其中一個幾唔 User Friendly 的地方,所以新手會很難發現有關的功能。

解除預設值的步驟如下:

  1. 開啟【設定】程式
  2. 點選【應用程式】
  3. 點選【管理應用程式】
  4. 點選被設定為預設的程式
  5. 進入資訊頁面後,拉下就會發現【清除預設值】的按鈕(右圖)
  6. 只要按一下,便再次出現完成操作需使用的程式列表(左圖)

戮克 發表在 痞客邦 留言(0) 人氣()