在Java代碼中往往包含著一 些非常敏感的資訊,有些關係到開發人員的利益,有些可能因為使用環境不同而關係到軟體使用者的利益,於是,java程式是赤膊上陣還是全副武裝這個現實問題就 擺在了java開發人員的面前,所以在這種情況下,從開發商和使用者兩方面角度考慮,都非常有必要對java程式進行保護。以下從技術角度就常見的保護措施 和常用工具來看看如何有效保護java代碼: 1. 將java封裝成exe
轉載請註明出處:http://blog.csdn.net/l1028386804/article/details/48050505 java.util.Timer計時器有管理工作順延強制("如1000ms後執行任務")以及周期性執行("如每500ms執行一次該任務")。 但是,Timer存在一些缺陷,因此你應該考慮使用ScheduledThreadPoolExecutor作為代替品,Timer對調度的支援是基於絕對時間,而不是相對時間的,
幾天前的一次上線,腦殘手抖不小心寫了bug,雖然組裡的老大沒有說什麼,但心裏面很是難過。同事說我之所以寫蟲子是因為我討厭if/else,這個習慣不好。的確,if/else可以協助我們很方便的寫出流程式控制制代碼,簡潔明了,這個條件做什麼,那個條件做什麼,說得很清楚。說真的,我從來不反對if/else,從經驗上看,越複雜的業務情境下,代碼寫的越簡單單一,通常越不容易出錯。以結果為導向的現代專案管理方式,這是一種很有效實踐經驗。
最近對海量資料分析突然來了興趣,加上之前公司有分庫的需求,就想用多線程解決資料查詢結果集合并問題。 在海量資料的情況下,簡單的表分區已經沒有辦法滿足資料表操作需求,這個時候就需要用到資料庫分表或者分庫。分表和分庫能夠極大減輕資料庫或者表的壓力,但是資料查詢的時候就比較麻煩,需要分別取對應表或者資料庫的資料,那麼有沒有辦法實現資料庫合并呢。多線程查詢是一個既能提高執行效率又能擷取結果集的方法。 首先建立資料庫連接公用類: package
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPopupMenu; import javax.swing.JTree; import
本文記錄了我在大學期間學習《Java EE》這門課程的大部分知識,對於沒接觸過Java EE的人來說,可以作為一個淺顯的入門,當然這篇部落格的內容畢竟只是冰山一角,如需深入學習方得結合其他資料。 Chapter 1 一.什麼是Java EE組件。
之前在drp項目中就接觸了${pageContext.request.contextPath},當時沒有注意,這次在java版高校雲平台ITOO4.0中再次與之相遇,真是無巧不成書啊。再次遇到,我再置之不理,那就說不過去了吧。 說著個之前,我們必須先要簡單的說說EL運算式。 EL運算式 EL 全名為ExpressionLanguage。作用是: Ø 擷取資料: EL運算式主要用於替換JSP頁面中的指令碼運算式,以從各種類型的web域
Date API:https://docs.oracle.com/javase/8/docs/api/java/util/Date.html SimpleDateFormat API: https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html DateFormatSymbols
在maven項目中引入百度富文字編輯器ueditor-1_4_2的過程中遇到幾個問題,記錄下來。 第一個問題:在maven庫中無法像其他jar包一樣引入ueditor-1.1.0.jar,解決辦法:不引用它的jar包,直接拷入引用的原始碼就行,是去ueditor的官網下載:ueditor_release_ueditor1_4_3_1-src.zip,解壓之後: 我用的是jsp,所以選擇jsp-》lib,點開之後: 然後分別在maven中引入四個jar包,最下面的jar包就不用引入了
1 總體架構模組圖 1.1 抽象架構模組圖 1.2 具體技術架構模組圖 如上圖示所,架構主要包括了: l MVC開發架構 l 工作流程技術 l 使用者、許可權、角色管理 下面分別詳細介紹。 2 &
volatile 意思是說這個變數,不必用本機複本最佳化,保證所有線程直接操作主存中的變數,是真正共用的。 volatile講的是可見度,跟原子操作、安全執行緒無關。 synchronized 常常被強調的意思是互斥,保證只有一個線程進入。其實它還有保證可見度的含義,即,後進入的線程一定會看到之前進入的線程的更新結果。假如沒有synchronized,即便被賦值的變數只是一個int, 是原子操作,(即第二個線程要麼讀到更新之前的值,要麼讀到更新之後的值,不會讀到某種中間狀態),
import Java.text.ParseException; import java.text.SimpleDateFormat;public class DateTest {/** * @param args */public static void main(String[] args) { System.out.println(DateTest.isInTime("20:00-01:00", "01:00"));
package pkg;/** * Created by sanmao on 2016/6/29. */public class Static { /** * 從上篇講帶有限制萬用字元的部落格,我們看到totalArea方法是泛型方法,因為它能夠接收不同的參數 * 但是這裡沒有特定類型的參數表,正如 GenericMeoryCell類的聲明中所作的那樣,有時候特定類型很重要 * 這或許因為下面幾個原因 * 1.該特定類型用作傳回型別 *
自己寫了一個簡單的ftp用戶端,這個用戶端主要使用的是FtpClient這個類,這個類處於jdk的lib/rt.jar包中。現在實現了檔案上傳,檔案夾上傳。其餘的功能有待補充。 代碼如下: import java.io.File;import java.io.FileInputStream;import java.io.IOException; import sun.net.TelnetOutputStream;import sun.net.ftp.FtpClient;
看到Hibernate你給一個對象,他就能動態建立設定檔裡面指定的表名,然後把資料錄入到資料庫,當初感覺是很神奇,不過,好像Hibernate不能動態分表建立表和錄入資料 我這裡寫了一個公用的類,你給一個對象,告訴我按年還是按月產生表,並告訴我那個欄位是不需要在表中建立的,該類就可以動態分表建立需要的表,並錄入資料 注意: 由於業務需要,這裡對於欄位的支援只有int和Integer,double和Double
CopyOnWriteArrayList簡介 CopyOnWriteArrayList容器是Collections.synchronizedList(List
整數劃分是一個比較典型的遞迴問題:將一個整數 n n n 劃分為值不超過 m m m 的一系列數的組合。 例如,若 n=5 n = 5
這裡描述的多態演算法是Java平台提供的可重用功能的一部分。它們都來自集合類,它們都採用靜態方法的形式,其第一個參數是要執行操作的集合。Java平台提供的絕大多數演算法都是在列表執行個體上操作的,但是其中一些演算法是在任意的集合執行個體上操作的。本節簡要介紹以下演算法: 排序 洗牌(打亂順序) 常規資料操作 搜尋 構成 找到極值 排序
在之前提到的synchronized的互斥鎖和ReentrantLock都屬於獨佔鎖定,這些鎖在同一時刻只能允許一個線程進行訪問。而讀寫鎖允許同一時刻有多個讀線程進行訪問,但是在有寫線程的時候,所有的讀線程和其他所有的寫線程都將阻塞。讀寫鎖維護了一對鎖,一個讀鎖和一個寫鎖,這種分離提高了並發性,因為在使用獨佔鎖定的時候,讀讀線程也是被阻塞的,相比之下確實提高了並行度。
CyclicBarrier意為可迴圈使用的(Cyclic)屏障(Barrier),屬於jdk