Time of Update: 2017-01-19
//執行順序:(優先順序從高到低。)靜態代碼塊>mian方法>構造代碼塊>構造方法。其中靜態代碼塊只執行一次。構造代碼塊在每次建立對象是都會執行。1.普通代碼塊public static void main(String[] args) {/*普通代碼塊:*直接定義在在方法或語句中出現”{普通代碼的執行語句}“的就稱為普通代碼塊。*普通代碼塊執行順序由他們在代碼中出現的次序決定--“先出現先執行”* */{ System.out.println("這裡是普通代碼塊A");}/
Time of Update: 2017-01-19
cookie和session的比較一、對於cookie:①cookie是建立於伺服器端②cookie儲存在瀏覽器端③cookie的生命週期可以通過cookie.setMaxAge(2000);來設定,如果沒有設定setMaxAge,則cookie的生命週期當瀏覽器關閉的時候,就消亡了④cookie可以被多個同類型的瀏覽器共用 可以把cookie想象成一張表比較:①存在的位置:cookie
Time of Update: 2017-01-19
一、不可變類簡介不可變類:所謂的不可變類是指這個類的執行個體一旦建立完成後,就不能改變其成員變數值。如JDK內部內建的很多不可變類:Interger、Long和String等。可變類:相對於不可變類,可變類建立執行個體後可以改變其成員變數值,開發中建立的大部分類都屬於可變類。二、不可變類的優點說完可變類和不可變類的區別,我們需要進一步瞭解為什麼要有不可變類?這樣的特性對JAVA來說帶來怎樣的好處?1.安全執行緒不可變對象是安全執行緒的,線上程之間可以相互共用,不需要利用特殊機制來保證同步問題,因
Time of Update: 2017-01-19
這個過程也可以通過網路實現,可以先在Windows機器上建立一個對象,對其序列化,然後通過網路發給一台Unix機器,然後在那裡準確無誤地重新"裝配"。像RMI、Socket、JMS、EJB它們中的一種,彼此為什麼能夠傳遞Java對象,當然都是對象序列化機制的功勞。 Java對象序列化機制一般來講有兩種用途:Java的JavaBeans:
Time of Update: 2017-01-19
1.概述註解可以定義到方法上,類上,一個註解相當與一個類,就相當於執行個體了一個對象,加上了註解,就相當於加了一個標誌。常用的註解:@Override:表示重新父類的方法,這個也可以判斷是否覆蓋的父類方法,在方法前面加上此語句,如果提示的錯誤,那麼你不是覆蓋的父類的方法,要是提示的沒有錯誤,那麼就是覆蓋的父類的方法。@SuppressWarnings("deprecation"):取消編譯器的警告(例如你使用的方法過時了)@Deprecated:在方法的最上邊也上此語句,表示此方法過時,了,或者
Time of Update: 2017-01-19
實現這個功能比較簡單,用到的類有兩個:ProgressMonitorInputStream(主要是整個類) 和 ProgressMonitor ,它們在javax.swing中大體思路,你要首Crowdsourced Security Testing道整個檔案的大小,和當前已經讀取檔案的大小,獲得整個檔案大小的方法複製代碼 代碼如下:ProgressMonitorInputStream monitor;/*** @param 表示此進度條要依附在哪個組件上* @param
Time of Update: 2017-01-19
以下是簡單樣本複製代碼 代碼如下:package com.cramc;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import com.linuxense.javadbf.DBFException;import
Time of Update: 2017-01-19
複製代碼 代碼如下:import java.io.*;import java.text.SimpleDateFormat;import java.util.*;import java.util.logging.Logger;public class AndyLogger{ //The defaulted root path of SSLVPN installation private static String
Time of Update: 2017-01-19
最近一直在做高效平台的架構,其實意識到我要做一個簡單的架構的時候是在我已經做完我認為的一版介面之後,開始以為我要做的是一個可配置的首頁展示,但是吭哧吭哧做了兩個星期,大概功能實現了之後,才發現要做的不是這個,哎,需求不清楚害死人啊,但是這兩個星期並沒有白白浪費,也從中學到了很多東西,下面主要介紹讀取XML。在做系統的時候,經常會遇到讀取xml的需求,一開始是讀取,於是我上網開始查詢讀取,接著查詢刪除,接著查詢修改,當把這些代碼查的差不多的時候,我發現,我為什麼不把這些的操作都封裝到一個類裡,使用
Time of Update: 2017-01-19
複製代碼 代碼如下:package com.robin;import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Properties;public class FileCopy { //
Time of Update: 2017-01-19
下面的代碼示範了如何同步特定的類方法:複製代碼 代碼如下:package mythread;public class SyncThread extends Thread{ private static String sync = ""; private String methodType = ""; private static void method(String s) { synchronized (sync) {sync =
Time of Update: 2017-01-19
synchronized關鍵字有兩種用法。第一種就是在《使用Synchronized關鍵字同步類方法》一文中所介紹的直接用在方法的定義中。另外一種就是synchronized塊。我們不僅可以通過synchronized塊來同步一個物件變數。也可以使用synchronized塊來同步類中的靜態方法和非靜態方法。synchronized塊的文法如下:複製代碼 代碼如下:public void method(){ … …
Time of Update: 2017-01-19
複製代碼 代碼如下:public synchronized void run(){
Time of Update: 2017-01-19
Java中的變數分為兩類:局部變數和類變數。局部變數是指在方法內定義的變數,如在run方法中定義的變數。對於這些變數來說,並不存線上程之間共用的問題。因此,它們不需要進行資料同步。類變數是在類中定義的變數,範圍是整個類。這類變數可以被多個線程共用。因此,我們需要對這類變數進行資料同步。資料同步就是指在同一時間,只能由一個線程來訪問被同步的類變數,當前線程訪問完這些變數後,其他線程才能繼續訪問。這裡說的訪問是指有寫操作的訪問,如果所有訪問類變數的線程都是讀操作,一般是不需要資料同步的。那麼如果不對
Time of Update: 2017-01-19
一、通過類變數和方法返回資料使用這種方法返回資料需要在調用start方法後才能通過類變數或方法得到資料。讓我們先來看看常式2-13會得到什麼結果。複製代碼 代碼如下:package mythread;public class MyThread extends Thread{ private String value1; private String value2; public void
Time of Update: 2017-01-19
在傳統的同步開發模式下,當我們調用一個函數時,通過這個函數的參數將資料傳入,並通過這個函數的傳回值來返回最終的計算結果。但在多線程的非同步開發模式下,資料的傳遞和返回和同步開發模式有很大的區別。由於線程的運行和結束是不可預料的,因此,在傳遞和返回資料時就無法象函數一樣通過函數參數和return語句來返回資料。本文就以上原因介紹了幾種用於向線程傳遞資料的方法,在下一篇文章中將介紹從線程中返回資料的方法。欲先取之,必先予之。一般在使用線程時都需要有一些初始化資料,然後線程利用這些資料進行加工處理,並
Time of Update: 2017-01-19
volatile關鍵字相信瞭解Java多線程的讀者都很清楚它的作用。volatile關鍵字用於聲明簡單類型變數,如int、float、boolean等資料類型。如果這些單一資料型別聲明為volatile,對它們的操作就會變成原子層級的。但這有一定的限制。例如,下面的例子中的n就不是原子層級的:複製代碼 代碼如下:package mythread;public class JoinThread extends Thread{public static volatile int n =
Time of Update: 2017-01-19
在上面的例子中多次使用到了Thread類的join方法。我想大家可能已經猜出來join方法的功能是什麼了。對,join方法的功能就是使非同步執行的線程變成同步執行。也就是說,當調用線程執行個體的start方法後,這個方法會立即返回,如果在調用start方法後後需要使用一個由這個線程計算得到的值,就必須使用join方法。如果不使用join方法,就不能保證當執行到start方法後面的某條語句時,這個線程一定會執行完。而使用join方法後,直到這個線程退出,程式才會往下執行。下面的代碼示範了join的
Time of Update: 2017-01-19
本文執行個體為大家分享了java抽獎演算法,供大家參考,具體內容如下1. 演算法分析 根據機率將獎品劃分區間,每個區間代表一個獎品,然後抽取隨機數,反查落在那個區間上,即為所抽取的獎品。 2. 代碼核心演算法 public class Arithmetic { // 放大倍數 private static final int mulriple = 1000000; public int pay(List<Prize> prizes) {
Time of Update: 2017-01-19
問題我需要從一個java的集合中,根據另一個集合的內容,刪除第一個集合中不特定的元素。這看上去非常簡單,但卻遇到了問題。這是我要寫的方法的頭部private void screenBlackNameList(List<SharedBoardSmsWrapper> source, List<BlackNameListModel>