SunshineCharts 是一個比較簡單實用的報表,它的部署教程和簡單實用教程如下: http://blog.csdn.net/arjick/article/details/6702268 這篇文章主要教大家如何實用SunshineCharts 的直條圖。 餅圖資料xml:<?xml version="1.0" encoding="UTF-8"?><data title="" autoRefreshPolicy="on"
Canvas應該是大家在開發flex接觸比較多控制項吧,但是它的功能比較單一,很多人都要給予2次開發,我也是一樣,為了做好延時的flex控制項非同步載入。一個巨大的flex整體切割成為很多很小很小的swf,就要做了一個延時載入。每個Canvas都有。 代碼如下:<?xml version="1.0" encoding="utf-8"?><mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
在一些業務系統,每分鐘都有大量的資料需要插入資料庫。我在開發netflow的管理系統中,在資料庫接收也遇到每分鐘超過幾w的資料。雖然資料量不是很多,但是沒辦法處理得好,也會造成資料庫不得穩定。如果在每分鐘需要對資料庫插入那麼多的sql,很多朋友都提出了批量提交,我也是採用了相關的技術。但是資料實在太多,每次只是緩衝提交1000行資料,提交時間也比較長,最終還是造成了資料庫崩潰。 後來我們提出一個比較新的解決方案,就是多線程緩衝提交資料。 首先,啟動20個線程,空閑等待任務。
正常載入驅動的步驟如下: 1、調用OpenSCManager,開啟SCM管理器。如果返回NULL,則返回失敗,否則繼續下一步; 2、調用CreateService建立服務,如果用GetLastError擷取的傳回值為ERROR_IO_PENDING,說明服務已經建立過,此時用OpenService開啟此服務. 3、調用StartService開啟服務OpenSCManager——>CreateService——>OpenService——>StartService——>C
這個是一個動態編譯的類,可以動態編譯字串型的JAVA原始碼,值得大家研究哦。 mport java.io.*;import java.util.*;import java.lang.reflect.*;import java.io.File;public class CompileTest{ static com.sun.tools.javac.Main javac = new com.sun.tools.javac.Main(); public static void
進程池的進程基礎使用是通過jar檔案來實現。我們首先來實現一下對jar的進程池的啟動、管理和關閉。我們首先看例子:package com.shine.MultiProcess;public class Example {/** * 基礎例子 * * @param args */public static void main(String[] args) {MultiProcessManager.getManager().setJvmPath("C:\\Program Files\\Java\\
近來因為公司項目需要,並且因為開源的報表控制項太多bug了,無法使用。所以簡單封裝了一個flexchart,使用更加簡單,基本3分鐘就可以上手使用,並且擴充性是好。該報表控制項全開源歡迎有興趣的朋友下載使用。 首先請下載sunshinecharts的包: http://ken-javaframeword.googlecode.com/files/SunshineCharts.war 下載2.5.2的javaframework:
ThreadPoolUtil是一個線程池,和現在產品不同的有: 1、線程和線程運行內容分離; 2、線程動態啟動; 3、線程參數動態修改; 4、穩定殺死線程,批量殺死,指定id殺死; 5、指定擷取線程參數; 6、線程池線程歸類和分組; 7、自動擴充線程; 下載的地址(jar含原始碼): http://ken-javaframeword.googlecode.com/files/javaFramework2_5_1.jar
最近我一個朋友問諜戰情節裡是怎樣辦到將資料隱藏到一般圖片裡的,正好有一段時間我也研究過這個問題,既然他問了乾脆我就寫出來和大家也一起分享一下吧,大都是自己琢磨的,如有更加專業的做法歡迎大家討論啊。由於時間比較久遠,當年研究的代碼找了半天也沒找到,其實原理很簡單,就不重新編了吧,重點說說思路。其實數字浮水印加密技術基本原理是很簡單的,我們都知道,一張圖片是由紅綠藍三個灰階矩陣組成的,每個灰階矩陣(二維數組)又包含很多個灰階值,灰階值範圍為0~255,佔8位。這些都是數字柵格圖的基本常識,如果不太明
質數又稱素數。指在一個大於1的自然數中,除了1和此整數自身外,沒法被其他自然數整除的數。或在所有比1大的整數中,除了1和它本身以外,不再有別的因數,這種整數叫做質數或素數。 換句話說,只有兩個正因數(1和自己)的自然數即為素數。比1大但不是素數的數稱為合數。1和0既非素數也非合數。素數在數論中有著很重要的地位。using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace
SunshineCharts 是一個比較簡單實用的報表,它的部署教程和簡單實用教程如下:http://blog.csdn.net/arjick/article/details/6702268這篇文章主要教大家如何實用SunshineCharts 的儀錶盤。注意:大小固定為200*250儀錶盤資料xml:<?xml version="1.0" encoding="UTF-8"?><data title="123" autoRefreshPolicy="on"
在現在系統中,海量資料成為軟體工程師要面對的主要問題。很多人都把資料庫最佳化集中在編程和資料庫的結構,再構建一些索引和視圖,但是在編程和表結構都到了極致的時候,資料庫最佳化該何去何從。Oracle公司現在有一個比較熱門的資料庫叢集技術,叫做rac。rac應該是現在資料庫叢集中最佳化和最熱門的技術。但是只是局限於同類型和同構資料庫上面。RAC是一個負載平衡的代表,它的叢集主要是面對不是大而複雜的資料庫查詢,而是面對大量的串連。但是如果我們面對是一個異類異構資料庫怎麼解決。近年來,有一種比較熱門的
前段時間做一個cs模式的應用項目,其中主要的控制項是sun的swing。但是客戶對我們的美工極度不滿意。然後只有使用look & feel控制項,現在只是寫寫NimROD L&F 的一點使用心得。 NimROD L&F 的首頁是: http://personales.ya.com/nimrod/index-en.html
eprocess->Peb->ProcessParameters->ImagePathName 環境:XP SP3 EPROCESS 結構kd> dt _eprocessnt!_EPROCESS +0x000 Pcb : _KPROCESS +0x06c ProcessLock : _EX_PUSH_LOCK +0x070 CreateTime : _LARGE_INTEGER +0x078
AccordionPane控制項大家並不陌生,就是當有多個Panel的時候一次只想顯示一個Panel就用這個東西來控制,這個東西的簡單的使用我也不一一說了,現在我要是想在這個控制項的某個Panel裡面加事件怎麼做呢?我相信用過這個控制項的人都知道這個控制項中的Panel也就是AccordionPane控制項中的< Head><Content>裡面的東西都是不能在介面編輯的,只能在源檔案裡面編輯,但是現在我要給某個<
SunshineCharts 是一個比較簡單實用的報表,它的部署教程和簡單實用教程如下: http://blog.csdn.net/arjick/article/details/6702268 這篇文章主要教大家如何實用SunshineCharts 的餅圖。 餅圖資料xml:<?xml version="1.0" encoding="UTF-8"?><data debug="off" showDataTips="true"
本文簡單介紹一下Inline Hook,用MessageBoxA來做實驗。Inline Hook 其實就是jmp來jmp去。理解的了話就不難了。在開始代碼之前,先說一下簡單的Inline Hook的實現。1,hook函數幾個位元組,一般是5個,因為5個才夠寫一個jmp指令。2,儲存好寫jmp指令之前是5個位元組,一般用數組來儲存。BYTE old_bytes[5] = {0x0};3,去掉記憶體保護VirtualProtect();4,jmp去我們的函數,Address =
Idle進程相關的一些東西 Idle進程和System進程一樣,也是系統中的一個特殊進程,嚴格講它不算是一個進
此方法只是遍曆SSDT,判斷是否在ntkrnlpa.exe模組裡面。也就是尋找SSDT匯出NT函數的原始地址。此方法不適合檢測 inline Hook。typedef struct _SYSTEM_MODULE_INFORMATION { ULONG Reserved[2]; PVOID Base; ULONG Size; ULONG Flags; USHORT Index; USHORT Unknown; USHORT LoadCount; USHORT ModuleNameOffset;
改變進程名。VOID NewName(UNICODE_STRING ProcessName){ ANSI_STRING OldProcessName; PLIST_ENTRY ActivEProcessLinks; PUNICODE_STRING FindProcessName; ULONG EPROCESS,PEPROCESS,FirstEProcess;