當前位置:首頁 » 編程語言 » java開源項目源碼

java開源項目源碼

發布時間: 2023-05-29 17:23:35

源碼(最原始程式的代碼)詳細資料大全

源碼就是鍵簡指編寫的最原始程式的代碼。運行的軟體是要經過編寫的,程式設計師編寫程式的過程中需要他們的「語言」。音樂家用五線譜和音符,建築師用圖紙和筆,那程式設計師的工作的語言就是「源碼」了。

人們平時使用軟體時就是程式把「源碼」翻譯成我們可直觀的形式表現出來供我們使用的。

任何一個網站螞廳頁面,換成源碼就是一堆按一定格式書寫的文字和符號,但我們的瀏覽器幫我們翻譯成眼前的模樣了。

基本介紹

  • 中文名 :原始碼
  • 外文名 :source code
  • 含義 :編寫的最原始程式的代碼
  • 類別 :電腦代碼
分類,作用,源碼組合,著作權分類,質量標准,執行效率,程式使用,獲取與編寫,例子,源碼模板組成,

分類

1.計算機裡面運行的所有東西都是用程式編出來的(包括作業系統,如Windows,還有Word等,網路游戲也一樣),而編寫程式要用到計算機語言,用計算機語言直接編出來的程式就叫源碼,比如用VisualBasic編寫的源碼檔案一般為.bas檔案,而用C++編寫的一般為.cpp檔案,原始碼不能直接運行,必須編譯後才能運行。源碼經過編譯處理後就可以直接在作業系統下運行了。 2.很多的站長都喜歡使用建網站的程式源碼,因為可以很方便的修改,對於任何一個seo人員來說,都是非常好的一個切入點。 3.從字面意義上來講,源檔案是指一個檔案,指原始碼的集合.原始碼則是一組具有特定意義的可以實現特定功能的字元(程式開發代碼)。 4.「原始碼」在大多數時候等於「源檔案」。 比如在這個網頁上右鍵滑鼠,選擇查看源檔案.出來一個記事本,裡面的內容就是此網頁的原始碼."這句話就體現了他們的關系,此處的源檔案是指網頁的源檔案,而原始碼就是源檔案的內容,所以又可以稱做網頁的原始碼.. 原始碼是指原始代碼,可以是任何語言代碼。 匯編碼是指原始碼編譯後的代碼,通常為二進制檔案,比如共享庫、執行檔、.NET中間代碼、java中間代碼等。 高級語言通常指C/C++、BASIC、C#、JAVA、PASCAL、易語言等等。匯編語言就是ASM,只有這個,比這個更低級的就是機器語言了。

作用

源碼主要功用有如下2種作用: 1.生成目標代碼,即計算機可以識別的代碼。 2.對軟體進行說明,即對軟體的編寫進行說明。為數不少的初學者,甚至少數有經驗的程式設計師都忽視軟體說明的編寫,因為這部分雖然不會在生成的程式中直接顯示,也不參與編譯。但是說明對軟體的學習、分享、維護和軟體復用都有巨大的好處。因此,書寫軟體說明在業界被認為是能創造優秀程式的良好習慣,一些公司也硬性規定必須書寫。 需要指出的是,原始碼的修改不能改變已經生成的目標代碼。如果需要目標代碼做出相應的修改,必須重新編譯。

源碼組合

網站源碼作為軟體的特殊部分,可能被包含在一個或多個檔案中。一個程式不必用同一種格式的原始碼書寫。例如,一個程式如果有C語言庫的支持,那麼就可以用C語言;而另一部分為了達到比較高的運行效率,則可以用匯編語言編寫。 較為復雜的軟體,一般需要數十種甚至上百種的原始碼的參與。為了降低這種復雜度,必須引入一種可以描述各個原始碼之間聯系,並且如何正確編譯的系統。在這樣的背景下,修訂控制系統(RCS)誕生了,並成為研發者對代碼修訂的必備工具之一。 還有另外一種組合:原始碼的編寫和編譯分別在不同的平台上實現,專業術語叫做軟體移植。

著作權分類

如果按照原始碼類型區分軟體,通常被分為兩類:自由軟體和非自由軟體。自由軟體一般是不僅可以免費得到,而且公開原始碼;相對應地,非自由軟體則是不公開原始碼。所有一切通過非正常手段獲得非自由軟體原始碼的行為都將被視為非法。

質量標准

對於計算機而言,並不存在真正意義上的「好」的原始碼;然而作為一個人,好的書寫習慣將決定原始碼的好壞。原始碼是否具有可讀性,成為好壞的重要標准。軟體文檔則是表明可讀性的關鍵。

執行效率

雖然我們可以通過不同的語言來實現計算機的同一功能,但在執行效率上則存在不同。普遍規律是:越高級的語言,其執行效率越低。這也是為什麼匯編語言生成的檔案比用BASIC語言生成檔案普遍要小的原因。 原始碼就是用匯編語言和高級語言寫出來的代碼。主要對象是面向開發者; 我們平常使悶亮隱用的應用程式都是經過源碼編譯打包以後發布的,呈現的最後結果是面向使用者,最終客戶的。

程式使用

網站程式一般就是可以用記事本打開的好多行英文的,用程式語言寫好的軟體 源程式經過編譯成目標程式,才能運行。一般目標程式不能再修改了。 我們電腦上安裝的軟體都是目標程式。源程式不可能直接運行的。 提倡軟體開源的人士認為應該提供源程式給用戶,讓用戶自己修改,有利於軟體行業的發展。反對的人覺得這樣不利於保護著作權。 你如果不懂編程,源程式可以不管它。不影響正常使用。

獲取與編寫

源碼基本上不再需要從頭編寫,因為源碼是屬於可復制可二次開發的程式,一些網站會提供一些已經製作好的源碼,你下載後可以在其基礎上修改,直到成為適合自己使用的源碼,此類的網站有收費的與免費的,以及一些源碼質量不保證的論壇提供,利用這些平台,你可以快速完成一個程式的製作,事半功倍。

例子

dedecms源碼是基於PHP+mysql的cms建站系統,簡潔方便擴充性強大,全國知名網站admin,chinaz,都是dedecms核心源碼。

源碼模板組成

源碼模板有很多種類,在這里我主要講的是ZBLOG風格模板如何修改,此方法可以舉一反三。對於WordPress、PJBLOG、動易CMS、織夢CMS、風訊CMS的風格模板修改方法都是一樣的。
修改一個你滿意的網頁模板,你要有以下基礎,會一點HTML(標准通用標記語言下的一個套用)語言,會一點DIV+CSS,會一點圖片製作方法。 第一步,先講解一下主題模板的構成。下面以Z-blog主題「低調與華麗」風格模板來說明,模板均分為三大部分,①網頁的檔案,②CSS檔案,③圖片檔案。一般情況修改模板只需修改這三部分。 第二步,你可以讓模板可視化再修改。幾乎所有默認的源碼網頁模板的路徑都是系統自帶的標簽。這樣把講HTML檔案放入Dreamweaver里時會是一堆的代碼。如何將程式模板轉換為可視化界面呢。其實只需要修改CSS和圖片路徑就可以了。
如:
<link rel="stylesheet" rev="stylesheet" href="<#ZC_BLOG_HOST#>themes/<#ZC_BLOG_THEME#>/style/<#ZC_BLOG_CSS#>.css" type=text/css media="screen" />加紅色的部分就是系統標簽,這時你可以修改成你本機的虛擬路徑。其他的程式標簽都有說明,請查看相關系統標簽。
如:<link href="../style/css/LuSongSong-Index.css" rel="stylesheet" type=text/css />修改好之後你就可以在Dreamweaver裡面直觀的看到網頁界面了,並且修改起來也非常方便。(記得模板修改之後別忘記把CSS路徑改回去喔!)
如圖所示:
第三步,修改LOGO,和模板相關圖片。網頁我所要的框架改好了,但裡面的logo和banner都還是人家的怎麼辦呢?接下來就是如何修改模板中的相關圖片了。由於盧鬆鬆提供的「低調與華麗」風格模板,包含的有源檔案,所以修改起來非常方便,你只需要修改裡面的文字,下載一點你喜歡的其他圖示就可以了。對於修改網頁中的圖片推薦使用Fireworks,原因是Fireworks不僅可以打開PNG源檔案,還可以打開PSD源檔案,相反Photoshop是不能打開PNG源檔案的 第四步,教程看的再多不自己動動手,親自試一試。那就趕快下載「低調與華麗」風格模板試一試吧!

② Java哪些開源框架的源代碼值得一讀

Spring
spring做為現在最流行java web框架,可以作為任何一個項目的基礎框架,值得仔細研究學習

③ 如何快速讀懂項目源碼javaWeb

一:學會如何讀一個JavaWeb項目源代碼 步驟:表結構->web.xml->mvc->db->spring
ioc->log-> 代碼
1、先了解項目資料庫的表結構,這個方面是最容易忘記 的,有時候我們只顧著看每一個方法是怎麼進行的,卻沒
有去了解資料庫之間的主外鍵關聯。其實如果先了解數據 庫表結構,再去看一個方法的實現會更加容易。
2、然後需要過一遍web.xml,知道項目中用到了什麼攔
截器,監聽器,過濾器,擁有哪些配置文件。如果是攔截 器,一般負責過濾請求,進行AOP 等;如果是監 可能是定時任務,初始化任務;配置文件有如使用了 spring
後的讀取mvc 相關,db 相關,service 相關,aop 相關的文件。
3、查看攔截器,監聽器代碼,知道攔截了什麼請求,這
個類完成了怎樣的工作。有的人就是因為缺少了這一步, 自己寫了一個action,配置文件也沒有寫錯,但是卻怎麼
調試也無法進入這個action,直到別人告訴他,請求被攔
4、接下來,看配置文件,首先一定是mvc相關的,如 springmvc
中,要請求哪些請求是靜態資源,使用了哪些 view 策略,controller 註解放在哪個包下等。 然後是db 相關配置文件,看使用了什麼資料庫,使用了
什麼orm框架,是否開啟了二級緩存,使用哪種產品作 為二級緩存,事務管理的處理,需要掃描的實體類放在什 么位置。最後是spring 核心的ioc
功能相關的配置文件, 知道介面與具體類的注入大致是怎樣的。當然還有一些如 apectj 置文件,也是在這個步驟中完成
5、log
相關文件,日誌的各個級別是如何處理的,在哪些 地方使用了log 記錄日誌
6、從上面幾點後知道了整個開源項目的整體框架,閱讀 每個方法就不再那麼難了。
7、當然如果有項目配套的開發文檔也是要閱讀的。

④ Java開源項目有哪些

Rx 的 Java 實現 RxJava

star:26782;fork:4718

.Net響應式編程框架 Rx 的Java版本開源實現,有Groovy, Clojure, Scala and JRuby版本的實現。

分布式搜索引擎 ElasticSearch

star:24646;fork:8723

Elasticsearch 是一個分布式的 RESTful 風格的搜索和數據分析引擎,能夠解決越來越多的用例。作為 Elastic Stack 的核心,它集中存儲您的數據,幫助您發現意料之中以及意料之外的情況。這個實時的分布式搜索分析引擎, 它能讓你以一個之前從未有過的速度和規模,去探索你的數據。

REST 客戶端 Retrofit

star:23443;fork:4731

retrofit 是一個類型安全的 REST 客戶端,用於 Android 平台。

HTTP+SPDY 客戶端開發包 okhttp

star:21981;fork:5311

okhttp 是敏雀李一個 Java 的 HTTP+SPDY 客戶端開發包,同時也支持 Android。

Java 設計模式 java-design-patterns

star:21456;fork:7162

設計模式是程序員在設計應用程序或系統時解決常見問題的最佳實踐,重用設計模式有助於防止可能導致重大問題的細微問題,同時熟悉模式的程序員和架構師的代碼也更具可讀性。

Google的Java常用類庫 Guava

star:18414;fork:4327

Guava 中文是石橋遲榴的意思,該項目是 Google 的一個開源項目,包含許多 Google 核心的 Java 常用庫。

Android 註解工具 ButterKnife

star:17845;fork:3662

Butter Knife 是 Android 視圖欄位和方法綁定,使用歲緩註解處理來生成樣板代碼。

⑤ Java 如何參與開源項

Java開源框架的源代碼怎麼讀?說讀開源框架的源代碼對自己寫程序很有幫助的,我不知道從那裡下手 找一個你熟悉的項目,下回來源碼,然後單步跟蹤一遍,前題有一定基礎,至少會單步跟蹤調試對ide也得熟悉些,項目別選太大的,像apache裡面的項目都還可以。一開始還是比較艱難的,時間長了就好了。 如同你看不懂高手過招一樣。 還是一步一步的來吧。 先看一些基礎知識畝兆,寫一些東西,然後重點看自己用到的,或者即將用到的部分,這樣提高效果會更好。 開始的時候是把源代碼關聯,有不明白的地方可以ctrl直接過去看。之後有一些積攢之後,可以去看開源項目中的閃亮的地方,比如Spring中的IOC。然後參照自己去實現一個簡單的DEMO,之中可以參考一些資料。個人理解這樣會比較快速的將一個項目中的一部分較為深入的了解。畢竟一個成熟的開源項目技術的積攢及范圍都比較大。完全了解沒有必要也沒有可能。 我讀Spring的經驗。 首先要搞清它大體的處理步驟,然後再去詳細看每個類的具體內容。讀代碼,最忌從一開始就企戚仿圖詳細理解一個大工程的所有細節。先看大匡,然後再逐步掌握自己感興趣的細節。 讀代碼的時候可以把框架的代碼讀取到IDE的工程中去, 例如,用Eclipse讀代碼,方便得很。 或者在開發中設定classpath時,把代碼也帶上, 個人認為,多看例如JDK、Spring這樣優秀的代碼,對於掌握Java編程的精髓很有幫助。 初學者也不例外! 其實框架就是DB訪問,畫面顯示,資源管理。 首先要知道你的框架的特點,也就是他的側重點。 我看源代碼喜歡全局搜索,一直找到Java自帶的基礎類。一條先走到黑。嗬嗬,挺笨的 不過建議先會用,熟練用,在研讀。會快一些,少走彎路 不管是在校的學生還是剛參加工作的,都要從基礎開始,把一些經典的基礎問題搞明白了之後再去研究框架,其實感覺框架要先明白框架的總體,有時候不明白框架甚至看著源代碼都不知道屬於哪一類,引入也會產生問題,之後在去看源代碼。最主要的是光看不行,要親手做一下,即使是最簡單的程序也要親手做,如果是人家的程序照著手動敲一遍也會有很大的收獲的 對於開源項目,我覺得從如下方面著手迅仔租比較好: 2.了解整體項目的技術架構 3.熟悉它用的技術與知識面,並逐個掌握 4.從單個模塊著手,調試代碼,熟悉基基本的流程與業務 5.在不修改其源碼的基礎上做一些擴展開發的工作,為我所用6.修改並優化其代碼

⑥ 求JAVA小項目的完整代碼

給你個做好了的Java的源程序的記事本,自己看看就行了的,不怎麼難的···
import java.awt.*;
import java.awt.event.*;
import java.io.*;

import javax.swing.*;

public class MyNotepad implements ActionListener{
private JFrame frame=new JFrame("新記事本");
private JTextArea jta=new JTextArea();
private String result="";
private boolean flag=true;
private File f;
private JButton jb=new JButton("開始");
private JTextField jtf=new JTextField(15);
private JTextField jt=new JTextField(15);
private JButton jbt=new JButton("替換為");
private JButton jba=new JButton("全部替換");
private Icon ic=new ImageIcon("D:\\java課堂筆記\\GUI\\11.gif");
private String value;
private int start=0;
private JFrame jf=new JFrame("查找");
private JFrame jfc=new JFrame("替換");

@Override
public void actionPerformed(ActionEvent e) {
String comm=e.getActionCommand();
if("新建".equals(comm)){
if(!(frame.getTitle().equals("新記事本"))){
if(!flag){
write();
newNew();
}else{
JFileChooser jfc=new JFileChooser("D:\\java課堂筆記");
int returnVal = jfc.showDialog(null,"保存為");
if(returnVal == JFileChooser.APPROVE_OPTION) {//選擇文件後再執行下面的語句,保證了程序的健壯性
f=jfc.getSelectedFile();
flag=false;
write();
}
}
}else if(!(jta.getText().isEmpty())){
JFileChooser jfc=new JFileChooser("D:\\java課堂筆記");
int returnVal = jfc.showDialog(null,"保存為");
if(returnVal == JFileChooser.APPROVE_OPTION) {//選擇文件後再執行下面的語句,保證了程序的健壯性
f=jfc.getSelectedFile();
flag=false;
write();
newNew();
}
}else{
newNew();
}
}else if("打開".equals(comm)){
JFileChooser jfc=new JFileChooser("D:\\java課堂筆記");
jfc.setDialogType(JFileChooser.OPEN_DIALOG);
int returnVal = jfc.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION) {//選擇文件後再執行下面的語句,保證了程序的健壯性
f=jfc.getSelectedFile();
frame.setTitle(f.getName());
result=read();
flag=false;
value=result;
jta.setText(result);
}
}else if("保存".equals(comm)){
JFileChooser jfc=new JFileChooser("D:\\java課堂筆記");
if(flag){
int returnVal = jfc.showDialog(null,"保存為");
if(returnVal == JFileChooser.APPROVE_OPTION) {//選擇文件後再執行下面的語句,保證了程序的健壯性
f=jfc.getSelectedFile();
flag=false;
write();
}
}else{
write();
}
}else if("另存".equals(comm)){
JFileChooser jfc=new JFileChooser("D:\\java課堂筆記");
int returnVal = jfc.showDialog(null,"另存");
if(returnVal == JFileChooser.APPROVE_OPTION) {//選擇文件後再執行下面的語句,保證了程序的健壯性
f=jfc.getSelectedFile();
write();
}
}else if("退出".equals(comm)){
System.exit(0);
}else if("撤銷".equals(comm)){
jta.setText(value);
}else if("剪切".equals(comm)){
value=jta.getText();
jta.cut();
}else if("復制".equals(comm)){
jta.();
}else if("粘貼".equals(comm)){
value=jta.getText();
jta.paste();
}else if("刪除".equals(comm)){
value=jta.getText();
jta.replaceSelection(null);
}else if("全選".equals(comm)){
jta.selectAll();
}else if("查找".equals(comm)){
value=jta.getText();
jf.add(jtf,BorderLayout.CENTER);
jf.add(jb,BorderLayout.SOUTH);

jf.setLocation(300,300);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}else if("替換".equals(comm)){
value=jta.getText();
GridLayout gl=new GridLayout(3,3);
JLabel jl1=new JLabel("查找內容:");
JLabel jl2=new JLabel("替換為:");
jfc.setLayout(gl);
jfc.add(jl1);
jfc.add(jtf);
jfc.add(jb);
jfc.add(jl2);
jfc.add(jt);
jfc.add(jbt);
JLabel jl3=new JLabel();
JLabel jl4=new JLabel();
jfc.add(jl3);
jfc.add(jl4);
jfc.add(jba);

jfc.setLocation(300,300);
jfc.pack();
jfc.setVisible(true);
jfc.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}else if("版本".equals(comm)){
JDialog jd=new JDialog(frame,"關於對話框");
jd.setSize(200,200);
JLabel l=new JLabel("哈哈哈哈哈哈哈哈哈哈呵呵呵呵呵呵呵呵呵呵呵呵呵");
jd.add(l,BorderLayout.CENTER);
jd.setLocation(100,200);
jd.setSize(300,300);
jd.setVisible(true);
// jd.pack();
jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}else if("開始".equals(comm)||"下一個".equals(comm)){
String temp=jtf.getText();
int s=value.indexOf(temp,start);
if(value.indexOf(temp,start)!=-1){
jta.setSelectionStart(s);
jta.setSelectionEnd(s+temp.length());
jta.setSelectedTextColor(Color.GREEN);
start=s+1;
jb.setText("下一個");
// value=value.substring(s+temp.length());//不能截取字串
}else {
JOptionPane.showMessageDialog(jf, "查找完畢!", "提示", 0, ic);
jf.dispose();
}
}else if("替換為".equals(comm)){
String temp=jtf.getText();
int s=value.indexOf(temp,start);
if(value.indexOf(temp,start)!=-1){
jta.setSelectionStart(s);
jta.setSelectionEnd(s+temp.length());
jta.setSelectedTextColor(Color.GREEN);
start=s+1;
jta.replaceSelection(jt.getText());
}else {
JOptionPane.showMessageDialog(jf, "查找完畢!", "提示", 0, ic);
jf.dispose();
}
}else if("全部替換".equals(comm)){
String temp=jta.getText();
temp=temp.replaceAll(jtf.getText(), jt.getText());
jta.setText(temp);

}
}
public String read(){
String temp="";
try {
FileInputStream fis = new FileInputStream(f.getAbsolutePath());
byte[] b=new byte[1024];
while(true){
int num=fis.read(b);
if(num==-1)break;
temp=temp+new String(b,0,num);
}
fis.close();
} catch (Exception e1) {
e1.printStackTrace();
}
return temp;
}

public void write(){
try {
FileOutputStream fos=new FileOutputStream(f);
fos.write(jta.getText().getBytes());
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public void newNew(){
frame.dispose();
new MyNotepad();
flag=true;
}
public MyNotepad(){
JMenuBar jmb=new JMenuBar();
String[] menuLab={"文件","編輯","幫助"};
String[][] menuItemLab={{"新建","打開","保存","另存","退出"},
{"撤銷","剪切","復制","粘貼","刪除","全選","查找","替換"},
{"版本"}};
for(int i=0;i<menuLab.length;i++){
JMenu menu=new JMenu(menuLab[i]);
jmb.add(menu);
for(int j=0;j<menuItemLab[i].length;j++){
JMenuItem jmi=new JMenuItem(menuItemLab[i][j]);
menu.add(jmi);
jmi.addActionListener(this);
}
}
frame.setJMenuBar(jmb);
jta.setLineWrap(true);//自動換行
JScrollPane jsp=new JScrollPane(jta);//滾動窗口面板
frame.add(jsp);

jb.addActionListener(this);
jbt.addActionListener(this);
jba.addActionListener(this);

frame.setLocation(200,50);
frame.setSize(620,660);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new MyNotepad();
}
}

⑦ java既然開源了,為什麼有些源代碼看不到

你沒有下載相應的源碼。
java有很多猜好jar包,必弊者須下載了相應源碼,才能看到源碼,一般我們正常下載都是只下載穗卜鉛jar包,不下載源碼的

⑧ 怎麼看JAVA開源項目的源碼

有個開源代碼託管平台叫github來了解下。

GitHub是一個面向開源及私有軟體項目的託管平台,因為只支持git作為唯一的版本庫格式進行託管,故名GitHub。

github也可察雀以是一個遠程代碼倉庫,你可以將你的代碼或者項目上傳到github倉庫,這個完全沒有問題,網上有github客戶端管理軟體,操作非常簡單,就類似於:SVN、CVS。

github也是一個開源代碼協作社區,通過github你可以參與別人的開源項目,也可以讓別人參與你的開源項目。有些公司的產品,自己不想投入人力,但又不想放棄,就採用github代碼託管的方式,將代碼開源出去,讓開發愛好者參與進來,其中docker就是一個很好的例子,也是開源最成功的一個項目。

下面介紹如何從github上拿到開源項目:zxin。

1、打開github官網「」。

2、根據「拍沒知zxing」查找。

3、下載開源項目:zxing

操作:Cloneordowanload->DownloadZIP.

這樣zxin源代碼就拿到了,doc目錄是項目文檔襲消,打開

index.html,全是英文,

要能讀懂源代碼,需要有很好的英文閱讀能力,祝你好運。

⑨ 哪兒能看到java開源代碼

選中某一個函數,點擊f3,然後關聯jdk安裝包下面的名字叫src的文件

熱點內容
第三方伺服器做海康存儲怎麼配置 發布:2024-10-07 00:23:38 瀏覽:116
文件夾兩孔 發布:2024-10-06 23:48:53 瀏覽:352
ftp工具分析 發布:2024-10-06 23:48:51 瀏覽:158
伺服器被游戲封機器碼怎麼辦 發布:2024-10-06 23:46:10 瀏覽:161
股票java 發布:2024-10-06 23:38:46 瀏覽:291
安卓演算法 發布:2024-10-06 23:14:20 瀏覽:184
域名訪問404 發布:2024-10-06 23:08:52 瀏覽:708
訪問筆錄模版 發布:2024-10-06 22:36:54 瀏覽:142
多用途編程 發布:2024-10-06 22:35:58 瀏覽:619
msde2000資料庫下載 發布:2024-10-06 22:33:35 瀏覽:46