Time of Update: 2018-12-04
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Scanner;class Dnode{public int score=-1;public Dnode llink;public Dnode rlink;}class DoubleList{static Dnode pre,ptr,head,current;DoubleList(){
Time of Update: 2018-12-04
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Scanner;public class Main {//用遞迴方式計算斐波那契數列public static void main(String[] args)throws IOException{Scanner sc=new Scanner(new
Time of Update: 2018-12-04
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Scanner;import java.util.Stack;public class Main {//將中綴運算式轉為尾碼運算式public static void main(String[] args)throws IOException{Scanner sc=new
Time of Update: 2018-12-04
置換原則 結合Java本身的一些物件導向的特性,我們很容易理解這麼一個置換原則: 一個指定類型的變數可以被賦值為該類型的任何子類;一個指定某種型別參數的方法可以通過傳入該類型的子類來進行調用。總的來說,就是說我們使用的任何類型變數都可以用該類型的子類型來替換。泛型中一種錯誤的繼承關係 在泛型的編程中,我們考慮到子類型關係的時候,容易把一種關係給弄混淆,並錯誤的採用置換原則。比如說:List<Integer> ints = new ArrayList<Integer>
Time of Update: 2018-12-04
對象的序列化(Serialization) 一、序列化的概念和目的1.什麼是序列化 對象的壽命通常隨著產生該對象的程式的終止而終止。有時候,可能需要將對象的狀態儲存下來,在需要時再將對象恢複。我們把對象的這種能記錄自己的狀態以便將來再生的能力。叫作對象的持久性(persistence)。對象通過寫出描述自己狀態的數值來記錄自己 ,這個過程叫對象的序列化(Serialization)
Time of Update: 2018-12-04
剛才經過Java新員工培訓室,順便進去看了一下,看到了他們在做著老師給他們的一個練習,走了一圈,感覺回到校園,看著是學生在宿舍裡練習!因為他們是為了練習而練習,培訓讓他們學習Java語言、HTML標籤、JSP、Struct、Spring等,但是他們寫的是讓自己陶醉的玩具!因為他們不是為了讓他人使用而在寫練習,不是為了讓他人喜歡使用而在做軟體!從中,我看最重要的是他們心態就沒有完成過渡,學生到社會工作者,職業的態度比他會的技術技能重要地多。如果他們不建立起這種心態,將是我們為期兩個月培訓的最大失敗
Time of Update: 2018-12-04
Jiplet是Java SIP Servlet的簡寫,Jiplet Container是一個開源的服務端SIP應用程式容器.Java開發人員可以利用Jiplet API來開SIP應用程式並把程式部署到Jiplet容器中.SIP (Session Initiation Protocol)被廣範用於通過互連網提供電話語音.這個容器為開發,部署和運行SIP應用程式提供了一個類似於Java Servlet的開發與運行環境.它的許多特性都非常類似於Java
Time of Update: 2018-12-04
執行程式介面。Executor 是一個簡單的標準化介面,用於定義類似於線程的自訂子系統,包括線程池、非同步 IO 和輕量型工作架構。根據所使用的具體 Executor 類的不同,可能在新建立的線程中,現有的任務執行線程中,或者調用 execute() 的線程中執行任務,並且可能順序或並發執行。ExecutorService 提供了多個完整的非同步任務執行架構。ExecutorService
Time of Update: 2018-12-04
Java命名規範:注重細節 任何一門語言都是用來交流的,都有自己的一套書寫規範,Java 也不例外。注重這些細節有幾個好處:1. 好的命名規範可以使得寫出來的程式更容易被別人理解,更好維護。當然也易於自己理解,以便日後擴充。 同時,也使程式更規範和專業。 在這個人性化橫行的今天,我們的Java命名規範也應該注重體驗。2. 瞭解命名規範,可以更好的學習和記憶 Java 類庫中的類和函數等。3. 在命名規範裡有很多都涉及到英文的,可以促進英文學習。 比如: numberMax,
Time of Update: 2018-12-04
廢話不多說,直接上碼.......package com.clouddevelop.cloudbox;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Paint.FontMetrics;public class TextManager{
Time of Update: 2018-12-04
一:transient使用對象:屬性欄位不是對象持久狀態的一部分,不應該把欄位和對象一起串起。當一個對象被序列化的時候,transient型變數的值不包括在序列化的表示中,然 而非transient型的變數是被包括進去的。當序列化某個對象時,如果該對象的某個變數是transient,那麼這個變數不會被序列化進去。也就是 說,假設某個類的成員變數是transient,那麼當通過ObjectOutputStream把這個類的某個執行個體儲存到磁碟上時,實際上 transient變數的值是不會儲存的。
Time of Update: 2018-12-04
最近做android的時候,同事說用一個URL擷取一張圖片太慢了,看能不能發位元組過來,我就測試了一下,把一個File的檔案轉化為一個byte[]數組位元組,下面是代碼: import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;/** * 把一個檔案轉化為byte[
Time of Update: 2018-12-04
相信很多朋友在使用eclispe開發java項目的時候會遇到與@Overide相關的問題。一般情況下報錯的格式如下:The method *** of type *** must override a superclass
Time of Update: 2018-12-04
最近需要又要使用DES加密資料,要求DES加密出來的資料為對稱式加密,經過研究,發現了一些問題:1.DES對稱ECB模式加密的資料,長度必須為8的倍數2.加密的資料,加密後先轉碼(因為加密後的資料我是轉碼了),否則解密是亂碼格式 一下是原始碼:這個是加密的工具類:package com.palmfu.sql;import java.security.Key;import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;/*
Time of Update: 2018-12-04
在android開發中或者java開發中,經常用一些加密或者解密檔案的,下面是我最近測試的一個DES加密解密檔案的方式,記錄一下,防止以後忘記了!下面直接貼代碼把,詳細的注釋都寫有:package com.spring.des;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileNotFoundException;import
Time of Update: 2018-12-04
最近做項目,需要加密android用戶端的一些sql語句,我當時使用的是DES加密的,結果加密出現了javax.crypto.BadPaddingException: Given final block not properly padded這樣的錯誤,要不就是出現亂碼的問題,很糾結!當時查了一些資料,就有可能是密鑰的問題或者編碼的問題,檢查了發現,密鑰正確的,就是在建立Key 的時候,得到的byte[]數組有一些處理的,具體完整的代碼如下: package
Time of Update: 2018-12-04
記憶體回收簡介使用者程式(mutator)會修改還堆區中的對象集合,從儲存管理器處擷取空間,建立對象,還可一引入和消除對已有對象的引用。當mutator不能“達到”某些對象的時候,這些對象就成了垃圾。目的:找到不可達的對象,並將這些對象交給跟蹤空閑空間的儲存管理器,收回他們所佔的資源。一些基本概念型別安全:任何資料分量的類型都是可確定的。可以在編譯時間刻確定資料的類型稱為靜態型別安全,運行時刻確定稱為動態類型。類型不安拳的語言不適合使用自動記憶體回收。在java中,除了整型和引用這樣的基本類型,
Time of Update: 2018-12-04
前幾日安排了一位java方向的專案經理X參與一下公司級專案管理平台的構想測試,初步的思路是採用Microsoft Team Foundation Server(以下簡稱TFS)做為背景專案管理平台,將各個技術方向上的項目納入全過程的管理,並且有利於梳理每年近百個開發項目的資料、文檔、代碼、報告等資源資料。由於該專案經理以往未接觸過TFS,因此安排了一個熟悉TFS的同事C給X進行了接近一個小時的介紹性培訓,以便同事X可以快速瞭解TFS服務Team
Time of Update: 2018-12-04
import jp.ne.so_net.ga2.no_ji.jcom.ReleaseManager;import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelApplication;import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorkbook;import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorkbooks;import
Time of Update: 2018-12-04
排序演算法是一種基本並且常用的演算法。由於實際工作中處理的數量巨大,所以排序演算法對演算法本身的速度要求很高。而一般我們所謂的演算法的效能主要是指演算法的複雜度,一般用O方法來表示。冒泡法排序是最原始,也是眾所周知的最慢的演算法了。它的名字的由來因為它的工作看來象是冒泡。package rainbow.test.sort;public class SortUtil { /** * 起泡排序演算法,屬於穩定排序,演算法複雜度為O(N*N) * @param data 待排序的數組 *