Time of Update: 2018-12-03
之前使用過Java API進行檔案的壓縮與解壓縮,對於中文的處理問題是一個很大的問題(這個問題在新版的java jdk裡面好像已經解決),由於這個原因,後來找來了Apache解決了中文問題. 但是不管是使用jdk內建的還是外部的API,進行檔案的壓縮效能都提不上去.這種方式要是壓縮比較大的檔案時,要佔用太多的虛擬機器資源,這不是什麼好的點子. 在這篇部落格中,將簡單說明怎麼用Java API調用外部程式進行檔案的壓縮和解壓縮.
Time of Update: 2018-12-03
當然要看你怎麼定義by value 和 by reference。Java的官方文檔【3】中如此描述:“When the method or constructor is invoked, the values of the actual argument expressions initialize newly created parameter
Time of Update: 2018-12-03
首先看一個例子:Set operations: union(並集), intersection(交集),asymetric difference(非對稱差集), symmetric difference(對稱差集), is subset(子集), is superset(超集)import java.util.Set;import java.util.TreeSet;public class SetTest { public static <T> Set<T>
Time of Update: 2018-12-03
首先看樣本:/** * Method One */interface ConstantInterface {String SUNDAY = "SUNDAY";String MONDAY = "MONDAY";String TUESDAY = "TUESDAY";String WEDNESDAY = "WEDNESDAY";String THURSDAY = "THURSDAY";String FRIDAY = "FRIDAY";String SATURDAY = "SATURDAY";}/**
Time of Update: 2018-12-03
垃圾收集是Java語言非常顯著的特點,不像C語言那樣,老是要考慮什麼數位越界什麼的。什麼是垃圾(garbage)呢?“An object is considered garbage when it can no longer be reached from any pointer in the running program.”首先要瞭解一下記憶體的分配:靜態分配( Static Allocation ):靜態變數和全域變數的分配形式。自動分配( Automatic
Time of Update: 2018-12-03
這幾天學習了一下Kent Beck的《實現模式(Implementation Patterns)》,可能是由於剛讀完《Design Patterns》的原因,覺得作者的語言使用太過於隨意話,《design patterns》的邏輯性更勝一籌。所謂的實現模式,也不乏一些編程技巧,從設計模式的角度來看,只不過是一些trick而已。而且書中好多地方比較牽強。可能由於我不是java程式員的緣故,書中好多內容不能理解,但是還是堅持看了下來。細讀了collections一章並做如下筆記。1
Time of Update: 2018-12-03
我用java調用mencoder實施轉碼,但是轉碼過程中出現子進程阻塞,而且還是看了API才知道這個問題的。因為mencoder的控制台輸出資訊很多,把緩衝區所有的空間佔滿了,所以程式不能執行後面的程式,mencoder就只能轉碼28秒的視頻,所以需要建立線程及時清空緩衝區。 建立一個類StreamGobble類: package thss.jmencoder;import java.io.BufferedReader;import java.io.IOException;import
Time of Update: 2018-12-03
//java code fileimport javax.swing.*;import java.awt.*;import java.awt.event.*;import java.net.*;public class WelcomeApplet extends JApplet{public void init(){setLayout(new BorderLayout());JLabel label = new JLabel(getParameter("greeting"),
Time of Update: 2018-12-03
東西是轉的,供大家學習。有些東西要想徹底的記住就是徹底的瞭解它。public class Untitled1 { public Untitled1() { } public static void main(String[] args) { Untitled1 untitled11 = new Untitled1(); String s1="STRING類的值是不是會變的->"; String s2=s1; System.out.println(
Time of Update: 2018-12-03
此文中的代碼主要列出串連資料庫的關鍵代碼,其他訪問資料庫代碼省略 1、Oracle8/8i/9i資料庫(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl為資料庫的SID String user="test"; String passWord="test"; Connection
Time of Update: 2018-12-03
初學Java語言, 代碼中的extends和implements讓我感到很迷惑,現在終於弄明白它們之間的區別和用法了。//定義一個Runner介面public inerface Runner{ int ID = 1; void run ();} //定義一個interface Animal,它繼承於父類Runnerinterface Animal extends Runner{ void breathe
Time of Update: 2018-12-03
Java通過JNI機制調用c/c++寫的native程式。c/c++開發的native程式需要遵循一定的JNI規範,下面的例子就是一個JNI函式宣告:JNIEXPORT jint JNICALL Java_jnitest_MyTest_test (JNIEnv * env, jobject obj, jint arg0);JVM負責從Java Stack轉入C/C++ Native
Time of Update: 2018-12-03
Binder 系統可以運行在Android Native環境,但在Java虛擬機器中卻運行不了。因此,要在Java環境中使用Binder通訊,就需要調用一些JNI native函數(/android_runtime/android_util_Binder.cpp) 擷取IServiceManagerServiceManager.java檔案管理著Java層的所有服務。如果要調用ServiceManager.java中的任何函數,都必須先擷取到IserviceManager這個介面。
Time of Update: 2018-12-03
java.net.SocketException: Permission denied05-18 01:34:48.549: WARN/System.err(406): java.net.SocketException: Permission denied05-18 01:34:48.558: WARN/System.err(406): at org.apache.harmony.luni.platform.OSNetworkSystem.socket(Native
Time of Update: 2018-12-03
1)概念:是在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法;這種動態擷取的資訊以及動態調用對象的方法的功能稱為java語言的反射機制。2)功能: 在運行時判斷任意一個對象所屬的類; 在運行時構造任意一個類的對象; 在運行時判斷任意一個類所具有的成員變數和方法; 在運行時調用任意一個對象的方法; 產生動態代理。3)獲得某個對象的具體屬性:Class ownerClass =
Time of Update: 2018-12-03
網上有很多說法,對我都不行,因為我的檔案在java運行沒問題,android底下有問題,使用舊版的工程沒問題,新版的工程有問題,然後我就一個一個檔案對比,才發現manifest.xml檔案的問題。以前的只有最小android版本號碼,可是最新的android建立工程時,自動添加了一個android:targetSdkVersion="15" 把它刪除httpdownloader就好了,具體的這個語句什麼意思,大家可以在網上查看一下,應該有很多解釋。
Time of Update: 2018-12-03
import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;public class 保留兩位小數 {double f = 111231.5585;public void m1() {BigDecimal bg = new BigDecimal(f);double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(
Time of Update: 2018-12-03
今天偶爾做了一個java題,直接被鄙視了。貼代碼package 考試;public class Demo {public static void main(String[] args) {int i = 10;switch (i) {default:System.out.println("default");case 0:System.out.println("0");break;case 1:System.out.println("1");case 2:System.out.println("
Time of Update: 2018-12-03
1.抽象過程萬物皆對象。程式是對象的集合,他們通過發送訊息來告知彼此要做的。每個對象都有自己的由其他對象所構成的儲存。每個對象都擁有其類型。某一特定類型的所有對象都可以接收同樣的訊息。2.每個對象都有一個介面一個類就是一個資料類型。物件導向程式設計的挑戰之一:就是在問題空間的元素和解空間的對象之間建立一對一的映射關係。3.每個對象都提供服務。當你試著理解一個程式的時候,最好的方法之一就是將對象想象為“服務提供者”這樣理解有一個好處:提供對象的內聚性。(高內聚是軟體設計的基本品質要求之一)4.被隱
Time of Update: 2018-12-03
1.儘管java是基於C++的,但是相比之下,java是一種更純粹物件導向程式設計語言。2.一切都被視作對象儘管一切都看做對象,但操作的標識符實際上是對象的一個引用,可以將這個情形想象成遙控器和遙控之間的關係。用遙控器(引用)來操作電視機(對象)。沒有電視機,遙控器也可獨立存在。3.儲存到什麼地方?寄存器:這是最快的儲存區,因為它位於處理器內部,但是數量有限。堆棧:位於通用RAM(隨機訪問儲存區),但是可以通過堆棧指標從處理器那裡獲得直接支援。堆棧指標若向下移動則分配新的記憶體,若向上移動則釋放