Time of Update: 2018-07-27
Lock介面 鎖是用來控制多個線程訪問共用資源的方式,一般來說,一個鎖能夠防止多個線程同時訪問共用資源(但是有些鎖可以允許多個線程並發的訪問共用資源,比如讀寫鎖)。在Lock介面出現之前,Java程式是靠synchronized關鍵字實現鎖功能的,而Java SE
Time of Update: 2018-07-27
//類載入根路徑String classPath = this.getClass().getResource("/").getPath();//類載入根路徑URL xmlPath = this.getClass().getClassLoader().getResource("");//類所在工程根路徑String proClassPath =
Time of Update: 2018-07-27
(文章中的圖片要是看不清,可以 右鍵–>在新標籤中開啟 就可以看到大圖了) 首先我們來看工程目錄結構: 在做Mybatis的時候我們在src下面的某個包的某個類裡讀取另一個sourceFolder config下的SqlMapConfig.xml的時候可以 像讀取本目錄下的檔案一樣直接讀取這是為什麼呢。 其實,再看一下工程編譯後的目錄結構就一目瞭然了: 可以看到這裡多了一個bin,那麼這裡面又是啥呢,來看一下: 這就很清晰了吧,所有source
Time of Update: 2018-07-27
雙重檢查鎖定與延遲初始化 在Java多線程程式中,有時候需要採用延遲初始化來降低初始化類和建立對象的開銷。雙重檢查鎖定是常見的延遲初始化技術。 下面我們看一個非安全執行緒的延遲初始化對象的例子: public class Singleton { private static Singleton instance; public static Singleton getInstance() { if (instance == null) // 1:A線程執行
Time of Update: 2018-07-27
如有不對的地方,請留言指正,共同進步,謝謝。 package com.zysoft.own_demo.utils;import java.text.SimpleDateFormat;import java.util.Date;/** * @author 黃繼波 * @date 2018/1/18 */public class IdCardUtil { /** * 擷取 生日 * @param CardCode * @return */
Time of Update: 2018-07-27
多態在域的問題上是特殊的。我理解不了中文版的書直接叫域,看了英文原版,原版寫的是fields,直接翻譯雖然沒錯,但是出問題的變數不是域。特地查了what is the meaning of field in java。很多人把它看成是由花括弧括起來的一個範圍。其實架構裡面也有一種東西——domain model,這個也叫域,領域模型。 然後找到這篇文章 What is a field in java? A field is an attribute. A field
Time of Update: 2018-07-27
整體思路是想將word的中需要匯出的文字寫成匯出的變數${}當成預留位置,之後轉化成xml,將64位base碼轉化成圖片的預留位置${},最後將xml文檔轉化成ftl文檔。做好用word,不要用wps。 一、word首先將要改變的漢字變成變成預留位置,如:${objectName}。圖片的處理是,隨便放個png格式的圖片。 二、將word轉化成xml格式。 三、用notepad++開啟轉化後的xml文檔
Time of Update: 2018-07-27
CompletionService簡介
Time of Update: 2018-07-27
–ConcurrentHashMap的弱一致性 –SynchronousQueue的弱一致性 –Exchanger的弱一致性 –Linux核心無鎖隊列的弱一致性 –總結 經過前面一系列的源碼分析,我們基本覆蓋了JUC包的所有組件。在這諸多組件中,我們總是不斷看到一個如影隨行的東西:CAS。 相當鎖來講,它的原子粒度更小,只是作用在一個基本變數上面(比如一個Integer, Long, 或者Reference),而不像Lock那樣,全域加鎖,因此它的並發度更大。
Time of Update: 2018-07-27
Java 記憶體地區和GC機制 目錄 Java記憶體回收概況 Java記憶體地區 Java對象的訪問方式 Java記憶體配置機制 Java GC機制 垃圾收集器 Java記憶體回收概況 Java GC(Garbage Collection,垃圾收集,記憶體回收)機制,是Java與C++/C的主要區別之一,作為Java開發人員,一般不需要專門編寫記憶體回收和垃圾清理代
Time of Update: 2018-07-27
此次主要做一下java記憶體地區和GC機制的知識小結,下面的段落部分摘自網路,部分摘自書籍,具體的連結忘記了,因為這是之前學習的時候做下的筆記。還望原作者多多包涵。 1 Java記憶體回收 Java GC(Garbage
Time of Update: 2018-07-27
這篇博文主要記錄我實現掃碼登入的步驟,及代碼。其實之前從網上搜了很久掃碼登入,copy版很多,所以回答也就那幾種。 我把我自己的思路也說一下吧。如果有更好的意見或者我有不對的地方,請指出。 首先說一下我用的技術, maven構建項目,ssh ,redis, shiro, goeasy推送,ZXing二維碼產生。 圖有點粗糙。湊合看,我解釋一下,首先我認為,session肯定是瀏覽器和伺服器互動唯一的標識,所以我認為sessionid可以直接定位到是哪一個使用者進行掃碼登入,
Time of Update: 2018-07-27
學習Java挺長時間長了,對於java中的基本知識雖然平時知道怎麼用,但是別人突然間問你誰與誰是什麼關係時,還是有點生疏。既然說到這了,今天把Java中的執行個體變數、局部變數、類變數與final變數之間的關係的思路重新整理一遍。俗話說的好“好記憶不如爛筆頭”,在此分享一下。 首先先說一下局部變數:這是我們接觸java或者其他程式設計語言最早接觸的東西,他定義在方法中,使用之前必須進行初始化,且生命週期盡在該方法中有效。
Time of Update: 2018-07-27
/* 面試題:final修飾局部變數的問題 基本類型:基本類型的值不能發生改變。 參考型別:參考型別的地址值不能發生改變,但是,該對象的堆記憶體的值是可以改變的。 */ class Student { int age = 10; } class FinalTest { public static void main(String[] args) { //局部變數是基礎資料型別 (Elementary
Time of Update: 2018-07-27
目錄 Java記憶體回收概況 Java記憶體地區 Java對象的訪問方式 Java記憶體配置機制 Java GC機制 垃圾收集器 Java記憶體回收概況 Java GC(Garbage
Time of Update: 2018-07-27
之前在CSDN中見到過一個運輸問題,問題如下: 現有1輛車,10桶油,車內建一油箱,油箱容量恰為一油桶容量,每一桶油可以讓車跑1公裡,而車上每次只能帶一個油桶,初始條件為油桶和車現在同一起跑位置,車上油箱中滿油,而油桶裡的油可以倒到車的油箱,反之亦可以。問用JAVA實現這個過程,求出車可以用這些油最多跑多遠。
Time of Update: 2018-07-27
一、遞迴演算法設計的基本思想是: 對於一個複雜的問題,把原問題分解為若干個相對簡單類同的子問題,繼續下去直到子問題簡單到能夠直接求解,也就是說到了遞推的出口,這樣原問題就有遞推得解。 在做遞迴演算法的時候,一定要把握住出口,也就是做遞迴演算法必須要有一個明確的遞迴結束條件。這一點是非常重要的。其實這個出口是非常好理解的,就是一個條件,當滿足了這個條件的時候我們就不再遞迴了。
Time of Update: 2018-07-27
上一篇文章深入學習了Servlet的工作原理,這一篇我們來實現servlet構建web應用。 下面進入本文: 1.使用web.xml來配置servlet,這是最常用也是最簡單的方式。 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" &
Time of Update: 2018-07-27
轉貼來自:http://blog.csdn.net/bestseal/archive/2008/04/16/2296283.aspx 劍字有19種寫法,Java中字串串連也有好多種寫法,比如要串連6個字串,以下5種寫法都是可以的,究竟哪種寫法最簡捷,哪種最高效呢。 public static String concat1(String s1, String s2, String s3, String s4, String s5, String s6)
Time of Update: 2018-07-27
題目:古典問題:3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少。 分析:首先我們要明白題目的意思指的是每個月的兔子總對數;假設將兔子分為小中大三種,兔子從出生後三個月後每個月就會生出一對兔子, 那麼我們假定第一個月的兔子為小兔子,第二個月為中兔子,第三個月之後就為大兔子,那麼第一個月分別有1、0、0,第二個月分別為0、1、0, 第三個月分別為1、0、1,第四個月分別為,1、1、1,第五個月分別為2、1、2,第六個月分別為3