Time of Update: 2018-07-27
今天用Gradle跑一個項目出了個錯誤,以前都是用ant跑的 癥狀如下:Build的時候很正常,但是Run的時候提示 Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes 初看起來是簽名不符合,猜想可能是gradle和ant的包不一樣 於是搜尋了一下癥狀:
Time of Update: 2018-07-27
轉載自: http://archive.cnblogs.com/a/2391527/ 為了方便的將spritesheet的圖匯入我自己的動畫編輯器。 我做了plist檔案解析 DOM解析比較麻煩 因為element getChildNodes 會擷取到text對象。而這個對象可能是一個空白字元解析起來異常麻煩。 DOM 採用建立樹形結構的方式訪問 XML 文檔,而 SAX 採用的事件模型。 DOM 解析器把 XML
Time of Update: 2018-07-27
來源 | 個人部落格 | 作者 | 五月的倉頡 原文地址 | 見底部說明 本文是作者:五月的倉頡 結合自己的工作和平時學習的體驗重新談一下為什麼要進行代碼最佳化。在修改之前,作者的說法是這樣的: 就像鯨魚吃蝦米一樣,也許吃一個兩個蝦米對於鯨魚來說作用不大,但是吃的蝦米多了,鯨魚自然飽了。 代碼最佳化一樣,也許一個兩個的最佳化,對於提升代碼的運行效率意義不大,但是只要處處都能注意代碼最佳化,總體來說對於提升代碼的運行效率就很有用了。
Time of Update: 2018-07-27
package com.sanmao10;import java.lang.reflect.Method;import java.util.ArrayList;public class test_fanxing { /** * * ArrayList<Integer>的一個對象,在這個集合中添加一個字串資料,如何?呢。 * 泛型只在編譯期有效,在運行期會被擦除掉*/ public static void main(String[] args)
Time of Update: 2018-07-27
一、線程池使用情境 單個任務處理時間短 將需處理的任務數量大 二、使用Java線程池好處 1.使用new Thread()建立線程的弊端: 每次通過new Thread()建立對象效能不佳。 線程缺乏統一管理,可能無限制建立線程,相互之間競爭,及可能佔用過多系統資源導致死機或oom。 缺乏更多功能,如定時執行、定期執行、線程中斷。 2.使用Java線程池的好處:
Time of Update: 2018-07-27
首先,建立一個Students的實體類 package com.jackie.day11;import java.io.Serializable;import java.util.Date;public class Students implements Serializable{ private static final long serialVersionUID = -8655172670979705548L; private int sid; private
Time of Update: 2018-07-27
命令 1.java檔案轉換成class檔案:javac -source 1.6 -target 1.6 X.java(X.java是要轉換的檔案,預設產生同名class檔案) 如: D:\java\Studio\sdk\build-tools\22.0.1>javac -source 1.6 -target 1.6 com/chaos/hack/AntiLazyLoad.java 2.class檔案轉換成jar檔案:jar cvf X.jar
Time of Update: 2018-07-27
本文譯自:Java Concurrency – Part 7 : Executors and thread pools 讓我們開始來從入門瞭解一下 Java 的並發編程。 本文主要介紹如何開始建立線程以及管理線程池,在 Java 語言中,一個最簡單的線程如下代碼所示: Runnable runnable = new Runnable(){ public void run(){ System.out.println("Run"); }}
Time of Update: 2018-07-27
Array —> List String[] array = new String[] {"1", "2", "3"}; // 返回的是 java.util.Arrays.ArrayList 不是 java.util.ArrayList 所以不能直接操作 add 等方法 List<String> listTemp = Arrays.asList(array);
Time of Update: 2018-07-27
Saruman's Army Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4699 Accepted: 2430
Time of Update: 2018-07-27
Socket 是網路上啟動並執行兩個程式間雙向通訊的一端,它既可以接受請求,也可以發送請求,利用它可以較為方便的編寫網路上的資料的傳遞。在 java 中,有專門的socket類來處理使用者的請求和響應。利用SOCKET類的方法,就可以實現兩台電腦之間的通訊。這裡就介紹一下在JAVA中如何利用socket進行網路編程。
Time of Update: 2018-07-27
package com.transAid.retrive.example.test; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.util.HashSet; import java.
Time of Update: 2018-07-27
package com.java;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class IOTest3 {/** * 位元組流操作檔案讀寫(高效) */public static void
Time of Update: 2018-07-27
平時寫IO相關代碼機會挺少的,但卻都知道使用BufferedXXXX來讀寫效率高,沒想到裡面還有這麼多陷阱,這兩天突然被其中一個陷阱折騰一下:讀一個檔案,然後寫到另外一個檔案,前後兩個檔案居然不一樣。 解決這個問題之後,總結了幾個注意點。 注意點一:Reader/Writer讀寫二進位檔案是有問題的 : public void copyFile1() { File
Time of Update: 2018-07-27
一個完整的JAVA程式至少有起點,結束點。起點可以用建構函式,那麼結束點我們就要使用Runtime類的addShutdownHook函數 一個簡單的程式,添加需要在應用程式結束前執行的操作,例如關閉網路連接,關閉資料庫等等。 然而對於一個比較複雜的多線程應用,線程運行狀態比較複雜。我們就很難預料到程式什麼時候結束。如何能在應用程式結束事件到來時,處理我們要做的工作呢。這就用到了Java對應用程式的退出的事件出處理機制。
Time of Update: 2018-07-27
單例建立模式是一個通用的編程習語。和多線程一起使用時,必需使用某種類型的同步。在努力建立更有效代碼時,Java 程式員們建立了雙重檢查鎖定習語,將其和單例建立模式一起使用,從而限制同步代碼量。然而,由於一些不太常見的 Java 記憶體模型細節的原因,並不能保證這個雙重檢查鎖定習語有效。 它偶爾會失敗,而不是總失敗。此外,它失敗的原因並不明顯,還包含 Java
Time of Update: 2018-07-27
public class Main {public static void main(String[] args) {//電腦存的32位的二進位補碼的形式,下面是16進位表示int a=0x00000000;int b=0xFFFFFFFF;int c=0x80000000;int d=0x7FFFFFFF;int e=0xFFFF;int
Time of Update: 2018-07-27
閱前聲明: http://blog.csdn.net/heimaoxiaozi/archive/2007/01/19/1487884.aspx /****************** Exercise 18 ***************** * Create a class with a String that is * initialized using "instance initialization." * Describe a use for this
Time of Update: 2018-07-27
Java中的裝箱,拆箱詳解 什麼是裝箱和拆箱 首先看一下java的8種基本類型: 對於每一種基本類型都有其對應的封裝器類型。 所謂裝箱就是把基本類型裝換為封裝器類型,所謂拆箱就是把封裝器類型轉換為基本類型。 裝箱操作 /** * * @author wangcan * */public class Test { public
Time of Update: 2018-07-27
sortBy 官方文檔描述: Return this RDD sorted by the given key function. 函數原型: def sortBy[S](f: JFunction[T, S], ascending: Boolean, numPartitions: Int): JavaRDD[T] sortBy根據給定的f函數將RDD中的元素進行排序。 源碼分析: def sortBy[K]( f: (T) => K,