Time of Update: 2018-07-25
在調試分類裡面我分享了自己以前的調試總結,時隔幾個月,經過這段時間的反省,我總結了java ee應用開發的一條一般思路,僅供參考,歡迎分享討論。 目前大多應用都是browser/server模式,那麼開發也就分兩個部分了,也就是福士說的前台(假設使用富用戶端架構開發(extjs、easyui===))和後台了,對於一個應用,server才是內容核心(web應用的核心就是內容提供者)
Time of Update: 2018-07-25
wait/notify 機制是為了避免輪詢帶來的效能損失。 為了說清道理,我們用“圖書館借書”這個經典例子來作解釋。 一本書同時只能借給一個人。現在有一本書,圖書館已經把這本書借了張三。 在簡單的synchrnozed 同步機制下,李四如果想借,先要去圖書館查看書有沒有還回來。李四是個心急的人,他每天都去圖書館查;而張三看書看得慢,過了半個月才把書還回來,結果李四在這半個月裡全都白跑了,浪費了不少交通車費
Time of Update: 2018-07-25
今天看了一片博文,講Java多線程之線程的協作,其中作者用程式執行個體說明了生產者和消費者問題,但我及其他讀者發現程式多跑幾次還是會出現死結,百度搜了下大都數的例子也都存在bug,經過仔細研究發現其中的問題,並解決了,感覺有意義貼出來分享下。 下面首先貼出的是有bug的代碼,一個4個類,Plate.java: package
Time of Update: 2018-07-25
[java] view plain copy /* 需求: 實現一個售票程式 建立線程的第二種方式:實現Runnable介面 &
Time of Update: 2018-07-25
工作中會帶一些實習生或新人,大多缺乏經驗,項目調試是他們很頭疼的問題,代碼出了問題往往就束手無策了,很影響工作效率。其實代碼調試是有步驟可循的,代碼出了問題要做的第一件事情是定位問題,只有知道問題出在哪才能解決。 一個Java Web項目通常是由前端和後端組成的,請求是由前端發送給後台代碼處理的,所以我們要做的第一件事情就是確定問題出在前端還是後端,先要保證前端發送給後端的請求參數是對的,有些同學在請求參數不對或者請求根本沒有到達背景情況下盲目地去檢查後台代碼是不對的。
Time of Update: 2018-07-25
/** * 假設A,B兩個線程同時運行。但A需要某項前置條件必須滿足(data數組裝滿)後才可以正常運轉。 這裡讓B線程去為滿足A的條件去幹活。 */public class SYN {int[] data = new int[100];final Object lock = new Object();public SYN() {new Thread(new A()).start();new Thread(new B()).start();}privateclass A implements
Time of Update: 2018-07-25
1.Java的反射機制的概念: 在Java運行時環境中,對於任意一個類,能否知道這個類的哪些屬性和方法。對於任意一個對象,能否調用它的任意一個方法。答案是肯定的。這種動態擷取類的資訊以及動態調用對象的方法的功能來自於Java語言的反射(Reflection)機制。 Reflection是Java被視為動態(准動態)語言的一個關鍵性質。這個機制允許程式在運行時透過Reflection
Time of Update: 2018-07-25
/** * 任務完成 * @param task */public synchronized void onTaskFinished(DownloadTask task); 寫單線程下載模組時遇到這樣一個問題,對集合的並行作業出現異常。一想到並發,就想到加鎖,那麼就在介面上面加個同步關鍵字。但是eclipse會提示你,這是非常操作,不允許這麼幹。 Illegal modifier for the interface method onTaskFinished; only
Time of Update: 2018-07-25
http://hi.baidu.com/pjww/blog/item/01741d7fa563210a28388a95.html import java.io.*;import java.util.*; public class Main { public static void main(String args[]) throws
Time of Update: 2018-07-25
Java的安全模式包括3層:Java語言本身,java編譯器和run-time系統,SecurityManager類。 在語言層,java以不同的方式來實現它的安全性,什麼原始類型的大小,對象的指標和偽訪問將不再唄允許,數組辯解檢查等待。 在java編譯器和run-time系統安全層提供了必要的功能,以確保java系統不會因無效代碼而崩潰,它提供了一個簡單的由一下三個子層所組成的安全的運行環境: 1:java位元組代碼解譯器和類格式檢驗 2:一個在運行時動態裝載和檢查庫的機制
Time of Update: 2018-07-25
這裡,我不用什麼理論方式講述記憶體回收機制原理.我只通過2個簡單的程式,探討我對Java 記憶體回收機制的理解.畢竟很多東西,理論的術語可能沒有直觀的測試更好. package cn.vicky.chapt14;/** * * @author Vicky.H */public class FinalizeTest { public static void main(String[] args) throws InterruptedException {
Time of Update: 2018-07-25
JAVA記憶體回收機制的工作原理。 Java的堆是一個運行時資料區,類的執行個體(對象)從中分配空間。Java虛擬機器(JVM)的堆中儲存著正在啟動並執行應用程式所建立的所有對象,這些對象通過new、newarray、anewarray和multianewarray等指令建立,但是它們不需要程式碼來顯式地釋放。一般來說,堆的是由記憶體回收
Time of Update: 2018-07-25
1. java是如何管理記憶體的 Java的記憶體管理就是對象的分配和釋放問題。(兩部分)
Time of Update: 2018-07-25
ava中記憶體回收機制的原理推薦一篇文章:對高效能JAVA代碼之記憶體管理更甚者你寫的代碼,GC根本就回收不了,直接系統掛掉。GC是一段程式,不是智能,他只回收他認為的垃圾,而不是回收你認為的垃圾。GC記憶體回收:Grabage
Time of Update: 2018-07-25
簡述java記憶體回收機制 一.誰在做Garbage Collection。 一種流行的說法:在C++裡,是系統在做記憶體回收;而在Java裡,是Java自身在做。
Time of Update: 2018-07-25
今天編寫的程式預想的結果一直沒出來,但竟然沒有報任何錯誤,順利的運行完畢。 結果弄得我半天找不到,到底是哪裡出問題了。System.out.println()查不出來。 調試的幾種方式: 第一種:最簡單的。直接在需要跟蹤輸出的地方使用System.out.println(); 第二種:一步步跟蹤調試。Eclipse功能表列,Window –> Preferences –> Tomcat –>
Time of Update: 2018-07-25
前面提過webservice調試工具,如果有興趣動手寫測試代碼,那挺好的啊。 我也是這樣想的,有想法不妨去嘗試哦。那麼,我的程式中主要用到HttpURLConnection類,先拼接符合soap協議的xml字串資訊,再與webservice服務端建立串連後,發送http請求,接收完返回資訊後列印出來。流程上和SoapUI 調試工具的差不多的,下面提供測試程式的代碼,大家可以參考一下。 import java.io.BufferedReader;import
Time of Update: 2018-07-25
1、安裝IntelliJ IDEA 2、安裝maven http://wentao365.iteye.com/blog/903396 在maven/conf/setttings.xml中 修該
Time of Update: 2018-07-25
轉載:http://youli9056.github.io/blog/java-gc-yuan-li/ 本文並非原創,翻譯自文章How Java Garbage Collection Works? 這篇文章的主要目的是來理解Java記憶體回收機制的基本原理以及它是如何工作的。這是記憶體回收機制系列文章的第二篇。希望您已經讀過了第一部分Java記憶體回收簡介.
Time of Update: 2018-07-25
原文地址: http://blog.csdn.net/huang_xw/article/details/7318554 /** * @Description: 兩個線程(線程1與線程2)訪問同一個對象的內同步方法syn1()與同步方法syn2() * 結果: 線程1訪問對象sameObj的同步方法syn1()時, 線程2訪問對象sameObj中的同步方法syn2()阻塞. 或者線程2訪問時, 線程1阻塞. * 結論: 通常知道不同線程訪問同一個對象的相同同步方法時,