https://github.com/zxing/zxing
這上面都是源碼 github上的
但是初學java的話 看這個沒什麼用啊 因為要弄懂原理的話還要學tcp xml還有安卓編程的相關知識
『貳』 JAVA中看別人項目源碼,從哪裡開始看,順序怎麼樣 比如 實體類 方法 介面 實現類 還有其他的
首先,如果有別人項目的開發文檔,是必須先閱讀的東西;
其次,最好藉助於開發工具,比如導入eclipse,比如代碼中按下ctrl+T就會顯示當前類型的關聯關系,還可以進行class搜索等。
第三,通過運行代碼,跟蹤進去,用debug模式查看一些關心的變數和方法是如何被調用和執行的。
MVC項目,可以從下往上看,就是從資料庫操作,然後封裝, service,到Action,再到頁面。
『叄』 java技術論壇有哪些
Java技術論壇有哪些呢? 作為低代碼軟體開發IT人員,這里收集一些比較好的開發者社區供大家參考,具體如下:
1、CSDN -專業開發者社區 IT技術交流平台;
2、IT圈,圈圈精彩 - 原軟媒論壇、IT之家,國內最人氣的科技社交圈層,繼軟媒論壇、IT之家社區演變而來;
3、51CTO技術論壇-中國領先的IT技術社區 國內主流IT技術社區,論壇擁有大批IT技術人/IT專家;
4、快速開發平台社區 -天翎低代碼平台技術論壇,主要是以Java低代碼開發平台為主的技術性論壇社區,目前低代碼平台商用授權對外開放;
『肆』 正在學習java, 有哪些比較好的java源代碼論壇或者開源項目網站(中英文都可)
作者:駱漪漪
鏈接:http://www.hu.com/question/21169206/answer/21967822
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
初學嗎?
中文貌似我幫不上忙,英文的可以幫上一點點。
是我上學時的學校推薦,希望你有用:)
1. J. Nino and F. Hosch. An Introction to Programming and Object Oriented Design, 3rd edition, John Wiley & Sons, 2008. ( QA76.64 .N57 2008)
這本書是我上學時候的入門教材,很有用很喜歡,讀的最多的就是這本了。
挺厚的一本書,但是讀起來一點都不枯燥,而且講的內容非常詳細,很適合初學者。
2.
P.T. Tyman and G.M. Schneider. Modern Software Development using Java, 2nd edition, Thomson Brooks/Cole, 2008. (QA76.73.J38 T95 2008) B. Liskov (with J. Guttag).
Program Development in Java: Abstraction, Specification, and Object-Oriented Design, Addison Wesley, 2001. (QA76.73.J38 L58 2001)
R. Winder and G. Roberts. Developing Java Software, 3rd edition, John Wiley & Sons, 2006. (QA76.73.J38 W557 2006)
R. Duke and E. Salzman. Java Genesis, 2nd edition, Pearson Ecation Australia, 2004. (QA76.73.J38 D34 2004)
初學的建議類參考書也一並寫給你,當第一本書你開始鑽研進去了之後,這些都能給你很好的輔導和參考。
『伍』 在哪裡能下載到javaweb項目的源代碼
非常多啊, 你說的虛擬社區本質上就是bbs的那些源碼
直接springboot寫或者springmvc+mybatis寫也行
『陸』 求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();
}
}
『柒』 如何快速讀懂項目源碼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 項目 源代碼,哪個網站有提供下載的,大家
github,網路一下這個,最大的java開源代碼庫
『玖』 求Java語言編寫的bbs論壇設計的源代碼
我這有 以前的畢業設計
『拾』 java論壇
CSDN吧,那裡是大牛聚集的地方,有不懂的都可以在那提問。
CSDN是中國軟體開發聯盟(Chinese software develop net)的縮寫,是中國最大的開發者技術社區。它是集新聞、論壇、群組、Blog、文檔、下載、讀書、Tag、網摘、搜索、.NET、Java、游戲、視頻、人才、外包、第二書店、《程序員》等多種項目於一體的大型綜合性IT門戶網站,有很強的專業性,其會員囊括了中國地區百分之九十以上的優秀程序員,在IT技術交流及其周邊國內中是第一位的網站。
滿意請採納,謝謝啦。