java基礎學習(1)

一、利用介面實現多種形狀面積累加public interface Shape {//protected double area;public abstract double computeArea();}public class Rectangle implements Shape {protected double width,height;public Rectangle(double _width,double _height) {// TODO Auto-generated

java Map 怎麼遍曆

import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;public class Du {public static void main(String[] args) {Map map = new HashMap();visitMapByKey(map);//通過key遍曆visitMapByEntry(map);//通過entry遍曆}private

Andoird 中使用了一種不同傳統Java JNI的方式來定義其native的函數

Andoird 中使用了一種不同傳統JavaJNI的方式來定義其native的函數。其中很重要的區別是Andorid使用了一種Java 和 C函數的映射表數組,並在其中描述了函數的參數和傳回值。這個數組的類型是JNINativeMethod,定義如下: typedef struct {const char* name;const char* signature;void* fnPtr;}

java金額轉換

註:此程式是根據網上的一位網友的程式最佳化改編而來。因為該網友的網址記不清了,所以未註明原來的出處。見諒!package com.work.util;/** * @author wangmj * 編寫時間:2005-8-2 <br /> * 最佳化:2008-07-03 * 類的名稱為:RMB.java <br /> * 比較完善的解決方案。 測試通過。 <br /> *

java陽曆轉換成陰曆

package com.work.util;/** * @author wangmj * 編寫時間:2005-8-2 <br /> * 所在的project名稱:00newframe <br /> * 類的名稱為:Lunar.java <br /> */import java.util.Calendar;import java.util.Date;import

簡單且安全執行緒的兩個單例模式java程式

package com.work.pattern;public class Singleton2 {private static Singleton2 instance = new Singleton2();private Singleton2(){}public static Singleton2 getInstance(){return instance;}}================單例模式二====================================package

Dalvik虛擬機器和一般JAVA虛擬機器(Java VM)不同

Dalvik虛擬機器和一般JAVA虛擬機器(Java VM)不同,它執行的不是JAVA標準的位元組碼(bytecode)而是Dalvik可執行格式(.dex)中執行檔案。在執行的過程中,每一個應用程式即一個進程(Linux的一個Process)。二者最大的區別在於:Java VM是以基於棧的虛擬機器(Stack-based),Dalvik是基於寄存器的虛擬機器(Register-based)。    應用程式架構(Application Framework)   

java泛型——幾種使用方式

概要:介紹泛型的幾種使用方法。簡單類和介面的定義:public class Pair<T> {private T first;public Pair(T first) {this.first = first;}public T getFirst() {return first;}}public interface ICache<K, V> {public V put(K key, V value);public V get(K

JVM——Java棧

每當啟動一個新線程時,Java虛擬機器都會為它分配一個Java棧。Java棧以幀為單位儲存線程的運行狀態。虛擬機器只會直接對Java棧執行兩個操作:以幀為單位的壓棧或出棧。當線程調用一個Java方法時,虛擬機器都會在該線程的Java棧中壓入一個新棧。棧幀:棧幀由三部分組成:局部變數,運算元棧和棧資料區。當虛擬機器調用一個Java方法時,它從對應類的資訊中得到此方法的局部變數和操作資料棧的大小,並據此分配棧幀記憶體,然後壓入Java棧中。1)局部變數:Java棧幀的局部變數區被組織為一個以位元組為

測試Java的synchronize和ReentrantLock在單線程下的效率

ReentrantLock 在多線程情況下要遠勝synchronize,這點沒有疑問。最近要寫個程式,有個變數是有多數情況下是一個線程讀寫,有少數情況下是多個線程並發讀寫。所以要測試下ReentrantLock 在單線程下和synchronize的效率對比。在測試的過程中發現一個有意思的現象。測試代碼見後面。測試代碼1結果:noLockTime: 0:00:00.004noLockTime: 0:00:00.006noLockTime: 0:00:00.000syncTime: 0:00:02.

從Java中String的subString函數說起

今天在用VisualVM查看進程的堆dump時,發現一些有意思的地方,見:在“OQL控制台”頁面中可以看到“資源過度分派的字串”,“布爾值太多”。從這裡,可以看到一些有意思的地方。有記憶體回收機制的語言通常有很多最佳化1..String是不能改變的,所以subString通常是和原來的String使用的是同一份記憶體,不會有記憶體拷貝。所以有可能會出現有一個小字串佔用了大記憶體的情況。2.Boolean通常只有兩個執行個體,一個是Boolean.TRUE,一個是Boolean.False。3.I

為什麼Java中的HashMap的get函數是get(Object key),而不是get(K key)?

幫別人的代碼改bug,發現有一大堆bug是由get或者remove傳遞進去的參數類型不符而造成的。比如:Map<Short, String> m = new HashMap();m.put(new Short((short) 2),

Java中的幾個HashMap

一、HashMap,即java.util.HashMap標準鏈地址法實現。這個不用多解析,十分明了。(圖片來自網路)二、Collections.synchronizedMap() 函數返回的安全執行緒的HashMap這個的實現比較簡單。代碼中有: private final Map<K,V> m; // Backing Map final Object mutex;// Object on which to

Java調用Webservice(asmx)的例子

import java.util.LinkedList;import java.util.List;import java.util.Map;import java.util.Vector;import javax.xml.namespace.QName;import org.apache.axis.client.Call;import org.apache.axis.client.Service;public class PutWeather { private String url=

JAVA判斷32位還是64位,調用不同的DLL

JAVA判斷32位還是64位,調用不同的DLL通過擷取sun.arch.data.model可判斷是32還是64的JAVA將32或者64位的DLL放不同的目錄,實現自適應調用DLL  Properties props = System.getProperties();  String bits=String.valueOf(props.get("sun.arch.data.model"));    String path =

Java(TreeMap,Set,List)排序

對於Set要實現排序功能,一般有兩種途徑,這裡對基本類型不適用,基本類型一般有Arrays中的靜態方法.1.對象本身實現Comparable介面,那麼該類的執行個體就是可以排序的.有關Comparable:

java產生帶邊框的小圖的方法

import java.io.File;import java.io.FileOutputStream;import java.awt.Color;import java.awt.Graphics;import java.awt.Image;import java.awt.image.BufferedImage;import com.sun.image.codec.jpeg.JPEGCodec;import

Java數組排序(冒泡,選擇,插入,希爾)

public class SortAll { /** * 冒泡排序,選擇排序,插入排序,希爾(Shell)排序 Java的實現 * 2008.11.09 * @author YangL. (http://www.idcn.org) */public static void main(String[] args) { int[] i = { 1, 5, 6, 12, 4, 9, 3, 23, 39, 403, 596, 87 };

java郵件入門執行個體

第一個類SmtpAuth: import javax.mail.Authenticator;import javax.mail.PasswordAuthentication;public class SmtpAuth extends Authenticator {private String username, password;public SmtpAuth(String username, String password) {this.username =

java常見的ClassNotFoundException

  1 - java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory   添加包common-logging.jar2 - java.lang.ClassNotFoundException: javax.transaction.Synchronization     添加包jta.jar(hiberante)3 - java.lang.ClassNotFoundException:

總頁數: 4058 1 .... 1425 1426 1427 1428 1429 .... 4058 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.