Time of Update: 2018-07-26
Java並發編程中, 鎖機制對控制線程間共用記憶體的使用有重要的意義. 那麼在Java內部鎖是如何?的呢? 首先要明確一個概念. Java中的鎖是對象層級的概念, 也就是每個對象都天生可以作為一個鎖使用. 究其底層實現, 實際上鎖是存在於Java對象頭的MarkWord欄位裡的, 根據鎖的層級, 儲存結構不同, 但是都存在一個2bit的鎖標識位. 悲觀鎖 悲觀鎖是synchronize內部的實現機制, java 1.6之後, 對悲觀鎖進行了改進,
Time of Update: 2018-07-26
Java中可以通過實現Lock介面的方式來建立自訂的同步組件,同步的組件核心其實就是同步隊列(AbstractQueuedSynchronizer一般是通過一個內部類來實現它,然後實現他之中的幾個方法); 可以這樣理解鎖與同步隊列的關係:鎖時面對使用者的,定義了使用者與鎖之間的互動介面;而同步隊列AQS是面向鎖的,它簡化了鎖的實現方式,對使用者來說,AQS屏蔽了同步管理,線程的排隊,等待與喚醒等底層操作,鎖和同步器很好的隔離了使用者和實現這所關注的領域。
Time of Update: 2018-07-26
前言 其實標題使用互斥機制更合適,並發中主要兩個問題是:線程如何同步以及線程如何通訊。 同步主要是通過互斥機制保證的,而互斥機制我們最熟悉的就是鎖,當然也有無鎖的CAS實現。 多線程共用資源,比如一個對象的記憶體,怎樣保證多個線程不會同時訪問(讀取或寫入)這個對象,這就是並發最大的難題,因此產生了 互斥機制(鎖)。 synchronized When should you synchronize? Apply Brian’s Rule of
Time of Update: 2018-07-26
做並發編程的時候需要注意哪些事項呢。 上下文開銷 CPU的線程是通過調度演算法分配不同的時間片,當一條線程的時間片用完後,作業系統會暫停該線程,並儲存該線程相應的資訊,然後再隨機播放一條新線程去執行,這個過程就稱為“線程的環境切換”。 每次進行環境切換時都需要儲存當前線程的執行狀態,並載入新線程先前的狀態。 如果環境切換頻繁,CPU花在環境切換上的時間佔比就會上升,而真正處理任務的時間佔比就會下降。 如何減少環境切換。 減少線程的數量
Time of Update: 2018-07-26
為了充分利用LoadRunner的情境控制和分析器,協助我們更好地控制指令碼載入過程,從而展現更直觀有效情境分析圖表。本次將重點討論LoadRunner如何調用Java測試代碼,完成壓力測試。 通常我們在執行一些Server的壓力測試的時候,總會不經意間想要一個Client完成對Server的調用樣本,以至於我們可以通過LoadRunner直接錄製,對於測試人員來說確實很方便。不過,開發人
Time of Update: 2018-07-26
Java筆試題庫(05期) 1,volatile關鍵字是否能保證安全執行緒。() 答案:否
Time of Update: 2018-07-26
一個簡單的Map與String的轉換方法,比較實用的一段java代碼 1)將Map轉成形如username’chenziwen^password’1234的字串 /** * 方法名稱:transMapToString * 傳入參數:map * 傳回值:String 形如 username'chenziwen^password'1234*/public static String transMapToString(Map map){ java.util.Map.Entry entry;
Time of Update: 2018-07-26
4種方法,都是四捨五入,例: import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;public class format { double f = 111231.5585; public void m1() { BigDecimal bg = new BigDecimal(f); double f1 =
Time of Update: 2018-07-26
近期由於負責項目的一個模組,該模組下有很多分類,每個分類都有一個編碼code,這個值是作為一個參數攜帶過來的.但是每個code確實對應一個方法的. code的值有很多個,自己又不想做ifelse或者switch判斷於是就狂搜資料,主要讓我發現利用java的反射機制可以完美的解決這個問題 測試代碼如下:(可以攜帶多個參數哦) package com.escs.xmlutils;import java.lang.reflect.Method;public class Test
Time of Update: 2018-07-26
VO(value object) 值對象 通常用於業務層之間的資料傳遞,用 new 關鍵字建立,由 GC 回收的,和 PO 一樣也是僅僅包含資料而已。但應是抽象出的業務對象 , 可以和表對應 , 也可以不 , 這根據業務的需要 . 個人覺得同 DTO( 資料轉送對象 )一樣 在 web 上傳遞。 PO(persistant object) 持久對象 在 o/r 映射的時候出現的概念,如果沒有 o/r 映射,沒有這個概念存在了。通常對應資料模型 (
Time of Update: 2018-07-26
5個強大的Java分布式緩衝架構
Time of Update: 2018-07-26
在參考了大量的關於各種O的資訊後,記錄下我總結的認為正確的對其的理解和應用: 1、PO(persistant object) 持久對象 (理解為dao層:接收和返回的java bean,也就是通常寫在model包中的model) 1. 有時也被稱為Data對象,對應資料庫中的entity,可以簡單認為一個PO對應資料庫中的一條記錄,多個記錄可以用PO的集合。 2.在o/r 映射的時候出現的概念,如果沒有o/r映射,就沒有這個概念存在了。
Time of Update: 2018-07-26
Time of Update: 2018-07-26
Java並發編程-各種鎖 安全性和活躍度通常相互牽制。我們使用鎖來保證安全執行緒,但是濫用鎖可能引起鎖順序死結。類似地,我們使用線程池和訊號量來約束資源的使用,
Time of Update: 2018-07-26
Java面試題-基礎篇五 41、a.hashCode() 有什麼用。與 a.equals(b) 有什麼關係。
Time of Update: 2018-07-26
BAT 校招面試Java技術100問題總結 題目太多,所以只做問題總結,不做答案 阿里校招 1.java中所有類的父類是什麼。他都有什麼方法。 2.java中IO包下面的inputstream運用了什麼設計模式。請簡述你知道的設計模式?
Time of Update: 2018-07-26
Java面試題-架構篇八 71,談談你對Struts的理解。
Time of Update: 2018-07-26
第一:利用application對象(or ServletContext Object)進行統計,得到的效果是每進入一次該網頁就統計一次。 因為一般統計網頁訪問量,重新整理是不算進統計裡的,這裡就是這種缺點。 第二:利用application對象和 session對象來統計, 這種方法的原理是從開啟瀏覽器到關閉瀏覽器算是訪問一次, 重新整理、返回等操作不算做一次訪問。 但還是有缺陷,當jsp伺服器從新啟動時,資料也被清零了。 第三:
Time of Update: 2018-07-26
24.一個查詢使用者資訊的url輸入在瀏覽器地址欄中後按下斷行符號鍵,經曆了什麼。 答:https://www.cnblogs.com/midiyu/p/7905554.html 25.OOM異常的發生原因 答:http://www.jb51.net/article/110743.htm 26.介紹spring任意一個模組的實現(如:ioc如何?) 答:http://blog.csdn.net/william_hangshao/article/details/70113349
Time of Update: 2018-07-26
【專業知識相關】 1、 2、 談談對OOP、IOC、AOP的設計理念的理解; 談談對主流的J2EE架構(Spring、Struts、Ibatis、Hibernate等);這 些架構的局限性在哪兒。在何種情況下會不適合用這些架構。 3、 關於J2EE方面開發方面,說出前、後端的設計模型; (提示:比如前端的MVC架構,Axis,Ext,JQuery,Flex等,後端的Ejb,Spring,IOC,AOP,JMS,JNDI,RMI,以及負載平衡等) 4、 5