Time of Update: 2018-07-27
package cn.tool;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;public class
Time of Update: 2018-07-27
1說明: 這段時間寫android的時候用到了URL和URI,有點分不清楚,於是做了一個系統性的學習。在這裡將自己的學習筆記粘貼出來,希望對大家有協助。 1)Java類庫裡有兩個對應的類java.net.URL和java.net.URI,官方的定義分別如下: (URL)A Uniform Resource Locator thatidentifies the location of an Internet resource as specified by RFC
Time of Update: 2018-07-27
C99標準定義了一個新的關鍵字_Bool,提供了布爾類型。以前,C程式員總是使用自己的方法定義布爾類型。 0表示false,非0表示true。 可能使用char類型表示一個布爾類型,也可能使用int類型表示一個布爾類型。 很多函數庫都定義了自己的布爾類型和相應的宏,枚舉,typedef。 現在C99把C語言原生的布爾類型帶來了。 #include<stdbool.h>
Time of Update: 2018-07-27
js函數前加分號和驚嘆號是什麼意思。有什麼用。 一般看JQuery外掛程式裡的寫法是這樣的 (function($) { //... })(jQuery); 今天看到bootstrap的javascript組件是這樣寫的 !function( $ ){ //...}( window.jQuery ); 為什麼要在前面加一個 " ! " 呢。
Time of Update: 2018-07-27
測試程式的時候,發現從內網從外網接收到的應用大小與原應用大小不符,調試了好久才發現是byte數組與string相互轉化出現了問題。根據項目需要,外網發送應用時,先將byte[]轉化為字串,然後內網接收的時候,再將字串轉化為byte[],而由於編碼的問題,得到的byte[]與原byte[]不相同,導致已接收的檔案大小出錯,無法進行後續操作。為了保證得到原byte[],可以採用new sun.misc.BASE64編碼的方法。上一篇文章已經提到了如何new sun.misc.BA
Time of Update: 2018-07-27
最近看到公司的一些架構和之前看到的開源的一些架構的一些服務發現和接入都採用了java的spi機制。 所以簡單的總結下java spi機制的思想。 SPI的全名為Service Provider
Time of Update: 2018-07-27
使用eclipse ee安裝hibernate-tools外掛程式,方便配置hibernate 首先匯入hibernate和mysql所需的jar包 現在資料庫中建立好對應的database、 在src裡建立hibernate的設定檔hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE
Time of Update: 2018-07-27
《OSGI原理與最佳實務》一書中已經給出了基本的方式,這裡在林昊的基礎上增添幾行程式碼完成一個可用的例子: 1 首先建立幾個外掛程式工程,並匯出成外掛程式包,這裡將匯出的外掛程式包統一放置到G://osgi_prj//system_bundle目錄下 2 建立java project,並寫一個帶main方法的類,用於啟動OSGI以及先前的外掛程式 源碼: public class StartOsgi {
Time of Update: 2018-07-27
當前各種 RPC 中介軟體技術已經廣泛應用於各個領域。其中,伺服器之間訊息通訊這種功能廣泛應用於這些中介軟體中,於是,將這種面向訊息的中介軟體( Message Oriented Middleware , MOM )抽象出來,形成通用的訊息中介軟體,成為業內主流。目前訊息中介軟體的標準主要有: JMS 和 AMQP 。實現則是百花齊放。 訊息中介軟體從功能上需要解決以下問題:
Time of Update: 2018-07-27
import java.awt.Button; import java.awt.Frame; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import
Time of Update: 2018-07-27
public static byte[] File2byte(String filePath){byte[] buffer = null;try{File file = new File(filePath);FileInputStream fis = new FileInputStream(file);ByteArrayOutputStream bos = new ByteArrayOutputStream();byte[] b = new byte[1024];int n;while ((n
Time of Update: 2018-07-27
使用情境 整個系統中分master和server兩種角色,每個master、server都需要知道叢集內當前可用的server列表。 原處理方式:master負責叢集server資訊的收集和分發。server啟動後和master建立長串連並心跳檢測,master收集server的新增和disconnect,並將收集到的資訊分發給所有server。 原存在問題:master和server耦合較重;master比較難擴充。 使用方式 概述
Time of Update: 2018-07-27
忘記是從什麼地方看來的了,快忘記了,寫下拉記錄下,也順便再回憶一次。 function CreateElement(name,attrs,style,text) ... { &
Time of Update: 2018-07-27
首先需要去下載一下google.zxing jar包 import java.io.File;import java.util.Hashtable;import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;import
Time of Update: 2018-07-27
1、JS是最後載入的,所以最好寫在body標籤的最後。 2、不想要a標籤發送請求,在href中加上javascript::;或者javascript:void(0); 前者淘寶使用,後者百度使用。 3、conslole.dir()查看一個數組或者一個對象中的內容和屬性。 4、一次性定義多個變數var name,age,sex;一次性為多一個變數賦同樣的值 name = age = sex = 29;
Time of Update: 2018-07-27
1、如何查看接收到的header資訊 Enumeration enu = request.getHeaderNames();// 取得全部頭資訊while (enu.hasMoreElements()) {// 以此取出頭資訊String headerName = (String) enu.nextElement();String headerValue =
Time of Update: 2018-07-27
js如何判斷一個對象{}是否為空白對象,沒有任何屬性 jQuery中的實現方法 JavaScript判斷object/json 是否為空白,可以使用jQuery的isEmptyObject()方法。 此方法如下 [javascript] view plain copy
Time of Update: 2018-07-27
@Autowired註解和靜態方法 一、業務情境 spring架構應用中有些靜態方法需要依賴被容器管理的類,就像這樣: @Componentpublic class Test { @Autowired private static UserService userService; public static void test() { userService.test(); }}
Time of Update: 2018-07-27
Set介面繼承了Collection介面,繼承了所有Collection介面的方法,下面予以分析Set源碼。 package java.util;/** * 不包含有重複元素的無序集合。通過.equals()方法校正是否重複 */public interface Set<E> extends Collection<E> { // Query Operations /** * Returns the number of elements in
Time of Update: 2018-07-27
Semaphore可以維護當前訪問自身的線程個數,並提供了同步機制。使用Semaphore可以控制同時訪問資源的線程個數,例如,實現一個檔案允許的並發訪問數。 Semaphore實現的功能就類似廁所有5個坑,假如有十個人要上廁所,那麼同時能有多少個人去上廁所呢。同時只能有5個人能夠佔用,當5個人中的任何一個人讓開後,其中在等待的另外5個人中又有一個可以佔用了。