Time of Update: 2018-08-06
訊號量目的:可以使用訊號量來限制訪問一個共用資源的線程數含義:訊號量指對共同資源進行存取控制的對象。在訪問資源之前,線程必須從訊號量擷取許可,在訪問完資源之後,這個線程必須將許可返回給訊號量。一旦獲得許可,訊號量中可用許可的總數減1,一旦許可被釋放,訊號量中許可數加1. 只有一個許可的訊號量可用來類比一個相互排斥的鎖。舉例:
Time of Update: 2018-08-06
這兩天學了多態,自然就涉及到了方法的重寫。在筆者瞎用代碼折騰的過程中,發現報錯類型提到了“This static method cannot hide the instance method from
Time of Update: 2018-08-06
Java 之 23 種設計模式解析一、設計模式概述總體來說設計模式分為三大類:建立型模式,共五種:Factory 方法模式、抽象原廠模式、單例模式、建造者模式、原型模式。結構型模式,共七種:適配器模式、裝飾器模式、代理模式、面板模式、橋接模式、組合模式、享元模式。行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解譯器模式。具體如下:其中建立型有:一、Singleton,單例模式:保證一個類只有一個執行個體,
Time of Update: 2018-08-04
1、 流的繼承關係,以及位元組流和字元流。2、 節點流FileOutputStream和FileInputStream和處理流BufferedInputStream和BufferedOutputStream。以及對應的FileOutputWriter,FileInputReader,BufferedInputReader,BufferedOutputWriter。3、
Time of Update: 2018-08-21
本篇文章給大家帶來的內容是關於Java執行個體:6x6宮格兩對角線數字之和的計算(代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所協助。計算的兩對角線數之和 ,編寫了一段較為簡捷的代碼public class Training {public static void main(String[] args) { int [][] scores = new int[6][6];int num = 0;int sum1 = 0; int sum2 = 0;for
Time of Update: 2018-08-10
ThreadLocal(線程變數副本)Synchronized實現記憶體共用,ThreadLocal為每個線程維護一個本地變數。採用空間換時間,它用於線程間的資料隔離,為每一個使用該變數的線程提供一個副本,每個線程都可以獨立地改變自己的副本,而不會和其他線程的副本衝突。ThreadLocal類中維護一個Map,用於儲存每一個線程的變數副本,Map中元素的鍵為線程對象,而值為對應線程的變數副本。ThreadLocal在Spring中發揮著巨大的作用,在管理Request範圍中的Bean、交易管理、
Time of Update: 2018-08-10
###物件導向(繼承)###1. 繼承的概念:繼承是類與類的一種關係,是一種“is a”的關係 父類--->基類 子類--->衍生類別 註:JAVA中的繼承是單繼承2. 繼承的優點:子類擁有父類的所有屬性和方法(private修飾的無效)實現代碼複用3. 文法規則:class 子類 extends 父類例:package example;public class Animal {public int age;public String name;public
Time of Update: 2018-08-09
MD5工具類利用JDK封裝一個簡易的MD5工具類,邏輯比較簡單,直接貼下具體實現public static String getMD5(String content) { String result = ""; try { MessageDigest md = MessageDigest.getInstance("md5"); md.update(content.getBytes()); byte[]
Time of Update: 2018-08-09
Spring Boot 2.x 已經發布了很久,現在 Spring Cloud 也發布了 基於 Spring Boot 2.x 的 Finchley 版本,現在一起為項目做一次整體架構升級。升級前 => 升級後Spring Boot 1.5.x => Spring Boot 2.0.2Spring Cloud Edgware SR4 => Spring Cloud Finchley.RELEASEEureka ServerEureka Server
Time of Update: 2018-08-09
SSM 環境搭建目錄建立pom.xmlSSM 逐層配置一、目錄1.1 src/main/java 目錄下的包(以下包要放在項目包下,如:com.imooc.項目名)entity: 存放實體類web: 存放controller,相當於Struts中的actionservice: 商務邏輯層 -> 內部再建立一個packeage .impl (eg:com.imooc.項目名.service.impl)dao:
Time of Update: 2018-08-09
AES加密AES 是一種可逆密碼編譯演算法,對使用者的敏感資訊加密處理。本文暫不深入AES原理,僅關注JAVA代碼實現AES加解密。JAVA代碼實現建議加密密碼為16位,避免密碼位元不足補0,導緻密碼不一致,加解密錯誤。IOS可設定任意長度的加密密碼,JAVA只支援16位/24位/32位,不知能否實現任意長度,望大佬告之。package cn.roylion.common.util;import sun.misc.BASE64Decoder;import
Time of Update: 2018-08-09
19.4 values()的神秘之處 通過反編譯枚舉類,values()是由編譯器添加的static()方法。編譯器將枚舉類(enum)標記為final類,所以enum類無法被繼承。19.5 實現而非繼承 所有的enum類都繼承自java.lang.Enum類。由於Java不支援多重繼承,所以你的enum類不能再繼其他類,然而,在我們建立一個新的enum時,可以同時實現一個或多個介面。19.9
Time of Update: 2018-08-09
作者這幾天在複習java知識,想加深一下基礎內容,就動手操作了剛入門時就開發的學生管理系統,特地把代碼與大家分享一下,需要的可以作為參考。import java.util.Scanner;public class StudentManagementSystem { public static void main(String[] args) { // 做一個學員資訊管理系統,目前僅支援以<姓名>的方式對學員資訊進行管理(增刪改查),即管理只是學員的姓名資訊
Time of Update: 2018-08-08
DelayQueue是一個無界阻塞隊列,只有在延遲期滿時才能從中提取元素。該隊列的頭部是延遲期滿後儲存時間最長的Delayed 元素。DelayQueue阻塞隊列在我們系統開發中也常常會用到,例如:緩衝系統的設計,緩衝中的對象,超過了空閑時間,需要從緩衝中移出;任務調度系統,能夠準確的把握任務的執行時間。我們可能需要通過線程處理很多時間上要求很嚴格的資料,如果使用普通的線程,我們就需要遍曆所有的對象,一個一個的檢
Time of Update: 2018-08-08
總結:線程池的特點是,線上程的數量=corePoolSize後,僅任務隊列滿了之後,才會從任務隊列中取出一個任務,然後構造一個新的線程,迴圈往複直到線程數量達到maximumPoolSize執行拒絕策略。線程池-intsmaze線程池的思想是:在系統中開闢一塊地區,其中存放一些待命的線程,這個地區被稱為線程池。如果有需要執行的任務,則從線程池中借一個待命的線程來執行指定的任務,到任務結束可以再將所借線程歸還。這樣就避免了大量重複建立線程對象,浪費CPU,記憶體資源。自訂線程池-intsmaze如
Time of Update: 2018-08-08
如下代碼,是實現可變參數列表的一種方式。 public static void printAry(Object[] objs){ for(Object obj:objs){ System.out.print(obj+" "); } System.out.println(); } public static void main(String[] args) { printAry(new
Time of Update: 2018-08-06
Java是物件導向的程式設計語言(oop),它的一切皆為對象。幾個概念:1.引用,引用就是用來操作對象的,操縱對象需要引用完成,例如,遙控器(引用)控制電視機(對象),可以相互獨立存在。String s = “asdf”;建立引用並初始化。String s = new
Time of Update: 2018-12-07
原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/11/28/2793257.html前言在一個執行個體方法或者是構造方法中,this引用指向當前的對象---方法調用或者是構造方法調用的對象。你可以在執行個體化方法或者構造方法中,使用this引用任何成員。 在欄位中使用this使用this關鍵字的最常見的原因,是欄位被方法或建構函式的參數隱藏了。例如,Point類是這樣寫的:public class Point { public int
Time of Update: 2018-12-07
原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/11/30/2796085.html這個章節,我們主要介紹static關鍵字建立類的欄位和執行個體,而不是講類的執行個體。 類變數從類的藍圖中建立一個對象,每個對象都有自己的變數的唯一拷貝。例如Bicycle類,執行個體變數是cadence, gear,
Time of Update: 2018-12-07
原文出自 http://www.cnblogs.com/ggjucheng/archive/2012/12/08/2809371.html英文出自 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.htmljava程式設計語言是靜態類型,這表示變數使用前必須聲明。這涉及闡明該變數的類型和名稱,如你已經看到了:int gear =