Time of Update: 2017-01-19
一、不可變類簡介不可變類:所謂的不可變類是指這個類的執行個體一旦建立完成後,就不能改變其成員變數值。如JDK內部內建的很多不可變類:Interger、Long和String等。可變類:相對於不可變類,可變類建立執行個體後可以改變其成員變數值,開發中建立的大部分類都屬於可變類。二、不可變類的優點說完可變類和不可變類的區別,我們需要進一步瞭解為什麼要有不可變類?這樣的特性對JAVA來說帶來怎樣的好處?1.安全執行緒不可變對象是安全執行緒的,線上程之間可以相互共用,不需要利用特殊機制來保證同步問題,因
Time of Update: 2017-01-19
本文執行個體講述了java實現酷狗音樂臨時快取檔案轉換為MP3檔案的方法。分享給大家供大家參考,具體如下:酷狗臨時快取檔案,其實已經是吧MP3檔案下載好了,只是名字看上去好像是通過md5演算法重新命名的。酷狗在快取檔案的時候會同時緩衝歌詞。這個程式就是根據md5管理對應的歌詞檔案和快取檔案,然後把快取檔案改成 歌曲名+.mp3格式。原諒我取這麼長也不知道對不對的類名。package com.zhou.run;import java.io.File;import
Time of Update: 2017-01-19
java.util.Scanner類是一個簡單的文本掃描類,它可以解析基礎資料型別 (Elementary Data Type)和字串。它本質上是使用Regex去讀取不同的資料類型。Java.io.BufferedReader類為了能夠高效的讀取字元序列,從字元輸入資料流和字元緩衝區讀取文本。下面是兩個類的不同之處:當nextLine()被用在nextXXX()之後,用Scanner類有什麼問題嘗試去猜測下面代碼的輸出內容;// Code using Scanner Classimport
Time of Update: 2017-01-19
複合主鍵映射需要在映射設定檔中使用<composite-id>標籤,該標籤是指將一個類指定為相應的複合主鍵,它的name屬性需要指定類檔案中定義的屬性值,並在該標籤中添加<key-property>子標籤。Note:想要使用複合映射必須要將複合主鍵放到一個類中,也就是講複合主鍵屬性和其它屬性分到兩個類中,並將複合主鍵的類實現介面Serializable,該介面隸屬於java.io。複合主鍵的映射關係的主鍵是由多個列複合而成的,對應到資料表中相當的簡單,如下圖:1、類檔案這
Time of Update: 2017-01-19
DataInputStream DataInputStream 是資料輸入流。它繼承於FilterInputStream。DataInputStream 是用來裝飾其它輸入資料流,它“允許應用程式以與機器無關方式從底層輸入資料流中讀取基本 Java 資料類型”。應用程式可以使用DataOutputStream(資料輸出資料流)寫入由DataInputStream(資料輸入流)讀取的資料。DataInputStream 函數列表:DataInputStream(InputStream
Time of Update: 2017-01-19
今天遇到一個需求對上傳的圖鋪滿浮水印,在網上找了半天都是在指定位置設定浮水印,下面代碼是我通過在網上找的代碼,然後改造而成的。我們先看一下效果圖 下面講實現方法:第一步:使用ps或美圖軟體設計浮水印圖片,比如: 第二步:把下面代碼放入類中:package org.platform.framework.commons.util;import java.awt.AlphaComposite;import java.awt.Color;import
Time of Update: 2017-01-19
tasks下面的代碼展示了三個Gradle task,稍後會講解這三者的不同。 task myTask { println "Hello, World!" } task myTask { doLast { println "Hello, World!" } } task myTask << { println "Hello, World!" }我的目的是建立一個task,當它執行的時候會列印出來”Hello, World!”。當我第一次建立task的時候,我猜測應該是這樣來寫的:
Time of Update: 2017-01-19
淘寶裡面的html用base64轉換圖片,不知道為什麼,不過看起來好像很美好,話不多說,直接上代碼:import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import sun.misc.BASE64Decoder;import
Time of Update: 2017-01-19
今天本文與大家分享如何得到數組中的最大值和最小值的執行個體。很適合Java初學者複習數組的基本用法與流程式控制制語句的使用。具體如下:這個程式主要是求得數組中的最大值和最小值 public class TestJava4_3 { public static void main(String args[]) { int i,min,max; int A[]={74,48,30,17,62}; // 聲明整數數組A,並賦初值 min=max=A[0];
Time of Update: 2017-01-19
Java平台的垃圾收集機制顯著提高了開發人員的效率,但是一個實現糟糕的垃圾收集器可能過多地消耗應用程式的資源。在Java虛擬機器效能最佳化系列的第三部分,Eva Andreasson向Java初學者介紹了Java平台的記憶體模型和垃圾收集機制。她解釋了為什麼片段化(而不是垃圾收集)是Java應用程式效能的主要問題所在,以及為什麼分代垃圾收集和壓縮是目前處理Java應用程式片段化的主要辦法(但不是最有新意的)。垃圾收集(GC)的目的是釋放那些不再被任何使用中的物件引用的Java對象所佔用的記憶體,
Time of Update: 2017-01-19
之前用按鍵精靈寫過一些遊戲輔助,裡面有個函數叫FindPic,就上在螢幕範圍尋找給定的一張圖片,返回尋找到的座標位置。 現在,Java來實現這個函數類似的功能。 演算法描述:螢幕截圖,得到圖A,(尋找的靶心圖表片為圖B);遍曆圖A的像素點,根據圖B的尺寸,得到圖B四個角映射到圖A上的四個點;得到的四個點與圖B的四個角像素點的值比較。如果四個點一樣,執行步驟4;否則,回到步驟2繼續;進一步對比,將對應範圍內的全部點與圖B全部的點比較。如果全部一樣,則說明圖片已找到;否則,回到步驟2繼續;
Time of Update: 2017-01-19
菜單是GUI中最常用的組件,菜單不是Component類的子類,不能放置在普通容器中,不受布局管理器的約束,只能放置在功能表列中.菜單組件由功能表列 (MenuBar)、菜單(Menu)和功能表項目(MenuItem)三部分組成。 一個功能表列由若干個菜單組成,一個菜單又由若干個功能表項目組成。一般功能表列放 Frame 視窗中,只要調用 Frame 類的
Time of Update: 2017-01-19
本文執行個體主要實現Java拖曳滑鼠畫線的功能,為了達到畫線的功能,分別用implements MouseListener與MouseMotionListener,並且由mousePressed(),mouseReleased()取得滑鼠拖曳的開始與結束座標。這是一個掌握Java滑鼠事件的很好的範例。具體實現代碼如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MouseDemo
Time of Update: 2017-01-19
一:JTextField的(文字框)使用:JTextField 是一個輕量級組件,它允許編輯單行文本。1.JTextField的常用構造方法:JTextField() 構造一個新的 TextField。JTextField(int columns) 構造一個具有指定列數的新的空 TextField。JTextField(String text) 構造一個用指定文本初始化的新TextField。JTextField(String text, int columns)
Time of Update: 2017-01-19
本文為大家解析java Swing布局管理中的BoxLayout布局,供大家參考,具體內容如下BoxLayout:可以指定在容器中是否對控制項進行水平或者垂直放置,比 FlowLayout 要更為靈活BoxLayout與其他布局管理器稍有不同,必須向其建構函式中傳遞容器執行個體的引用,由該容器使用BoxLayout。另外必須指定BoxLayout中組件的布局方式:垂直排列(按列)或水平排列(按行)。用水平組件和垂直組件的不同組合嵌套多面板的作用類似於 GridBagLayout,但沒那麼複雜。1
Time of Update: 2017-01-19
在android平板上用webview開啟一個網頁,調用裡面的javascript方法,同時相互傳參。網上例子很少啊,基本都不能擷取傳回值,貼一個自己最後調試完的代碼如下:Java:複製代碼 代碼如下:protected void onCreate(Bundle savedInstanceState){........x =
Time of Update: 2017-01-19
紅/黑樹狀結構紅/黑樹狀結構是一種資料結構與演算法課堂上常常提到但又不會細講的樹,也是技術面試中經常被問到的樹,然而無論是書上還是網上的資料,通常都比較刻板難以理解,能不能一種比較直觀的方式來理解紅/黑樹狀結構呢?本文將以圖形的方式來解釋紅/黑樹狀結構的插入與刪除操作。對樹結構的學習是一個遞進的過程,我們通常所接觸的樹都是二叉樹,二叉樹簡單來說就是每個非葉子節點都有且只有兩個孩子,分別叫做左孩子和右孩子。二叉樹中有一類特殊的樹叫二叉尋找樹,二叉尋找樹是一種有序的樹,對於每個非葉子節點,其左子樹的
Time of Update: 2017-01-19
一、代理模式定義給某個對象提供一個代理對象,並由代理對象控制對於原對象的訪問,即客戶不直接操控原對象,而是通過代理對象間接地操控原對象。著名的代理模式的例子就是引用計數(reference counting): 當需要一個複雜物件的多份副本時, 代理模式可以結合享元模式以減少儲存空間的用量。典型做法是建立一個複雜物件以及多個代理者, 每個代理者會引用到原本的對象。而作用在代理者的運算會轉送到原本對象。一旦所有的代理者都不存在時,
Time of Update: 2017-01-19
java中String、StringBuffer、StringBuilder是編程中經常使用的字串類,他們之間的區別也是經常在面試中會問到的問題。現在總結一下,看看他們的不同與相同。1. 可變與不可變String類中使用字元數組儲存字串,如下就是,因為有“final”修飾符,所以可以知道string對象是不可變的。private final char
Time of Update: 2017-01-19
概念裝飾者模式動態地將責任附加到對象上。若要擴充功能,裝飾者提供了比繼承更有彈性的替代方案。裝飾者和被裝飾對象有相同的超類型。你可以用一個或多個裝飾者封裝一個對象。既然裝飾者和被裝飾對象有相同的超類型,所以在任何需要原始對象(被封裝的)的場合