Time of Update: 2018-12-04
前幾天一個網友指出了我的文章中一些有失偏頗之處,那些文章都是我在閱讀Java
Time of Update: 2018-12-04
1.多線程中有主記憶體和工作記憶體之分, 在JVM中,有一個主記憶體,專門負責所有線程共用資料;而每個線程都有他自己私人的工作記憶體, 主記憶體和工作記憶體分貝在JVM的stack區和heap區。 2.線程的狀態有'Ready', 'Running', 'Sleeping', 'Blocked', 和 'Waiting'幾個狀態,'Ready' 表示線程正在等待CPU分配允許啟動並執行時間。
Time of Update: 2018-12-04
其中用到一個加密解密工具類,如下:import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;public
Time of Update: 2018-12-04
該類為hibernate資源載入工具類,在資源載入過程中,用到JDK的三種類載入類1. 當前線程類載入器 ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();2. 當前類載入器 ClassLoader contextClassLoader = ConfigHelper.class.getClassLoader();3. 系統類別載入器 ClassLoader
Time of Update: 2018-12-04
/* * Copyright 2002-2007 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://
Time of Update: 2018-12-04
一. Aviator 輕量級高效能Java運算式求值器Aviator是一個輕量級的、高效能的Java運算式求值器,主要應用在工作流程引擎節點條件判斷、MQ中的訊息過濾以及某些特定的業務情境中。 Aviator的設計思路跟利用GroovyObject的求值思路是一樣的,通過編譯並動態產生位元組碼的方式將運算式編譯成一個類,然後反射執行這個類,因此會在效率上比純解釋執行的IKExpression好一些。 自從上次發布1.0後,還發過1.01版本,不過都沒怎麼宣傳。這次發布一個2.
Time of Update: 2018-12-04
一、class檔案內容註:每個java類只能有一個class檔案或介面,下面討論中u4表示4個位元組,u2表示2個位元組class檔案內容如下:magic(魔數)-u4(u4表示4個位元組)0xCAFEBABE,其作用在於可以輕鬆辨別出Java class檔案和非Java
Time of Update: 2018-12-04
用二進位表示的類使用 Java 語言的開發人員在用編譯器編譯他們的原始碼時,通常不必關心對這些原始碼做了些什麼這樣的細節。但是本系列文章中,我將討論從原始碼到執行程式所涉及的許多幕後細節,因此我將首先探討由編譯器產生的二進位類。二進位類格式實際上是由 JVM 規範定義的。通常這些類表示是由編譯器從 Java 語言原始碼產生的,而且它們通常儲存在副檔名為 .class 的檔案中。但是,這些特性都無關緊要。已經開發了可以使用 Java
Time of Update: 2018-12-04
8.1
Time of Update: 2018-12-04
數組或者集合中存有對象,經常需要對其中的資料進行排序,在java中,Collections和Arrays類中封裝了sort方法,實現了對一個數組或者集合的排序。基於上面的條件,通過配置Comparator的方法,可以實現按照自己需要的條件排序對象資訊。這裡完成的是基於java的九個基本類型的比較子,因為基本類型已經實現了Comparable介面,所以實現起來也很方便。其中,對異常的處理並不是很完善,有興趣的朋友自己去完善這部分代碼吧。// 便捷之處和效率問題//
Time of Update: 2018-12-04
文章目錄 起到第一道安全保障作用的"雙親委派類載入模型"
Time of Update: 2018-12-04
問題一:我聲明了什麼! String s = "Hello world!"; 許多人都做過這樣的事情,但是,我們到底聲明了什嗎?回答通常是:一個String,內容是“Hello world!”。這樣模糊的回答通常是概念不清的根源。如果要準確的回答,一半的人大概會回答錯誤。
Time of Update: 2018-12-04
FreeMarker概述FreeMarker是一個模板引擎,一個基於模板產生文本輸出的通用工具,使用純Java編寫 Template + data model = output FreeMarker 是一個非常優秀的模板引擎,這個模板引擎可用於任何情境,FreeMarker負責將資料模型中的資料合併到模板中,從而產生標準輸出.介面開發人員只需要關於介面(也就是模板檔案)的開發,而商務邏輯開發人員只需要負責將需要顯示的資料填入資料模型-----FreeMarker負責合并資料模型和模板,
Time of Update: 2018-12-04
文章目錄 作者: phinecos 多線程的同步依靠的是對象鎖機制,synchronized關鍵字的背後就是利用了封鎖來實現對共用資源的互斥訪問。 淺談Java多線程的同步問題作者: phinecos
Time of Update: 2018-12-04
當外部線程對某線程調用了thread.interrupt()方法後,java語言的處理機制如下:如果該線程處在可中斷狀態下,(調用了xx.wait(),或者Selector.select(),Thread.sleep()等特定會發生阻塞的api),那麼該線程會立即被喚醒,同時會受到一個InterruptedException,同時,如果是阻塞在io上,對應的資源會被關閉。如果該線程接下來不執行“Thread.interrupted()方法(不是interrupt),那麼該線程處理任何io資源的時
Time of Update: 2018-12-04
摘要:本文介紹了如何在普通Java程式中應用代碼動態產生技術,並測試、比較了各種實現方法的效能。提綱:一、概述 / 二、運算式計算機 / 三、解釋法四、解析法 / 五、編譯法 / 六、產生法 /
Time of Update: 2018-12-04
關於java.lang.Class對象的取得,總結如下 取得方法釋義使用getClass()方法常量:Class c = "foo".getClass(); 枚舉:enum E { A, B } Class c = A.getClass(); 介面:Set<String> s = new HashSet<String>(); Class c = s.getClass(); 數組:byte[] bytes = new byte[1024]; Class c = bytes.
Time of Update: 2018-12-04
Socket傳輸模式 Sockets有兩種主要的操作方式:連線導向的和不需連線的.連線導向的sockets操作就像一部電話,他們必須建立一個串連和一人呼叫.所有的事情在到達時的順序與它們出發時的順序時一樣.不需連線的sockets操作就像是一個郵件投遞,,沒有什麼保證,多個郵件可能在到達時的順序與出發時的順序不一樣. 到底用哪種模式是郵應用程式的需要決定的.如果可靠性更重要的話,用連線導向的操作會好一些.比如檔案伺服器需要他們的資料的正確性和有序性.如果一些資料丟失了,系統的有效性將會失去.
Time of Update: 2018-12-04
Java連線導向的類 Sockets有兩種主要的操作方式:連線導向的和不需連線的.連線導向的sockets操作就像一部電話,他們必須建立一個串連和一人呼叫.所有的事情在到達時的順序與它們出發時的順序時一樣.不需連線的sockets操作就像是一個郵件投遞,,沒有什麼保證,多個郵件可能在到達時的順序與出發時的順序不一樣. 到底用哪種模式是郵應用程式的需要決定的.如果可靠性更重要的話,用連線導向的操作會好一些.比如檔案伺服器需要他們的資料的正確性和有序性.如果一些資料丟失了,系統的有效性將會失去.
Time of Update: 2018-12-04
這個例子是建立一個簡單的web應用,叫MyUsers,完成使用者管理操作,包含簡單的資料庫增,刪,查,該即CRUD(建立,訪問,更新,刪除)操作。這是一個三層的web應用,通過Action(Struts)訪問業務層,業務層訪問DAO。圖一簡要說明了該應用的總體結構。圖上的數字說明了流程順序-從web(UserAction)到中介層(UserManager),再到資料訪問層(UserDAO),然後將結果返回。全文閱讀:http://www.javah.net/Hibernate/20070406