javaace
『壹』 求各種文件的擴展名
擴展名是非常多的,我把它收集就放在我的網盤上,就是這里(http://vaa4.ys168.com),在《計算機學習》文件夾里。
由於回答有10000字的限制,不能全部發上來,我只好發前面的一部分,參考一下,要看全部的還是到我的網盤上看。
我就先列一些常用的
【常見的擴展名】我就略說些經常遇到的,但並不是人人都認識的擴展名:
〔*.exe‖可執行文件;直接打開〕
〔*.rar‖一種壓縮包;用WinRAR打開〕
〔*.zip‖一種壓縮包;用WinRAR打開,或者WinXP也可以直接打開〕
〔*.iso‖虛擬光碟機;用WinRAR打開,也可用其他虛擬光碟機軟體〕
〔*.doc‖word文檔;用Office Word打開〕
〔*.ppt‖幻燈片; 用Office PowerPiont打開〕
〔*.xls‖電子表格;用Office Excel打開〕
〔*.wps‖WPS文檔; 用金山WPS打開〕
〔*.txt‖文本文檔;默認用記事本打開〕
〔*.lrc‖動態歌詞;可以用記事本打開〕
〔*.rm,*.rmvb‖高清視頻;可以用RealOnePlayer打開〕
〔*.mp3,*.wma,*.wav‖一些音樂〕
〔*.jpg,*.bmp,*.gif‖一些圖片,其中gif可以是動態的〕
〔*.wfs‖Flash文件;可以用IE打開,也可用FlashPlayer打開〕
〔*.torrent‖BT文件;可以用BitComet打開〕
A
ACE:Ace壓縮檔案格式
ACT:Microsoft office助手文件
AIF,AIFF:音頻互交換文件,Silicon Graphic and Macintosh應用程序的聲音格式
ANI:Windows系統中的動畫游標
ARC:LH ARC的壓縮檔案文件
ARJ:Robert Jung ARJ壓縮包文件
ASD:Microsoft Word的自動保存文件;Microsoft高級流媒體格式(microsoft advanced streaming
format,ASF)的描述文件;可用NSREX打開 Velvet Studio例子文件
ASF:Microsoft高級流媒體格式文件
ASM:匯編語言源文件,Pro/E裝配文件
ASP:動態網頁文件;ProComm Plus安裝與連接腳本文件;Astound介紹文件
AST:Astound多媒體文件;ClarisWorks「助手」文件
Axx:ARJ壓縮文件的分包序號文件,用於將一個大文件壓至幾個小的壓縮包中(xx取01-99的數字)
A3L:Authorware 3.x庫文件
A4L:Authorware 4.x庫文件
A5L:Authorware 5.x庫文件
A3M,A4M:Authorware Macintosh未打包文件
A3W,A4W,A5W:未打包的Authorware Windows文件
B
BAK:備份文件
BAS:BASIC源文件
BAT:批處理文件
BIN:二進制文件
BINHex:蘋果的一種編碼格式
BMP:Windows或OS/2點陣圖文件
BOOK:Adobe FrameMaker Book文件
BOX:Lotus Notes的郵箱文件
BPL:Borlard Delph 4打包庫
BSP:Quake圖形文件
BUN:CakeWalk 聲音捆綁文件(一種MIDI程序)
C
C0l:台風波形文件
CAB:Microsoft壓縮檔案文件
CAD:Softdek的Drafix CAD文件
CAM:Casio照相機格式
CAP:壓縮音樂文件格式
CAS:逗號分開的ASCⅡ文件
CCB:Visual Basic動態按鈕配置文件
CCH:Corel圖表文件
CCO:CyberChat數據文件
CCT:Macromedia Director Shockwave投影
CDA:CD音頻軌道
CDF:Microsoft頻道定義格式文件
CDI:Philip的高密盤交互格式
CDM:Visual dBASE自定義數據模塊文件
CDR:CorelDRAW繪圖文件;原始音頻CD數據文件
CDT:CorelDRAW模板
CDX:CorelDRAW壓縮繪圖文件;Microsoft Visual FoxPro索引文件
CFG:配置文件
CGI:公共網關介面腳本文件
CGM:計算機圖形元文件
CH:OS/2配置文件
CHK:由Windows磁碟碎片整理器或磁碟掃描保存的文件碎片
CHM:編譯過的HTML文件
CHP:Ventura Publisher章節文件
CHR:字元集(字體文件)
CHT:ChartViem文件;Harvard Graphics矢量文件
CIF:Adaptec CD 創建器 CD映像文件
CIL:Clip Gallery下載包
CIM:SimCity 2000文件
CIN:OS/2改變控制文件用於跟蹤INI文件中的變化
CLASS:java類文件
CLP:Windows 剪貼板文件
CLL:Crick Software Clicker文件
CLS:Visual Basic類文件
CMD:Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件
CPI:Microsoft MS-DOS代碼頁信息文件
CPL:控制面板擴展名,Corel顏色板
CPP:C++代碼文件
CPR:Corel提供說明書文件
CPT:Corel 照片-繪畫圖像
CST:Macromedia Director Cast文件
CUR:Windows游標文件
D
DBF:dBASE文件,一種由Ashton-Tate創建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和類似資料庫或與資料庫有關產品識別;可用數據文件(能被Excel
97打開);Oracle 8.1.x表格空間文件
DBX:DataBearn圖像;Microsoft Visual FoxPro表格文件
DCT:Microsoft Visual FoxPro資料庫容器
DCU:Delphi編譯單元文件
DCX:Microsoft Visual FoxPro資料庫容器;基於PCX的傳真圖像;宏
DIR:MacromediaDirector文件
DLL:動態鏈接庫
DOC:FrameMaker或FrameBuilder文檔;Word Star文檔、Word
Perfect文檔、Microsoft:Word文檔;DisplayWrite文檔
DOT:Microsoft Word文檔模板
DPL:Borland Delph 3壓縮庫
DRV:驅動程序
DRW:Micrografx Designer/Draw;Pro/E繪畫文件
DSF:Micrografx Designer VFX文件
DSG:DOOM保存的文件
DSM:Dynamic Studio音樂模塊(MOD)文件
DSP:Microsoft Developer Studio工程文件
DSQ:Corel QUERY(查詢)文件
DST:刺綉機圖形文件
DSW:Microsoft Developer Studio工作區文件
DTA:World Bank(世界銀行)的STARS數據文件
DTD:SGML文檔類型定義(DTD)文件
DTED:地面高度數字數據(圖形的數據格式)文件
DTF:Symantec Q&A相關的資料庫數據文件
DTM:DigiTrakker模塊文件
DUN:Microsoft拔號網路導出文件
DV:數字視頻文件(MIME)
DWG:AutoCAD工程圖文件;AutoCAD或Generic CADD老版本的繪圖格式
DXR:Macromedia Director受保護(不可編輯)電影文件
E
EDA:Ensoniq ASR磁碟映像
EDD:元素定義文檔(FrameMaker+SGML文檔)
EDE:Ensoniq EPS磁碟映像
EDK:Ensoniq KT磁碟映像
EDQ:Ensoniq SQ1/SQ2/Ks32磁碟映像
EDS:Ensoniq SQ80磁碟映像
EDV:Ensoniq VFX-SD磁碟映像
EFA:Ensoniq ASR文件
EFE:Ensoniq EPS文件
EFK:Ensoniq KT文件
EFQ:Ensoniq SQ1/SQ2/Ks32文件
EFS:Ensoniq SQ80文件
EFV:Ensoniq VFX-SD文件
EMD:ABT擴展模塊
EMF:Windows增強元文件
EML:Microsoft Outlook Express郵件消息(MIME RTC822)文件
EXE:可執行文件(程序)
F
FAV:Microsoft Outlook導航條
FAX:傳真類型圖像
FCD:虛擬CD-ROM
FDF:Adobe Acrobat表單文檔文件
FLA:Macromedia Flash電影
FND:Microsoft Explorer保存的搜索文件(Find applet)
FON:系統字體
FRT:Microsoft FoxPro報表文件
FRX:Visual Basic表單文本;Microsoft FoxPro報表文件
FXP:經Microsoft FoxPro編譯的源文件
G
GDM:鈴聲、口哨聲和聲音板模塊格式
GetRight:GetRight未完成的下載文件
GHO:Norton 克隆磁碟映像
GID:Windows 95全局索引文件(包括幫助狀態)
GIF:CompuServe點陣圖文件
GL:動畫格式
GRP:程序管理組
H
HEX:Macintosh BinHex2.0文件
HLP:幫助文件;Date CAD Windows幫助文件
HPP:C++程序頭文件
HQX:Macintosh BinHex 4.0文件
HT:HyperTerminal(超級終端)
HTM,HTML:超文本文檔
HTT:Microsoft超文本模板
HTX:擴展HTML模板
I
ICO:Windows圖標
IDX:Microsoft FoxPro相關資料庫索引文件;Symantec Q&A相關資料庫索引文件;Microsoft Outlook
Express文件
IMG:GEM映像
INF:信息文件
INI:初始化文件;Mwave DSP Synth的「nwsynth.ini」 GMS安裝;Cravis Ultrasound bank安裝
INP:Oracle 3.0版或早期版本的表單源代碼
INRS:INRS遠程通信聲頻
INS:InstallShield安裝腳本;X-Internet簽字文件;Ensoniq EPS字簇設備;Cell/ⅡMAC/PC抽樣設備
INT:中間代碼,當一個源程序經過語法檢查後編譯產生一個可執行代碼
IOF:Findit文檔
IQY:Microsoft Internet查詢文件
ISO:根據ISD 9660有關CD-ROM文件系統標准列出CD-ROM上的文件
ISP:X-Internet簽字文件
IST:數字跟蹤設備文件
ISU:InstallShield卸裝腳本
IT:脈沖跟蹤系統音樂模塊(MOD)文件
ITI:脈沖跟蹤系統設備
ITS:脈沖跟蹤系統抽樣,Internet文檔位置
IV:Open Inventor中使用的文件格式
IVD:超過20/20微觀數據維數或變數等級文件
IVP:超過20/20的用戶子集配置文件
IVT:超過20/20表或集合數據文件
IVX:超過20/20微數據目錄文件
IW:Idlewild屏幕保護程序
IWC:Install Watch文檔
J
J62:Ricoh照相機格式
JAR:Java檔案文件(一種用於applet和相關文件的壓縮文件)
JAVA:Java源文件
JAR:Java檔案文件(一種用於applet和相關文件的壓縮文件)
JAVA:Java源文件
JFF,JFIF,JIF:JPEG文件
JPE,JPEG,JPG:JPEG圖形文件
JS:JavaScript源文件
JSP:HTML網頁,其中包含有對一個Java servlet的參考
K
KAR:卡拉OK MIDI文件(文本+MIDI)
L
LAB:Visual dBASE標簽文件
LBT,LBX:Microsoft FoxPro標簽文件
LDB:Microsoft Access加鎖文件
LHA:LZH更換文件後綴
LOG:日誌文件
LZH:LH ARC壓縮檔案
M
M1V:MPEG相關文件(MIME"mpeg"類型)
M3D:Corel Motion 3D動畫文件
M3U:MPEG URL(MIME聲音文件)
MAM:Microsoft Access宏
MAQ:Microsoft Access查詢文件
MAR:Microsoft Access報表文件
MBX:Microsoft Outlook保存email格式;Eudora郵箱
MCW:Microsoft Word的Macintosh文檔
MDB:Microsoft Access資料庫
MDN:Microsoft Access空資料庫模板
MDW:Microsoft Access工作組文件
MID:MIDI音樂
MMM:Microsoft多媒體電影
MOV:QuickTime for Windows電影
MP2:第二層MPEG音頻文件
MP3:第三層MPEG音頻文件
MPA:MPEG相關文件,MIME「mpeg類型」
MPE,MPEG,MPG:MPEG動畫文件
MPP:Microsoft工程文件;CAD繪圖文件格式
MPR:Microsoft FoxPro菜單(已編譯)
MSI:Windows 安裝器包
MSN:Microsoft 網路文檔;Descent Mission文件
O
OBD:Microsoft Office活頁夾
OBJ:對象文件
OBZ:Microsoft Office活頁夾向導
OCX:Microsoft對象鏈接與嵌入定製控制項
ODS:Microsoft Outlook Express郵箱文件
OFT:Microsoft Outlook模板
OPX:OPL擴展DLL(動態鏈接庫)
OSS:Microsoft Office查找文件
OST:Microsoft Exchange / Outlook 離線文件
P
PAL:壓縮文件
PART:Go!Zilla部分下載文件
PAS:Pascal源代碼
PCS:PICS動畫文件
PDF:Adobe Acrobat
可導出文檔格式文件(可用Web瀏覽器顯示);Microsoft系統管理伺服器包定義文件;NetWare列印機定義文件
php,PHP3:包含有PHP腳本的HTML網頁
PHTML:包含有PHP腳本的HTML網頁;由Perl分析解釋的HTML
PM5:Pagemaker 5.0文件
PM6:Pagemaker 6.0文件
PPS:Microsoft Powerpoint幻燈片放映
PPT:Microsoft Powerpoint演示文稿
PRF:Windows系統文件,Macromedia導演設置文件
PSD:Adobe photoshop點陣圖文件
PSM:Protracker Studio模型格式;Epic游戲的源數據文件
PST:Microsoft Outlook個人文件夾文件
PWL:Windows 95口令列表文件
Q
QIF:QuickTime相關圖像(MIME);Quicken導入文件
QT,QTM:QuickTime電影
QTI,QTIF:QuickTime相關圖像
QTP:QuickTime優先文件
QTS:Mac PICT圖像文件;QuickTime相關圖像
QTX:QuickTime相關圖像
R
RA:RealAudio聲音文件
RAM:RealAudio元文件
RAR:RAR壓縮檔案(Eugene Roshall格式)
REC:錄音機宏;RapidComm聲音文件
REG:注冊表文件
REP:Visual dBASE報表文件
RES:Microsoft Visual C++資源文件
RM:RealAudio視頻文件
RMF:Rich Map格式(3D游戲編輯器使用它來保存圖)
ROM:基於盒式磁帶的家庭游戲模擬器文件(來自Atari
2600、Colecovision、Sega、Nintendo等盒式磁帶里的ROM完全拷貝,在兩個模擬器之間不可互修改)
Rxx:多卷檔案上的RAR壓縮文件(xx=1~99間的一個數字)
S
SAV:游戲保存文件
SB:原始帶符號位元組(8位)數據
SBK:Creative Labs的Soundfont 1.0 Bank文件;(Soundb laster)/EMU SonndFont v1.x
Bank文件
SBL:Shockwave Flash對象文件
SCF:Windows Explorer命令文件
SCH:Microsoft Schele+1
SCP:撥號網路腳本文件
SCR:Windows屏幕保護;傳真圖像;腳本文件
SFX:RAR自解壓檔案
SHTML:含有伺服器端包括(SSI)的HTML文件
SPL:Shockwave Flash對象;DigiTrakker抽樣
sql:Informix SQL查詢;通常被資料庫產品用於SQL查詢(腳本、文本、二進制)的文件擴展名
STM:.shtml的短後綴形式,含有一個服務端包括(SSI)的HTML文件;Scream Tracker V2音樂模塊(MOD)文件
STR:屏幕保護文件
SWA:在Macromedia導演文件(MP3文件)中的Shockwave聲音文件
SWF:Shockwave Flash對象
SYS:系統文件
T
T64:Commodore 64模擬器磁帶映像文件
THEME:Windows 95桌面主題文件
TIF,TIFF:標簽圖像文件格式(TIFF)點陣圖
TMP:Windows臨時文件
TRM:終端文件
TXT:ASCⅡ文本格式的聲音數據
TZ:老的壓縮格式文件
V
VBA:VBase文件
VBP:Microsoft Visual Basic工程文件
VBW:Microsoft Visual Basic工作區文件
VBX:Microsoft Visual Basic用戶定製控制項
VQE,VQL:Yamaha Sound-VQ定位器文件
VQF:Yamaha Sound-VQ文件(可能出現標准)
VRF:Oracle 7配置文件
VSL:下載列表文件(GetRight)
W
WAB:Microsoft Outlook文件
WAD:包含有視頻、玩家水平和其他信息的DOOM游戲的大文件
WAL:Quake 2正文文件
WAV:Windows波形聲形
WBK:Microsoft Word備份文件
WFM:Visual dBASE Windows表單
WFN:在CorelDRAW中使用的符號
WIZ:Microsoft Word向導
WRL:虛擬現實模型
WWL:Microsoft Word內插器文件
X
XLK:Microsoft Excel備份
XLL:Microsoft Excel內插器文件
XLM:Microsoft Excel宏
XLS:Microsoft Excel工作單
XLT:Microsoft Excel模板
XLV:Microsoft Excel VBA模塊
XLW:Microsoft Excel工作簿/工作區
Z
ZAP:Windows軟體安裝配置文件
ZIP:Zip文件
『貳』 java Intetface中的siurce folder怎麼填寫
Path介面中resolve方法的作用相當於把當前路徑當成父目錄,而把參數中的路徑當成子目錄或是其中的文件,進行解析之後得到一個新路徑;
resolveSibling方法的作用與resolve方法類似,只不過把當前路徑的父目錄當成解析時的父目錄;
relativize方法的作用與resolve方法正好相反,用來計算當前路徑相對於參數中給出的路徑的相對路徑;
subpath方法用來獲取當前路徑的子路徑,參數中的序號表示的是路徑中名稱元素的序號;
startsWith和endsWith方法用來判斷當前路徑是否以參數中的路徑開始或結尾。
在一般的路徑中,「.」和「..」分別用來表示當前目錄和上一級目錄。通過normalize方法可以去掉路徑中的「.」和「..」。所有這些方法的返回值都是Path介面的實現對象,因此這些方法可以很容易地級聯起來。
『叄』 北大青鳥java培訓:大學生學北大青鳥可以拿什麼證書含金量高嗎
很多人都以為北大青鳥的課程都是面向初高中生的,但是隨著互聯網的高發展,大學生對於計算機技術的學習需求也在急速上升,北大青鳥作為IT教育屆的「資深」品牌,其研發機構北大青鳥職業教育研究院很早就已經進入大學生市場,集合行業領域大咖,以就業為導向,以理論+項目+實訓為主導,研發出適合生零基礎學習,並且能夠憑借所學技能就業的課程。
__北大青鳥校區的大學生課程有:Java軟體開發、互聯網架構師、UI設計、平面設計、軟體編程、web前端、大數據、雲計算、AI人工智慧等熱門課程。
__而且為了保障大學生的就業問題,學員學習北大青鳥的這些課程還可以考取相應的證書。
大學生學北大青鳥可以拿什麼證書?含金量高嗎?
__在北大青鳥校區,學員學員畢業之後,除了能夠拿到相對應課程的證書外,學習UI設計、前端的學生可以報名考取ACAA證書(ACAA中國數字藝術認證教師);學習Java軟體開發和大數據課程的學生還可以報名考取阿里雲ACA、ACP認證證書;其中阿里雲ACA、ACP證書是受阿里企業認可的。
含金量非常高。
助理工程師(ACA),獲得此認證,證明您可以進行阿里雲基礎產品的使用和管理;
認證工程師(ACP),AlibabaCloudCertified
Professional獲得此認證,證明您可以基於阿里雲產品解決企業的基本業務問題;
認證高級工程師(ACE),AlibabaCloudCertified
Expert獲得此認證,證明您可以基於阿里雲產品進行架構設計並解決業務發展中的主要問題。
__ACP認證目前又按專業方向分四種:
__雲計算(主要對應阿里雲基礎架構產品)大數據(主要對應阿里雲大數據系列產品)雲安全(主要對應阿里雲雲盾系列產品)企業級互聯網架構(主要對應阿里雲企業級中間件系列產品)
__目前主流的認證就是阿里雲雲計算ACP認證,適用范圍最廣、考試難度較小,是面向使用阿里雲雲計算產品的架構、開發、運維人員的專業技術認證。
對學員就業幫助很大。
『肆』 eclipse啟動時發生錯誤,各位大大看看怎麼解決
報錯之一:
Version 1.4.2_03 of the JVM not suitable for this proct.Version1.5 or geeater is required
大概意思好像說JVM虛擬機的環境 1.4版本過低,用1.5版本以上的,很疑惑。。。安裝的jdk是1.7的。
不過jvm是;
C:\Documents and Settings\Administrator>java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b11)
Java HotSpot(TM) Client VM (build 23.3-b01, mixed mode, sharing)
C:\Documents and Settings\Administrator>
報錯之二:
!SESSION 2012-11-27 20:26:37.326 -----------------------------------------------
eclipse.buildId=I20110613-1736
java.version=1.4.2_03
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
Command-line arguments: -os win32 -ws win32 -arch x86
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:37.779
!MESSAGE NLS unused message: ECLIPSE_OSGI_NAME in: org.eclipse.osgi.framework.internal.core.ExternalMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:37.779
!MESSAGE NLS unused message: OSGI_VERSION in: org.eclipse.osgi.framework.internal.core.ExternalMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:37.795
!MESSAGE NLS unused message: ECLIPSE_COPYRIGHT in: org.eclipse.osgi.framework.internal.core.ExternalMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:37.795
!MESSAGE NLS unused message: BUNDLE_CLASSPATH_ENTRY_NOT_FOUND_EXCEPTION in: org.eclipse.osgi.framework.internal.core.ExternalMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:37.795
!MESSAGE NLS unused message: BUNDLE_FRAGMENT_IMPORT_CONFLICT in: org.eclipse.osgi.framework.internal.core.ExternalMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:37.795
!MESSAGE NLS unused message: FILTER_INVALID in: org.eclipse.osgi.framework.internal.core.ExternalMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:37.795
!MESSAGE NLS unused message: LAUNCHER_ADAPTOR_ERROR in: org.eclipse.osgi.framework.internal.core.ExternalMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:37.795
!MESSAGE NLS unused message: LAUNCHER_INVALID_PORT in: org.eclipse.osgi.framework.internal.core.ExternalMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:37.795
!MESSAGE NLS unused message: LAUNCHER_COMPONENT_MISSING in: org.eclipse.osgi.framework.internal.core.ExternalMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:37.795
!MESSAGE NLS unused message: LAUNCHER_COMPONENT_JAR in: org.eclipse.osgi.framework.internal.core.ExternalMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:38.170
!MESSAGE NLS unused message: COMMIT_INVALID_TIMESTAMP in: org.eclipse.osgi.internal.resolver.StateMessages
!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2012-11-27 20:26:38.170
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: 無法解析束。原因:org.eclipse.equinox.p2.reconciler.dropins_1.1.100.v20110510 [84]
at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1327)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1311)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:323)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1130)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:38.341
!MESSAGE NLS unused message: ECLIPSE_STARTUP_INVALID_PORT in: org.eclipse.core.runtime.internal.adaptor.EclipseAdaptorMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:38.341
!MESSAGE NLS unused message: ECLIPSE_STARTUP_FAILED_FIND in: org.eclipse.core.runtime.internal.adaptor.EclipseAdaptorMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:38.341
!MESSAGE NLS unused message: ECLIPSE_CONSOLE_DISABLED_BUNDLE_REASON2 in: org.eclipse.core.runtime.internal.adaptor.EclipseAdaptorMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:38.341
!MESSAGE NLS unused message: ECLIPSE_CLASSLOADER_GENERATED_EXCEPTION in: org.eclipse.core.runtime.internal.adaptor.EclipseAdaptorMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:38.341
!MESSAGE NLS unused message: ECLIPSE_CLASSLOADER_ALREADY_STOPPED in: org.eclipse.core.runtime.internal.adaptor.EclipseAdaptorMessages
!ENTRY org.eclipse.osgi 2 1 2012-11-27 20:26:38.357
!MESSAGE NLS unused message: ECLIPSE_BUNDLESTOPPER_ERROR_STOPPING_BUNDLE in: org.eclipse.core.runtime.internal.adaptor.EclipseAdaptorMessages
!ENTRY org.eclipse.osgi 2 0 2012-11-27 20:26:38.357
!MESSAGE 由於未解析以下根約束,所以未解析一個或多個束:
!SUBENTRY 1 org.eclipse.osgi 2 0 2012-11-27 20:26:38.357
!MESSAGE 未解析 bundle reference:file:plugins/org.eclipse.core.net.win32.x86.nl_zh_3.5.0.v20091121043401.jar。
!SUBENTRY 2 org.eclipse.core.net.win32.x86.nl_zh 2 0 2012-11-27 20:26:38.357
!MESSAGE 缺少主機 org.eclipse.core.net.win32.x86_0.0.0。
!SUBENTRY 1 org.eclipse.osgi 2 0 2012-11-27 20:26:38.357
!MESSAGE 未解析 bundle reference:file:plugins/org.eclipse.equinox.launcher.win32.win32.x86.nl_zh_3.5.0.v20091121043401.jar。
!SUBENTRY 2 org.eclipse.equinox.launcher.win32.win32.x86.nl_zh 2 0 2012-11-27 20:26:38.357
!MESSAGE 缺少主機 org.eclipse.equinox.launcher.win32.win32.x86_0.0.0。
!ENTRY org.eclipse.osgi 2 0 2012-11-27 20:26:38.482
!MESSAGE 以下是未解析的束的完整列表,請參閱上一個日誌條目以了解根本原因(如果存在該日誌條目的話):
!SUBENTRY 1 org.eclipse.osgi 2 0 2012-11-27 20:26:38.482
!MESSAGE 未解析 bundle com.ibm.icu_4.4.2.v20110208 [2]。
!SUBENTRY 2 com.ibm.icu 2 0 2012-11-27 20:26:38.482
!MESSAGE 缺少約束:Bundle-RequiredExecutionEnvironment: J2SE-1.5
!SUBENTRY 1 org.eclipse.osgi 2 0 2012-11-27 20:26:38.482
!MESSAGE 未解析 bundle org.eclipse.ant.launching_1.0.100.v20110506 [16]。
!SUBENTRY 2 org.eclipse.ant.launching 2 0 2012-11-27 20:26:38.482
!ENTRY org.eclipse.osgi 4 0 2012-11-27 20:26:38.513
!MESSAGE 應用程序錯誤
!STACK 1
java.lang.RuntimeException: 應用程序 {0} 在注冊器中沒有找到. 應用程序可以應用在: org.eclipse.ant.core.antRunner, org.eclipse.equinox.app.error, org.eclipse.equinox.p2.director, org.eclipse.equinox.p2.garbagecollector.application, org.eclipse.pde.junit.runtime.uitestapplication, org.eclipse.pde.junit.runtime.legacytestapplication, org.eclipse.pde.junit.runtime.coretestapplication, org.eclipse.pde.junit.runtime.coretestapplicationnonmain, org.eclipse.pde.junit.runtime.nonuithreadtestapplication, org.eclipse.update.core.standaloneUpdate, org.eclipse.update.core.siteOptimizer.
at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:248)
at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
解決方法:
在我的電腦-高級-環境變數path中,將系統變數path裡面的內容調整一下,Oracle的內容全部移到最後邊。如:
%JAVA_HOME%\bin;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;d:\Program Files\ATI Technologies\ATI.ACE\Core-Static;d:\oracle\proct\10.1.0\Db_2\bin;d:\oracle\proct\10.1.0\Db_2\jre\1.4.2\bin\client;d:\oracle\proct\10.1.0\Db_2\jre\1.4.2\bin;
錯誤原因:
因為本來安裝了oracle,oracle的jre變數值優先於java,所以導致java的jre失效,報錯XXX未找到。必須把oracle的放在最後,放在中間也不行。
『伍』 我想學編程,應該學哪一類,求助
原文地址:http://coolshell.cn/articles/4990.html
博文如下:
前言
你是否覺得自己從學校畢業的時候只做過小玩具一樣的程序?走入職場後哪怕沒有什麼經驗也可以把以下這些課外練習走一遍(朋友的抱怨:學校課程總是從理論出發,作業項目都看不出有什麼實際作用,不如從工作中的需求出發)
建議:
不要亂買書,不要亂追新技術新名詞,基礎的東西經過很長時間積累而且還會在未來至少10年通用。
回顧一下歷史,看看歷史上時間線上技術的發展,你才能明白明天會是什麼樣。
一定要動手,例子不管多麼簡單,建議至少自己手敲一遍看看是否理解了里頭的細枝末節。
一定要學會思考,思考為什麼要這樣,而不是那樣。還要舉一反三地思考。
註:你也許會很奇怪為什麼下面的東西很偏Unix/linux,這是因為我覺得Windows下的編程可能會在未來很沒有前途,原因如下:
現在的用戶界面幾乎被兩個東西主宰了,1)Web,2)移動設備iOS或Android。Windows的圖形界面不吃香了。
越來越多的企業在用成本低性能高的Linux和各種開源技術來構架其系統,Windows的成本太高了。
微軟的東西變得太快了,很不持久,他們完全是在玩弄程序員。詳情參見《Windows編程革命史》
所以,我個人認為以後的趨勢是前端是Web+移動,後端是Linux+開源。開發這邊基本上沒Windows什麼事。
啟蒙入門
1、學習一門腳本語言,例如python/Ruby
可以讓你擺脫對底層語言的恐懼感,腳本語言可以讓你很快開發出能用得上的小程序。實踐項目:
處理文本文件,或者csv(關鍵詞pythoncsv,pythonopen,pythonsys)讀一個本地文件,逐行處理(例如wordcount,或者處理log)
遍歷本地文件系統(sys,os,path),例如寫一個程序統計一個目錄下所有文件大小並按各種條件排序並保存結果
跟資料庫打交道(pythonsqlite),寫一個小腳本統計資料庫里條目數量
學會用各種print之類簡單粗暴的方式進行調試
學會用Google(phrase,domain,usereadertofollowtechblogs)
為什麼要學腳本語言,因為他們實在是太方便了,很多時候我們需要寫點小工具或是腳本來幫我們解決問題,你就會發現正規的編程語言太難用了。
2、用熟一種程序員的編輯器(不是IDE)和一些基本工具
Vim/Emacs/Notepad++,學會如何配置代碼補全,外觀,外部命令等。
SourceInsight(或ctag)
使用這些東西不是為了Cool,而是這些編輯器在查看、修改代碼/配置文章/日誌會更快更有效率。
3、熟悉Unix/LinuxShell和常見的命令行
如果你用windows,至少學會用虛擬機里的linux,vmwareplayer是免費的,裝個Ubuntu吧
一定要少用少用圖形界面。
學會使用man來查看幫助
文件系統結構和基本操作ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip…
學會使用一些文本操作命令sed/awk/grep/tail/less/more…
學會使用一些管理命令ps/top/lsof/netstat/kill/tcpmp/iptables/dd…
了解/etc目錄下的各種配置文章,學會查看/var/log下的系統日誌,以及/proc下的系統運行信息
了解正則表達式,使用正則表達式來查找文件。
對於程序員來說Unix/Linux比Windows簡單多了。(參看我四年前CSDN的博文《其實Unix很簡單》)學會使用Unix/Linux你會發現圖形界面在某些時候實在是太難用了,相當地相當地降低工作效率。
4、學習Web基礎(HTML/CSS/JS)+伺服器端技術(LAMP)
未來必然是Web的世界,學習WEB基礎的最佳網站是W3School。
學習HTML基本語法
學習CSS如何選中HTML元素並應用一些基本樣式(關鍵詞:boxmodel)
學會用Firefox+Firebug或chrome查看你覺得很炫的網頁結構,並動態修改。
學習使用Javascript操縱HTML元件。理解DOM和動態網頁(DynamicHTML:TheDefinitiveReference,3rdEdition-O'ReillyMedia)網上有免費的章節,足夠用了。或參看DOM。
學會用Firefox+Firebug或chrome調試Javascript代碼(設置斷點,查看變數,性能,控制台等)
在一台機器上配置Apache或Nginx
學習PHP,讓後台PHP和前台HTML進行數據交互,對伺服器相應瀏覽器請求形成初步認識。實現一個表單提交和反顯的功能。
把PHP連接本地或者遠程資料庫MySQL(MySQL和SQL現學現用夠了)
跟完一個名校的網路編程課程(例如:http://www.stanford.e/~ouster/cgi-bin/cs142-fall10/index.php)不要覺得需要多於一學期時間,大學生是全職一學期選3-5門課,你業余時間一定可以跟上
學習一個javascript庫(例如jQuery或ExtJS)+Ajax(非同步讀入一個伺服器端圖片或者資料庫內容)+JSON數據格式。
HTTP:TheDefinitiveGuide讀完前4章你就明白你每天上網用瀏覽器的時候發生的事情了(proxy,gateway,browsers)
做個小網站(例如:一個小的留言板,支持用戶登錄,Cookie/Session,增、刪、改、查,上傳圖片附件,分頁顯示)
買個域名,租個空間,做個自己的網站。
進階加深
1、c語言和操作系統調用
重新學C語言,理解指針和內存模型,用C語言實現一下各種經典的演算法和數據結構。推薦《計算機程序設計藝術》、《演算法導論》和《編程珠璣》。
學習(麻省理工免費課程)計算機科學和編程導論
學習(麻省理工免費課程)C語言內存管理
學習Unix/Linux系統調用(Unix高級環境編程),,了解系統層面的東西。
用這些系統知識操作一下文件系統,用戶(實現一個可以拷貝目錄樹的小程序)
用fork/wait/waitpid寫一個多進程的程序,用pthread寫一個多線程帶同步或互斥的程序。多進程多進程購票的程序。
用signal/kill/raise/alarm/pause/sigprocmask實現一個多進程間的信號量通信的程序。
學會使用gcc和gdb來編程和調試程序(參看我的《用gdb調試程序》)
學會使用makefile來編譯程序。(參看我的《跟我一起寫makefile》)
IPC和Socket的東西可以放到高級中來實踐。
學習WindowsSDK編程(Windows程序設計,MFC程序設計)
寫一個窗口,了解WinMain/WinProcere,以及Windows的消息機制。
寫一些程序來操作WindowsSDK中的資源文件或是各種圖形控制項,以及作圖的編程。
學習如何使用MSDN查看相關的SDK函數,各種WM_消息以及一些常式。
這本書中有很多常式,在實踐中請不要照抄,試著自己寫一個自己的常式。
不用太多於精通這些東西,因為GUI正在被Web取代,主要是了解一下Windows圖形界面的編程。@virushuo說:「我覺得GUI確實不那麼熱門了,但充分理解GUI工作原理是很重要的。包括移動設備開發,如果沒有基礎知識仍然很吃力。或者說移動設備開發必須理解GUI工作,或者在win那邊學,或者在mac/iOS上學」。
2、學習Java
Java的學習主要是看經典的CoreJava《Java核心技術編程》和《Java編程思想》(有兩卷,我僅鏈了第一卷,足夠了,因為Java的圖形界面了解就可以了)
學習JDK,學會查閱JavaAPIDocJavaPlatformSE6
了解一下Java這種虛擬機語言和C和Python語言在編譯和執行上的差別。從C、Java、Python思考一下「跨平台」這種技術。
學會使用IDEEclipse,使用Eclipse編譯,調試和開發Java程序。
建一個Tomcat的網站,嘗試一下JSP/Servlet/JDBC/MySQL的Web開發。把前面所說的那個PHP的小項目試著用JSP和Servlet實現一下。
3、Web的安全與架構
學習HTML5,網上有很多很多教程,以前酷殼也介紹過很多,我在這里就不羅列了。
學習Web開發的安全問題(參考新浪微博被攻擊的這個事,以及Ruby的這篇文章)
學習HTTPServer的rewrite機制,Nginx的反向代理機制,fast-cgi(如:PHP-FPM)
學習Web的靜態頁面緩存技術。
學習Web的非同步工作流處理,數據Cache,數據分區,負載均衡,水平擴展的構架。
實踐任務:
使用HTML5的canvas製作一些Web動畫。
嘗試在前面開發過的那個Web應用中進行SQL注入,JS注入,以及XSS攻擊。
把前面開發過的那個Web應用改成構造在Nginx+PHP-FPM+靜態頁面緩存的網站
4、學習關系型資料庫
你可以安裝MSSQLServer或MySQL來學習資料庫。
學習教科書里資料庫設計的那幾個範式,1NF,2NF,3NF,……
學習資料庫的存過,觸發器,視圖,建索引,游標等。
學習SQL語句,明白表連接的各種概念(參看《SQLJoin的圖示》)
學習如何優化資料庫查詢(參看《MySQL的優化》)
實踐任務:設計一個論壇的資料庫,至少滿足3NF,使用SQL語句查詢本周,本月的最新文章,評論最多的文章,最活躍用戶。
5、一些開發工具
學會使用SVN或Git來管理程序版本。
學會使用JUnit來對Java進行單元測試。
學習C語言和Java語言的codingstandard或codingguideline。(我N年前寫過一篇關C語言非常簡單的文章——《編程修養》,這樣的東西你可以上網查一下,一大堆)。
推薦閱讀《代碼大全》《重構》《代碼整潔之道》
高級深入
1、C++/Java和面向對象
我個人以為學好C++,Java也就是舉手之勞。但是C++的學習曲線相當的陡。不過,我覺得C++是最需要學好的語言了。參看兩篇趣文「C++學習信心圖」和「21天學好C++」
學習(麻省理工免費課程)C++面向對象編程
讀我的「如何學好C++」中所推薦的那些書至少兩遍以上(如果你對C++的理解能夠深入到像我所寫的《C++虛函數表解析》或是《C++對象內存存局(上)(下)》,或是《C/C++返回內部靜態成員的陷阱》那就非常不錯了)
然後反思為什麼C++要干成這樣,Java則不是?你一定要學會對比C++和Java的不同。比如,Java中的初始化,垃圾回收,介面,異常,虛函數,等等。
實踐任務:
用C++實現一個BigInt,支持128位的整形的加減乘除的操作。
用C++封裝一個數據結構的容量,比如hashtable。
用C++封裝並實現一個智能指針(一定要使用模板)。
《設計模式》必需一讀,兩遍以上,思考一下,這23個模式的應用場景。主要是兩點:1)鍾愛組合而不是繼承,2)鍾愛介面而不是實現。(也推薦《深入淺出設計模式》)
實踐任務:
使用工廠模式實現一個內存池。
使用策略模式製做一個類其可以把文本文件進行左對齊,右對齊和中對齊。
使用命令模式實現一個命令行計算器,並支持undo和redo。
使用修飾模式實現一個酒店的房間價格訂價策略——旺季,服務,VIP、旅行團、等影響價格的因素。
學習STL的用法和其設計概念-容器,演算法,迭代器,函數子。如果可能,請讀一下其源碼。
實踐任務:嘗試使用面向對象、STL,設計模式、和WindowsSDK圖形編程的各種技能
做一個貪吃蛇或是俄羅斯方塊的游戲。支持不同的級別和難度。
做一個文件瀏覽器,可以瀏覽目錄下的文件,並可以對不同的文件有不同的操作,文本文件可以打開編輯,執行文件則執行之,mp3或avi文件可以播放,圖片文件可以展示圖片。
學習C++的一些類庫的設計,如:MFC(看看候捷老師的《深入淺出MFC》),Boost,ACE,CPPUnit,STL(STL可能會太難了,但是如果你能了解其中的設計模式和設計那就太好了,如果你能深入到我寫的《STLstring類的寫時拷貝技術》那就非常不錯了,ACE需要很強在的系統知識,參見後面的「加強對系統的了解」)
Java是真正的面向對象的語言,Java的設計模式多得不能再多,也是用來學習面向對象的設計模式的最佳語言了(參看Java中的設計模式)。
推薦閱讀《EffectiveJava》and《Java解惑》
學習Java的框架,Java的框架也是多,如Spring,Hibernate,Struts等等,主要是學習Java的設計,如IoC等。
Java的技術也是爛多,重點學習J2EE架構以及JMS,RMI,等消息傳遞和遠程調用的技術。
學習使用Java做WebService(官方教程在這里)
實踐任務:嘗試在Spring或Hibernate框架下構建一個有網路的WebService的遠程調用程序,並可以在兩個Service中通過JMS傳遞消息。
C++和Java都不是能在短時間內能學好的,C++玩是的深,Java玩的是廣,我建議兩者選一個。我個人的學習經歷是:
深究C++(我深究C/C++了十來年了)
學習Java的各種設計模式。
2、加強系統了解
重要閱讀下面的幾本書:
《Unix編程藝術》了解Unix系統領域中的設計和開發哲學、思想文化體系、原則與經驗。你一定會有一種醍醐灌頂的感覺。
《Unix網路編程卷1,套接字》這是一本看完你就明白網路編程的書。重要注意TCP、UDP,以及多路復用的系統調用select/poll/epoll的差別。
《TCP/IP詳解卷1:協議》-這是一本看完後你就可以當網路黑客的書。了解乙太網的的運作原理,了解TCP/IP的協議,運作原理以及如何TCP的調優。
實踐任務:
理解什麼是阻塞(同步IO),非阻塞(非同步IO),多路復用(select,poll,epoll)的IO技術。
寫一個網路聊天程序,有聊天伺服器和多個聊天客戶端(服務端用UDP對部分或所有的的聊天客戶端進Multicast或Broadcast)。
寫一個簡易的HTTP伺服器。
《Unix網路編程卷2,進程間通信》信號量,管道,共享內存,消息等各種IPC……這些技術好像有點老掉牙了,不過還是值得了解。
實踐任務:
主要實踐各種IPC進程序通信的方法。
嘗試寫一個管道程序,父子進程通過管道交換數據。
嘗試寫一個共享內存的程序,兩個進程通過共享內存交換一個C的結構體數組。
學習《Windows核心編程》一書。把CreateProcess,Windows線程、線程調度、線程同步(Event,信號量,互斥量)、非同步I/O,內存管理,DLL,這幾大塊搞精通。
實踐任務:使用CreateProcess啟動一個記事本或IE,並監控該程序的運行。把前面寫過的那個簡易的HTTP服務用線程池實現一下。寫一個DLL的鉤子程序監控指定窗口的關閉事件,或是記錄某個窗口的按鍵。
有了多線程、多進程通信,TCP/IP,套接字,C++和設計模式的基本,你可以研究一下ACE了。使用ACE重寫上述的聊天程序和HTTP伺服器(帶線程池)
實踐任務:通過以上的所有知識,嘗試
寫一個服務端給客戶端傳大文件,要求把100M的帶寬用到80%以上。(注意,磁碟I/O和網路I/O可能會很有問題,想一想怎麼解決,另外,請注意網路傳輸最大單元MTU)
了解BT下載的工作原理,用多進程的方式模擬BT下載的原理。
3、系統架構
負載均衡。HASH式的,純動態式的。(可以到Google學術里搜一些關於負載均衡的文章讀讀)
多層分布式系統–客戶端服務結點層、計算結點層、數據cache層,數據層。J2EE是經典的多層結構。
CDN系統–就近訪問,內容邊緣化。
P2P式系統,研究一下BT和電驢的演算法。比如:DHT演算法。
伺服器備份,雙機備份系統(Live-Standby和Live-Live系統),兩台機器如何通過心跳監測對方?集群主結點備份。
虛擬化技術,使用這個技術,可以把操作系統當應用程序一下切換或重新配置和部署。
學習Thrift,二進制的高性能的通訊中間件,支持數據(對象)序列化和多種類型的RPC服務。
學習Hadoop。
Hadoop框架中最核心的設計就是:MapRece和HDFS。MapRece的思想是由Google的一篇論文所提及而被廣為流傳的,簡單的
一句話解釋MapRece就是「任務的分解與結果的匯總」。HDFS是Hadoop分布式文件系統(HadoopDistributedFile
System)的縮寫,為分布式計算存儲提供了底層支持。
了解NoSQL資料庫(有人說可能是一個過渡炒作的技術),
不過因為超大規模以及高並發的純動態型網站日漸成為主流,而SNS類網站在數據存取過程中有著實時性等剛性需求,這使得目前NoSQL資料庫慢慢成了人們
所關注的焦點,並大有成為取代關系型資料庫而成為未來主流數據存儲模式的趨勢。當前NoSQL資料庫很多,大部分都是開源的,其中比較知名的
有:MemcacheDB、Redis、TokyoCabinet(升級版為Kyoto
Cabinet)、Flare、MongoDB、CouchDB、Cassandra、Voldemort等。
寫了那麼多,回顧一下,覺得自己相當的有成就感。希望大家不要嚇著,我自己這十來年也在不斷地學習,今天我也在學習中,人生本來就是一個不斷學習和練級的過程。不過,一定有漏的,也有不對的,還希望大家補充和更正。(我會根據大家的反饋隨時更新此文)歡迎大家通過我的微博(@左耳朵耗子)和twitter(@haoel)和我交流。
—–更新2011/07/19—–
1)有朋友奇怪為什麼我在這篇文章開頭說了web+移動,卻沒有在後面提到iOS/Android的前端開發。因為我心裡有一種感覺,移動設備上的UI最終也會被Javascript取代。大家可以用iPhone或Android看看google+,你就會明白了。
2)
有朋友說我這里的東西太多了,不能為了學習而學習,我非常同意。我在文章的前面也說了要思考。另外,千萬不要以為我說的這些東西是一些新的技術,這份攻略
里95%以上的全是基礎。而且都是久經考驗的基礎技術。即是可以讓你一通百通的技術,也是可以讓你找到一份不錯工作的技術。
3)有朋友說學
這些東西學完都40了,還不如想想怎麼去掙錢。我想告訴大家,一是我今年還沒有40歲,二是學無止境啊,三是我不覺得掙錢有多難,難的是怎麼讓你值那麼多
錢?無論是打工還是創業,是什麼東西讓你自己的價值,讓你公司的價值更值錢?別的地方我不敢說,對於互聯網或IT公司來說,技術實力絕對是其中之一。
4)有朋友說技術都是工具,不應該如此痴迷這句話沒有錯,有時候我們需要更多的是抬起頭來看看技術以外的事情,或者是說我們在作技術的時候不去思考為什麼會有這個技術,為什麼不是別的,問題不在於技術,問題在於我們死讀書,讀死書,成了技術的書獃子。
5)對於NoSQL,最近比較火,但我對其有點保守,所以,我只是說了解就可以。對於Hadoop,我覺得其在分布式系統上有巨大的潛力,所以需要學習。對於關系型資料庫,的確是很重要的東西,這點是我的疏忽,在原文里補充。
『陸』 ACE2.0 連接失敗怎樣匹配
1)設備的密碼被修改,而伺服器上的「添加設備」未修改相關密碼。
2)配置出現錯誤,設備假死,重啟解決。
3)介面連接錯誤,MGMT 為管理口。
4)伺服器2003 的自動更新將java 更新,導致設備的應用不正常,重新安裝伺服器。
5)檢查管理伺服器或客戶端Windows 系統的IE 版本是否為5.0,如果是請更新至IE6.0
或者IE7.0 即可。
6)ACE 管理端與ACE 設備的MGT 口之間的「TCP80」埠被阻斷,導致管理端與
MGT 口間的通訊受阻。需要保證ACE 管理端與ACE 設備的MGT 口之間的「TCP80」
埠開放。
『柒』 java 後台管理用ace-admin怎麼開發
1. 模塊化、服務化,流程化,耦合度低、擴展性好,靈活度高,工具類封裝完整,干凈利索,調用簡單方便
2. 提供Rest服務,支持APP手機應用(android和ios)介面、php、.net、易語言、VB等第三方介面調用
3. 全新高大尚HTML5+css3.0+bootstrap響應式開發界面UI,( 手機 PC 平板 截圖在下面)、前沿. spring restful 風格
4. 框架搭建完善成熟,在此基礎上做過很多項目,系統具有並發處理、分布式、穩定性。
5. 系統功能完善,此為框架平台,文檔、注釋齊全,提供技術支持,專門供二次開發
6. 在此基礎上可二次開發(OA、ERP、CRM ,醫療管理、金融、網站後台、APP後台、電子商務、商城(贈送UI)等等
7.我們這邊是公司,主要業務是定製開發, 此系統為我們平時給客戶做項目用的,經過很多項目實戰考驗
『捌』 如何用Java操作MongoDB
HelloWorld程序
學習任何程序的第一步,都是編寫HelloWorld程序,我們也不例外,看下如何通過Java編寫一個HelloWorld的程序。
首先,要通過Java操作Mongodb,必須先下載Mongodb的Java驅動程序,可以在這里下載。
新建立一個Java工程,將下載的驅動程序放在庫文件路徑下,程序代碼如下:
packagecom.mkyong.core;
importjava.net.UnknownHostException;
importcom.mongodb.BasicDBObject;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
/**
*Java+MongoDBHelloworldExample
*
*/
publicclassApp{
publicstaticvoidmain(String[]args){
try{
//實例化Mongo對象,連接27017埠
Mongomongo=newMongo("localhost",27017);
//連接名為yourdb的資料庫,假如資料庫不存在的話,mongodb會自動建立
DBdb=mongo.getDB("yourdb");
//GetcollectionfromMongoDB,databasenamed"yourDB"
//從Mongodb中獲得名為yourColleection的數據集合,如果該數據集合不存在,Mongodb會為其新建立
DBCollectioncollection=db.getCollection("yourCollection");
//使用BasicDBObject對象創建一個mongodb的document,並給予賦值。
BasicDBObjectdocument=newBasicDBObject();
document.put("id",1001);
document.put("msg","helloworldmongoDBinJava");
//將新建立的document保存到collection中去
collection.insert(document);
//創建要查詢的document
BasicDBObjectsearchQuery=newBasicDBObject();
searchQuery.put("id",1001);
//使用collection的find方法查找document
DBCursorcursor=collection.find(searchQuery);
//循環輸出結果
while(cursor.hasNext()){
System.out.println(cursor.next());
}
System.out.println("Done");
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(MongoExceptione){
e.printStackTrace();
}
}
}
最後,輸出的結果為:
{"_id":{"$oid":"4dbe5596dceace565d229dc3"},
"id":1001,"msg":"helloworldmongoDBinJava"}
Done
在上面的例子中,演示了使用Java對Mongodb操作的重要方法和步驟,首先通過創建Mongodb對象,傳入構造函數的參數是Mongodb的資料庫所在地址和埠,然後使用
getDB方法獲得要連接的資料庫名,使用getCollection獲得數據集合的名,然後通過新建立BasicDBObject對象去建立document,最後通過collection的insert方法,將建立的document保存到資料庫中去。而collection的find方法,則是用來在資料庫中查找document。
從Mongodb中獲得collection數據集
在Mongodb中,可以通過如下方法獲得資料庫中的collection:
DBCollectioncollection=db.getCollection("yourCollection");
如果你不知道collection的名稱,可以使用db.getCollectionNames()獲得集合,然後再遍歷,如下:
DBdb=mongo.getDB("yourdb");
Setcollections=db.getCollectionNames();
for(StringcollectionName:collections){
System.out.println(collectionName);
}
完成的一個例子如下:
packagecom.mkyong.core;
importjava.net.UnknownHostException;
importjava.util.Set;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
/**
*Java:GetcollectionfromMongoDB
*
*/
publicclassGetCollectionApp{
publicstaticvoidmain(String[]args){
try{
Mongomongo=newMongo("localhost",27017);
DBdb=mongo.getDB("yourdb");
Set<String>collections=db.getCollectionNames();
for(StringcollectionName:collections){
System.out.println(collectionName);
}
DBCollectioncollection=db.getCollection("yourCollection");
System.out.println(collection.toString());
System.out.println("Done");
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(MongoExceptione){
e.printStackTrace();
}
}
}
Mongodb中如何插入數據
下面,講解下如何使用4種方式,將JSON數據插入到Mongodb中去。首先我們准備JSON
格式的數據,如下:
{
"database":"mkyongDB",
"table":"hosting",
"detail":
{
records:99,
index:"vps_index1",
active:"true"
}
}
}
我們希望用不同的方式,通過JAVA代碼向Mongodb插入以上格式的JSON數據
第一種方法,是使用BasicDBObject,方法如下代碼所示:
BasicDBObjectdocument=newBasicDBObject();
document.put("database","mkyongDB");
document.put("table","hosting");
BasicDBObjectdocumentDetail=newBasicDBObject();
documentDetail.put("records","99");
documentDetail.put("index","vps_index1");
documentDetail.put("active","true");
document.put("detail",documentDetail);
collection.insert(document);
第二種方法是使用BasicDBObjectBuilder對象,如下代碼所示:
=BasicDBObjectBuilder.start()
.add("database","mkyongDB")
.add("table","hosting");
Detail=BasicDBObjectBuilder.start()
.add("records","99")
.add("index","vps_index1")
.add("active","true");
documentBuilder.add("detail",documentBuilderDetail.get());
collection.insert(documentBuilder.get());
第三種方法是使用Map對象,代碼如下:
MapdocumentMap=newHashMap();
documentMap.put("database","mkyongDB");
documentMap.put("table","hosting");
MapdocumentMapDetail=newHashMap();
documentMapDetail.put("records","99");
documentMapDetail.put("index","vps_index1");
documentMapDetail.put("active","true");
documentMap.put("detail",documentMapDetail);
collection.insert(newBasicDBObject(documentMap));
第四種方法,也就是最簡單的,即直接插入JSON格式數據
String json="{'database' : 'mkyongDB','table' : 'hosting',"+
"'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}}";
DBObject dbObject=(DBObject)JSON.parse(json);
collection.insert(dbObject);
這里使用了JSON的parse方法,將解析後的JSON字元串轉變為DBObject對象後再直接插入到collection中去。
完整的代碼如下所示:
packagecom.mkyong.core;
importjava.net.UnknownHostException;
importjava.util.HashMap;
importjava.util.Map;
importcom.mongodb.BasicDBObject;
importcom.mongodb.BasicDBObjectBuilder;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.DBObject;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
importcom.mongodb.util.JSON;
/**
* Java MongoDB : Insert a Document
*
*/
publicclass InsertDocumentApp {
publicstaticvoid main(String[] args){
try{
Mongo mongo=newMongo("localhost",27017);
DB db=mongo.getDB("yourdb");
//get a single collection
DBCollection collection=db.getCollection("mmyColl");
//BasicDBObject example
System.out.println("BasicDBObject example...");
BasicDBObject document=newBasicDBObject();
document.put("database","mkyongDB");
document.put("table","hosting");
BasicDBObject documentDetail=newBasicDBObject();
documentDetail.put("records","99");
documentDetail.put("index","vps_index1");
documentDetail.put("active","true");
document.put("detail", documentDetail);
collection.insert(document);
DBCursor cursorDoc=collection.find();
while(cursorDoc.hasNext()){
System.out.println(cursorDoc.next());
}
collection.remove(newBasicDBObject());
//BasicDBObjectBuilder example
System.out.println("BasicDBObjectBuilder example...");
BasicDBObjectBuilder documentBuilder=BasicDBObjectBuilder.start()
.add("database","mkyongDB")
.add("table","hosting");
BasicDBObjectBuilder documentBuilderDetail=BasicDBObjectBuilder.start()
.add("records","99")
.add("index","vps_index1")
.add("active","true");
documentBuilder.add("detail", documentBuilderDetail.get());
collection.insert(documentBuilder.get());
DBCursor cursorDocBuilder=collection.find();
while(cursorDocBuilder.hasNext()){
System.out.println(cursorDocBuilder.next());
}
collection.remove(newBasicDBObject());
//Map example
System.out.println("Map example...");
Map documentMap=newHashMap();
documentMap.put("database","mkyongDB");
documentMap.put("table","hosting");
Map documentMapDetail=newHashMap();
documentMapDetail.put("records","99");
documentMapDetail.put("index","vps_index1");
documentMapDetail.put("active","true");
documentMap.put("detail", documentMapDetail);
collection.insert(newBasicDBObject(documentMap));
DBCursor cursorDocMap=collection.find();
while(cursorDocMap.hasNext()){
System.out.println(cursorDocMap.next());
}
collection.remove(newBasicDBObject());
//JSON parse example
System.out.println("JSON parse example...");
String json="{'database' : 'mkyongDB','table' : 'hosting',"+
"'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}}";
DBObject dbObject=(DBObject)JSON.parse(json);
collection.insert(dbObject);
DBCursor cursorDocJSON=collection.find();
while(cursorDocJSON.hasNext()){
System.out.println(cursorDocJSON.next());
}
collection.remove(newBasicDBObject());
}catch(UnknownHostException e){
e.printStackTrace();
}catch(MongoException e){
e.printStackTrace();
}
}
}
『玖』 C++學習。。。
大一學習的c++,工作之後也一直用的c++。
1. 涵蓋c++入門到精通的圖書列表
《The C programming language》必讀
《C++ Primer》,號稱是一本可以讓你從C或JAVA程序員轉為一個真正的C++程序員的入門參考書,必讀。
《The C++ programming language》,C++之父,人稱B教主著作,在看過C++ primer後,應該可以跳章選讀。
《Think in c++》,網上說此書的中文版翻譯質量奇差,推薦看影印版,選讀。
《Effective c++》,類似 Effective java,講的是最佳實踐,程序員必讀。
《More effective c++》,上書的補充。
《The C++ standard library》,會寫C,不會用標准庫怎麼行。這就跟java程序員不會用java.util包一樣,必讀。
《Effective STL》,STL庫的最佳實踐。Effective C++作者又一力作,必讀。
《The annotated STL source》,STL源碼分析,這本書應該算是深入/精通類了,選讀。
《Generic programming and STL》,號稱C++編程里,就是跟模板,泛型打交道,那麼精通泛型是勢在必行。
《C++ Template》,C++模板編程,代碼復用的經驗之道,必讀。
《Exceptional C++》,跟Effective C++類似,屬於最佳實踐和難題解析,書中列出了許多應用場景和實例代碼供讀者揣摩,選讀。
《More Exceptional C++》,上書的補充。
《Exceptional C++ Style》,上上書的補充
《Inside The C++ Object Model》,有了上面這些書做鋪墊,那麼終於可以讀此神書了。它會帶你游覽C++對象模型的底層實現機制。讀完此書,任何C++代碼看起來如同行雲流水,必讀。
2. 優秀的C/C++開源項目(閱讀代碼)
OS:Linux kernel LVS、Linux應用程序
DB:Mysql、PostgreSQL
Complier:VM、GCC
Framework:OpenSip、SipProxy、
Net:ACE(Java Mina、Netty)、TCP/IP、HTTP協議棧
Cache:Memcached、Redis、
Library:STL(java util package)、Boost、Qt(UI)、
balance:Apache、Nginx
GSL
地址:https://github.com/microsoft/GSL
Boost文檔
地址:https://www.boost.org/doc/libs/
wxWidgets官網
地址:http://wxwidgets.org/
gtkmm
地址:https://www.gtkmm.org/en/
CopperSpice
地址:https://www.copperspice.com/
Qt
地址:https://www.qt.io/Eigen
地址:http://eigen.tuxfamily.org/index.php?title=Main_Page#Documentation
Plot utils
地址:https://www.gnu.org/software/plotutils/
Asio
地址:https://think-async.com/Asio/
POCO
地址:https://pocoproject.org/
abseil
地址:https://abseil.io/
C++開源庫匯總列表
地址:https://en.cppreference.com/w/cpp/links/libs
除了這些開源項目,也可以找一些免費的公開課,那這里也推薦一個ACM金牌大佬講授的免費C++課程,可以去體驗一下:
學好C++才是入職大廠的敲門磚! 當年要是有這課,我的C++也不至於這樣
已失效
3.C++語法講解
語言基礎
詳細介紹變數、表達式、語句、指針、數組、流程式控制制、函數、文件組織等。抽象機制 - 面向對象編程
深入講解C++的抽象機制,封裝(類)、繼承、多態;操作符重載、函數對象、異常處理等。模板 - 泛型編程
詳細介紹C++的模板機制,類模板、函數模板、模板特化等方面的內容。引用和指針:為什麼引用很重要
const關鍵字:為什麼const很重要
名字空間 (namespace)
關於C++對象
內置類型的對象,如int、double對象,自定義類型的對象對象類型的定義
關鍵字class和struct
類成員:成員函數和數據成員
靜態數據成員
成員的訪問控制
對象的size
關於this指針
onst成員函數、const究竟修飾什麼
mutable數據成員
4種特殊成員函數:constructor、destructor、 constructor、operator=
對象的構造、初始化列表
對象的析構
對象的復制
什麼情況下有必要顯式定義4種特殊函數
C++對象生命周關於C++中操作符重載機制
重要操作符重載
算術運算:+, -, *, /, %, ++, --, ...
關系運算:>, <, ==, !=
下標存取:[ ]
函數調用:(),函數對象
類型轉換、單參數構造函數與隱式轉換、阻止隱式轉換 -- explicit關鍵字友元與成員
基類與派生類
再談對象的構造與析構
虛函數、純虛函數
派生類的內存布局、虛函數表
多態、多態類型、如何體現多態
虛析構、為什麼虛析構很重要
多繼承
虛繼承與虛基類
對基類的訪問、public / protected / private繼承
Down cast:static_cast<>和dynamic_cast<>
運行期類型識別 (RTTI)
C++語言機制提供了完整的OOP支持
超越繼承
OOP若干法則和設計模式
《C++ Primer》
最新版本:第三版(第四版國外已上架, 國內一些網上書店也在預訂中)
適合有豐富C經驗,缺乏C++經驗的。不過我個人一直認為此書帶著過於強烈的C語言的痕跡,對於C++的學習未必是 好事。
《The C++ Programming Language》/《C++程序設計語言》
最新版本:第三版特別版
簡稱 TC++PL,有其他語言的豐富經驗的。(也有人簡稱之為「TCPL」,但需與另一本《The C Programmer Language》區分開來)
《Essential C++》
《Accelerated C++》
這兩本薄一些,都是不錯的選擇。《Accelerated C++》本人沒有讀過,從各方面的評價來看,完全值得推薦。
以上幾本書都有相應的中文版,而且翻譯的質量都不錯。上面的書未必都需要讀一遍,但無論如何,TC++PL是應該閱讀的。
《Effective C++》
最新版本:第二版(第三版國外已上架,國內一些網上書店也在預訂中)
簡稱EC。C++程序員必讀!很多時候,我們說C++聖經不是指TC++PL,而是這一本。《The Pragmatic Programmer》一書中寫到:「一旦你發現自己要參與C++項目的開發,趕快跑(不要走)到書店去購買Scott Mayer的《Effective C++》,可能還要《More Effective C++》」。
《C++ Coding Standards: 101 Rules, Guidelines, and Best Practices》/《C++ 編程規范》
個人認為此書應為C++程序員必備的案頭書。幾乎Effective系列和Exceptional系 列都在這里得到了總結。最新的模版、異常的業界經驗都在這里的到了體現。可能的唯一缺陷就是對一個新手而言,關於「為什麼這么做」的問題,解釋的不夠。
我 的看法是:如果你不理解其中的條款,記憶,並且照做;如果你理解其中的條款,我猜你一定會同意書中的觀點。我認為這本書中的內容至少在2009年以前都不 會過時,人們將廣為傳誦它制定的101條戒律。
還不知道他的簡稱,也許「101」會成為一個候選者?
提到《Effective C++》,那麼另外三本書一一浮出水面:
《More Effective C++》
《Exceptional C++》
《More Exceptional C++》。
新書《Exceptional C++ Style》也是值得一看的好書。
上 述幾本書,一本也不應該放過。
個人建議上述書籍按順序閱讀。並且,在將來反復閱讀這幾本書。
4.深入c++面向對象
4.1、從C到C++
4.2、深入C++對象
4.3、操作符重載
4.4、面向對象基礎 -- 繼承
4.5、關於繼承更多的話題
4.6、C++與面向對象設計
5.C++泛型編程與STL
5.1、C++ 模板機制
5.2、STL 概要
5.3、STL容器
5.4、STL迭代
5.5、STL演算法
5.6、預與定義STL數對象
5.7、STL適配器
6. C++進階
《Thinking in C++》/《C++編程思想》
這本書及其中文版傳言好壞都有,沒有認真看過,不做評價,如果確有興趣,不妨嘗試 一下該書。
以下幾本書基本上涉及的都是語言本身,大體上可以按照以下的順序閱讀。
《C++必知必會》
如果早一年,這本書將是重量級的,然而它被101和《Exceptional C++ Style》蓋過一頭。
《C++ Gotchas: Avoiding Common Problems in Coding and Design》/《C++程序設計陷阱》
這又是一本我未曾讀過,而且廣受好評的書。
《STL 源碼剖析》
這本書我剛到手,就被人"借"走,以至於到現在也沒有看過。看過這本書的朋友,可以給一個合適的評價。
7. C++進階之數據結構基礎
這是所有編程語言中最應該學習的部分,程序組成的基礎之一。
順序存儲、鏈式存儲、循環鏈表;
雙向鏈表、棧(順序和鏈式)、隊列(順序和鏈式);
棧的應用、樹基本概念及遍歷、二叉樹;
排序演算法、並歸演算法、選擇、插入、快速、希爾。
以上這些內容你知道嗎?
8. C++進階之UI界面開發
掌握QT類庫構架,圖形界面開發模型;
掌握QT開發技巧,消息機制,圖形處理;
掌握QT網路編程,UDP,TCP使用方式;
掌握QT文件處理方式,序列化;
掌握QT在windows,linux,ios,android不同平台下的移植技術。
9. C++進階之Unix/Linux網路伺服器
掌握Unix/Linux平台開發方式;
熟練使用系統調用;
熟練Unix/Linux內存管理,進程,線程調度;
熟悉網路伺服器開發方式,熟練編寫TCP,UCP網路服務程序;
掌握同步/非同步IO模型在網路編程中的使用方式。
10.C++進階之資料庫開發
掌握SQL語言的實用技巧。Oracle,MySQL資料庫的使用方式。
如果你能熟練掌握以上列出的技能,具備解決復雜問題和技術難點的能力,而且你能獨立開發一些比較復雜的功能模塊,那麼很榮幸地告訴你,你已經達到中級水平,薪資過萬對你來說簡直是小菜一碟。
11.C++標准參考
C++ reference
地址:https://en.cppreference.com/w/
C++ Coding Standard
地址:http://www.possibility.com/Cpp/CppCodingStandard.html
Standard C++
地址:https://isocpp.org/
State of C++ Evolution
地址:http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2597.html
The C++ Resources Network
地址:http://www.cplusplus.com/
Draft C++ Standard: Contents
地址:http://eel.is/c++draft/
關注一些公眾號,比如c語言與cpp編程
『拾』 JAVA的contains怎麼用
你new的Card對象和你加到list里的是不同的對象
你可以測試一下:
Card a=new Card(Card.SPADE,Card.ACE);
Card b=new Card(Card.SPADE,Card.ACE);
System.out.println(a==b);
輸出的一定是false
想要輸出ture要這樣寫:
Card ace = new Card(Card.SPADE,Card.ACE);
cards.add(ace);
System.out.println(cards.contains(ace));