label0java反編譯
㈠ java的一個簡單記事本程序設計
是記事本的樣式嗎?就要這些要求嗎?
下面這些代碼的功能挺全的,可以參考一下,不用的可以刪掉。
import java.io.*;
import java.util.Calendar;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class NoteBook extends JFrame implements ActionListener,ItemListener,WindowListener,MouseListener
{ Container c = this.getContentPane();
JMenuBar jmb = new JMenuBar();
JColorChooser jcl = new JColorChooser();
JToolBar jToolBar = new JToolBar();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JButton jButton4 = new JButton();
JMenu jm1 = new JMenu("文件(F)");
JMenu jm2 = new JMenu("編輯(E)");
JMenu jm4 = new JMenu("格式(O)");
JMenu jm5 = new JMenu("查看(V)");
JMenu jm3 = new JMenu("幫助(H)");
JMenuItem jmi1 = new JMenuItem("新建(N)");
JMenuItem jmi2 = new JMenuItem("打開(O)");
JMenuItem jmi3 = new JMenuItem("保存(S)");
JMenuItem jmi4 = new JMenuItem("退出(X)");
JMenu jmd4=new JMenu("顏色");
JMenu jmd0=new JMenu("字體");
JMenuItem aa=new JMenuItem("復制(C)");
JMenuItem bb=new JMenuItem("剪切(X)");
JMenuItem cc=new JMenuItem("粘貼(V)");
JCheckBoxMenuItem jcuti1 = new JCheckBoxMenuItem("粗體");
JCheckBoxMenuItem jxieti1 = new JCheckBoxMenuItem("斜體");
JMenuItem jmp1 = new JMenuItem("日期和時間");
JMenuItem jmp2 = new JMenuItem("背景顏色(H)");
JMenuItem jmi5 = new JMenuItem("刪除內容(S)");
JMenuItem jmi7=new JMenuItem("關於自己");
JTextArea jta = new JTextArea(23,15);
JScrollPane jsp = new JScrollPane(jta);
JMenuItem jmdb1=new JMenuItem("黃色");//定義各種顏色
JMenuItem jmdb2=new JMenuItem("紅色");
JMenuItem jmdb3=new JMenuItem("綠色");
JMenuItem jmdb4=new JMenuItem("藍色");
JMenuItem jmdb5=new JMenuItem("黑色");
NoteBook()
{ this.addWindowListener(this);
setBounds(200,200,200,200);
c.add(jmb,BorderLayout.NORTH);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setTitle("記事本");
jmb.add(jm1);//文件
jm1.setMnemonic('f');
jm1.addActionListener(this);
jmb.add(jm2);//編輯
jm2.setMnemonic('e');
jmb.add(jm4);//格式
jm4.setMnemonic('o');
jm4.addActionListener(this);
jmb.add(jm5);
jm5.setMnemonic('v'); //查看
jmb.add(jm3);//幫助
jm3.setMnemonic('h');
jmb.setLocation(0,0);
jm1.add(jmi1);
jmi1.addActionListener(this);//新建
jmi1.setAccelerator(KeyStroke.getKeyStroke('N',Event.CTRL_MASK,false));
jm1.addSeparator();
jm1.add(jmi2);
jmi2.setAccelerator(KeyStroke.getKeyStroke('O',Event.CTRL_MASK,false));
jmi2.addActionListener(this);//打開
jm1.addSeparator();
jm1.add(jmi3);
jmi3.setAccelerator(KeyStroke.getKeyStroke('S',Event.CTRL_MASK,false));
jmi3.addActionListener(this);//保存
jm1.addSeparator();
jm1.add(jmi4);
jmi1.setMnemonic('n');
jmi2.setMnemonic('o');
jmi3.setMnemonic('s');
jmi4.setMnemonic('x');
jmi4.addActionListener(this);//退出
jm5.add(jmi5); //刪除
jm5.addSeparator();
jmi5.addActionListener(this);
jm4.addSeparator();
jm4.add(jmd4);
jm4.add(jmd0);
jmd4.add(jmdb1);
jmd4.add(jmdb2);
jmd4.add(jmdb3);
jmd4.add(jmdb4);
jmd4.add(jmdb5);
jmd4.addActionListener(this); //添加監視器
jmdb1.addActionListener(this);
jmdb2.addActionListener(this);
jmdb3.addActionListener(this);
jmdb4.addActionListener(this);
jmdb5.addActionListener(this);
jm5.add(jmp1);
jm5.addSeparator();
jm5.add(jmp2);
jmp1.addActionListener(this);//日期時間
jmp2.addActionListener(this);//背景顏色
jm2.add(aa);
jm2.addSeparator();
jm2.add(bb);
jm2.addSeparator();
jm2.add(cc);
jm2.addSeparator();
jmd0.add(jcuti1);
jmd0.addSeparator();
jmd0.add(jxieti1);
aa.setMnemonic('C');
aa.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
bb.setMnemonic('x');
bb.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
cc.setMnemonic('V');
cc.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
aa.addActionListener(this);//復制
bb.addActionListener(this);//剪切
cc.addActionListener(this);//粘貼
jmd4.addActionListener(this);
jcuti1.addItemListener(this);//粗體
jxieti1.addItemListener(this);//斜體
jm3.add(jmi7);
jmi7.addActionListener(this);//關於自己
c.add(jToolBar,BorderLayout.CENTER); //工具條
jButton2.setIcon(new ImageIcon("image\\new.JPG"));//新建
jToolBar.add(jButton2);
jButton2.setToolTipText("新建");
jButton2.addActionListener(this);
jButton1.setIcon(new ImageIcon("image\\open.JPG"));//打開
jButton1.setToolTipText("打開");
jToolBar.add(jButton1);
jButton1.addActionListener(this);
jButton3.setIcon(new ImageIcon("image\\save.JPG"));//保存
jToolBar.add(jButton3);
jButton3.setToolTipText("保存");
jButton3.addActionListener(this);
jButton4.setIcon(new ImageIcon("image\\qq.JPG"));
jButton4.addActionListener(this); //退出
jToolBar.add(jButton4);
jButton4.setToolTipText("退出");
c.add(jsp,BorderLayout.SOUTH);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setSize(500,500);
this.setVisible(true);
jmdb1.addActionListener(new ActionListener() //黃色
{ public void actionPerformed(ActionEvent e)
{ jta.setForeground(Color.yellow);
} } );
jmdb2.addActionListener(new ActionListener() //紅色
{ public void actionPerformed(ActionEvent e)
{ jta.setForeground(Color.red);
} } );
jmdb3.addActionListener(new ActionListener() //綠色
{ public void actionPerformed(ActionEvent e)
{ jta.setForeground(Color.green);
} } );
jmdb4.addActionListener(new ActionListener() //藍色
{
public void actionPerformed(ActionEvent e)
{
jta.setForeground(Color.blue);
} } );
jmdb5.addActionListener(new ActionListener() //黑色
{
public void actionPerformed(ActionEvent e)
{
jta.setForeground(Color.black);
} } );
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==jmi1)//新建
{jta.setText("");
this.setTitle("無標題 - 記事本");
}
if(e.getSource()==jmi2)//打開
{File f1;
JFileChooser jfc1 = new JFileChooser();
int num1 = jfc1.showOpenDialog(this);
if(num1==JFileChooser.APPROVE_OPTION)
{ try {
f1 = jfc1.getSelectedFile();
this.setTitle(f1.getName());
FileReader fr = new FileReader(f1);
BufferedReader br = new BufferedReader(fr);
String str;
while((str = br.readLine())!=null)
{jta.setText(str);}
fr.close();
br.close(); }
catch(FileNotFoundException e1)
{e1.printStackTrace();}
catch(IOException e2){e2.printStackTrace();}
}}
if(e.getSource()==jmi3)//保存
{File f2 = null;
JFileChooser jfc2 = new JFileChooser();
int num2 = jfc2.showSaveDialog(this);
if(num2==JFileChooser.APPROVE_OPTION){
f2=jfc2.getSelectedFile();
this.setTitle(f2.getName());
try{
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(jta.getText());
bw.close();
fw.close();
}catch(IOException e2){
e2.printStackTrace();
}}}
if(e.getSource()==jmi4)//退出
{
int a = JOptionPane.showConfirmDialog(this,"文件已被改變,是否要保存?","提示",JOptionPane.YES_NO_CANCEL_OPTION);
if(a==1){
this.dispose();
}else if(a==0){
File f2 = null;
JFileChooser jfc2 = new JFileChooser();
int num2 = jfc2.showSaveDialog(this);
if(num2==JFileChooser.APPROVE_OPTION){
f2=jfc2.getSelectedFile();
this.setTitle(f2.getName());
try{
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(jta.getText());
bw.close();
fw.close();
}catch(IOException e2){
e2.printStackTrace();
}
this.dispose();
}}}
if(e.getSource()==jmp1)//日期時間
{
Calendar c1 =Calendar.getInstance();
int y = c1.get(Calendar.YEAR);
int m = c1.get(Calendar.MONTH);
int d = c1.get(Calendar.DATE);
int h = c1.get(Calendar.HOUR);
int m1 = c1.get(Calendar.MINUTE);
int m2 = m+1;
jta.setText(y+"年"+m2+"月"+d+"日"+h+":"+m1);
}
if(e.getSource()==jmp2)//背景色
{ Color ccc = JColorChooser.showDialog(this,"color",Color.BLACK);
jta.setSelectedTextColor(ccc);
jta.setBackground(ccc);
}
if(e.getSource()==jButton1)//打開
{File f1;
JFileChooser jfc1 = new JFileChooser();
int num1 = jfc1.showOpenDialog(this);
if(num1==JFileChooser.APPROVE_OPTION)
{
try
{
f1 = jfc1.getSelectedFile();
this.setTitle(f1.getName());
FileReader fr = new FileReader(f1);
BufferedReader br = new BufferedReader(fr);
String str;
while((str = br.readLine())!=null)
{jta.setText(str);}
fr.close();
br.close(); }
catch(FileNotFoundException e1)
{e1.printStackTrace();}
catch(IOException e2){e2.printStackTrace();}
} }
if(e.getSource()==jButton2)
{jta.setText("");
this.setTitle("文本編輯器");
}
if(e.getSource()==jmi5){
jta.replaceRange("",jta.getSelectionStart(),jta.getSelectionEnd()); //刪除
}
if(e.getSource()==jButton3)
{File f2 = null;
JFileChooser jfc2 = new JFileChooser();
int num2 = jfc2.showSaveDialog(this);
if(num2==JFileChooser.APPROVE_OPTION){
f2=jfc2.getSelectedFile();
this.setTitle(f2.getName());
try{
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(jta.getText());
bw.close();
fw.close();
}catch(IOException e2){
e2.printStackTrace();
}}}
if(e.getSource()==aa) //復制
{jta.();}
else if(e.getSource()==bb)//剪切
{ jta.cut(); }
else if(e.getSource()==cc)//粘貼
{jta.paste();}
if(e.getSource()==jButton4)
{int a = JOptionPane.showConfirmDialog(this,"文件已被改變,是否要保存?","提示",JOptionPane.YES_NO_CANCEL_OPTION);
if(a==1){
this.dispose();
}else if(a==0){
File f2 = null;
JFileChooser jfc2 = new JFileChooser();
int num2 = jfc2.showSaveDialog(this);
if(num2==JFileChooser.APPROVE_OPTION){
f2=jfc2.getSelectedFile();
this.setTitle(f2.getName());
try{
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(jta.getText());
bw.close();
fw.close();
}catch(IOException e2){
e2.printStackTrace();
}
this.dispose();
}}}
//if(e.getSource()==jmi7)//關於我
//{About1 a=new About1();//實現跳轉
// a.setVisible(true);
//}
}
public void itemStateChanged(ItemEvent e) //字體
{Font c=new Font("Serif",Font.PLAIN,14);
if(e.getItemSelectable()==jcuti1)
{if(jcuti1.getState()==true)
{ Font f=new Font("Serif",Font.BOLD,20); //粗體
jta.setFont(f);}
else{jta.setFont(c);}
}
else if(e.getItemSelectable()==jxieti1)
{if(jxieti1.getState()==true)
{ Font b=new Font("Serif",Font.ITALIC,20);//斜體
jta.setFont(b);}
else{jta.setFont(c);
} } }
public static void main(String[] args)//入口
{ new NoteBook(); }
public void windowOpened(WindowEvent arg0) {}
public void windowClosing(WindowEvent arg0) {
int a = JOptionPane.showConfirmDialog(this,"文件已被改變,是否要保存?","提示",JOptionPane.YES_NO_CANCEL_OPTION);
if(a==1){
this.dispose();
}else if(a==0){
File f2 = null;
JFileChooser jfc2 = new JFileChooser();
int num2 = jfc2.showSaveDialog(this);
if(num2==JFileChooser.APPROVE_OPTION){
f2=jfc2.getSelectedFile();
this.setTitle(f2.getName());
try{
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(jta.getText());
bw.close();
fw.close();
}catch(IOException e2){
e2.printStackTrace();
}
}
if(a==2){}
}
}
public void windowClosed(WindowEvent arg0) {}
public void windowIconified(WindowEvent arg0) {}
public void windowDeiconified(WindowEvent arg0) {}
public void windowActivated(WindowEvent arg0) {}
public void windowDeactivated(WindowEvent arg0) {}
public void mouseClicked(MouseEvent arg0) {}
public void mousePressed(MouseEvent arg0) {}
public void mouseReleased(MouseEvent arg0) {}
public void mouseEntered(MouseEvent arg0) {}
public void mouseExited(MouseEvent arg0) {}
}
㈡ 怎樣把反編譯的apk文件在eclipse中打開
那要看你反編譯的程度了。apk反編譯有兩部分,一部分是res等xml資源文件。用android 的apktool就可以了。這些xml文件都可以在eclipse中直接打開。
dex文件(源代碼)需要使用dex2jar工具轉化成jar文件。jar文件可以在eclipse查看其結構。對.class文件,eclipse可以查看方法,內部類等信息。
如果對Jar也進行了反編譯,那麼得到的就是Java文件。在eclipse中,可以像你new 的class一樣查看。
㈢ java主要是幹嘛的(java怎麼讀)
java是做什麼的啊java是做什麼的啊Java是一種可以撰寫跨平台應用軟體的面向物件的程式設計語言。
主要做後台開發的企業級應用開發、網站開發,如新BOS物流管理系統、企業協同OA專案、國家電力監測中心設計資源管理系統、傑信商貿專案等等。
java中Label、TextField是做什麼的?
AWT元件,Label用來裝載一個字串。TextField是一個文字框。
例如你建立一個Frame類的物件,向其內新增一個TextFiled物件,那麼視窗中就有了一個檔案框了。Label是用來說明檔案框等元件的!例如在文字框前面顯示使用者名稱三個字,你就需要使用Label來裝載這個字串。
importjava.awt.*;
publicclassTest{
publicstaticvoidmain(String[]args){
Framef=newFrame();
f.setLayout(newFlowLayout());
Labell=newLabel("使用者名稱");
TextFieldtf=newTextField(10);10列
f.add(l);
f.add(tf);
f.setSize(300,200);視窗大小
f.show();顯示視窗
}
}
java測試,是做什麼的?
測試分為黑盒測試和白盒測試,如果你是做黑盒測試是與具體程式語言無關的,不管別人是用java還是php還是。寫的你都不需要去閱讀程式碼。
白盒測試需要在測試功能的同時閱讀程式設計師的程式碼,這個需要有程式設計基礎,甚至較高的程式設計基礎。
你可以具體詢問你的工作內容,測試一般學習業務方面的知識更多。
java中的執行緒是做什麼的啊?
1.最為典型的就是你在網路上放一個服務端,一個客戶端訪問時,就會新建一個執行緒處理這個客戶端的事務,這樣的話只要不斷新建執行緒就可以處理多個使用者的請求了;
2.游戲裡面,一個精靈向一個方向移動的時候,通常我們為了效果更好一點,會在一個方向為精靈准備兩幅不同的圖片。比如向前走,我們會准備一幅出左腳的圖片和一副右腳的圖片(如果只有一幅圖片的話,那麼精靈移動的時候就象在溜冰了,呵呵)精靈向一個方向移動的時候我們會建兩個執行緒讓這兩幅圖片交替繪制,這樣就產生了走動的效果了。
java.util.Locale.getDefault()是做什麼的?
獲取系統預設的區域資訊,比如:語言,在中國預設為中文
接觸了java國際化你就知道這是用來做什麼的了
NetBeans是Java裡面是做什麼的?
NetBeans是由Sun建立的開放原始碼的軟體開發工具,是一個開放框架,可擴充套件的開發平台,可以用於Java,C語言/C++等的開發,本身是一個開發平台,可以通過擴充套件外掛來擴充套件功能。
在NetBeansPlatform平台中,應用軟體是用一系列的軟體模組(molarsofareponents)建構出來。而這些模組是一個jar檔(Javaarchivefile)它包含了一組Java程式的類別而它們實作全依據依NetBeans定義了的公開介面以及一系列用來區分不同模組的定義描述檔(manifestfile)。有賴於模組化帶來的好處,用模組來建構的應用程式可只要加上新的模組就組就能進一步擴充套件。由於模組可以獨立地進行開發,所以由NetBeans平台開發出來的應用程式就能利用著第三方軟體,非常容易及有效率地進行擴充。
歷史
NetBeans始於1997年的Xelfi計劃,本身是捷克布拉格查理大學CharlesUniversity的數學及物理學院的學生專案。其後有公司開始就這個計劃而發展這個IDE專案。1999年升陽電腦SunMicrosystems終於推出商用的IDE並名為NetBeans。並在同年的7月公開原始碼,直到現在NetBeans的社群依然持續增長,而且更多個人同企業來意使用NetBeans作為專案開發的工具。
NetBeans平台
NetBeans平台是一種可重復使用的框架用於簡化其他桌面應用程式的開發。當基於NetBeans平台的應用被執行,平台主要類別的main方法便會被執行。可用的模組會被放安置在儲存器中,並且開始執行任務。通常模組會只在被需要時,其程式碼才會被裝進記憶。
應用程式能動態安裝模組。任何應用程式能包括更新模組,允許使用者申請下載的應用程式升級和加入新功能。這樣安裝,升級以及新發並行不必迫使使用者每再次下載整個應用程式。
整個Netbeans平台提供對桌面應用程式常用的服務,允許開發者集中於僅限於他的應用程式的邏輯設計。其中NetBeans平台的主要特徵是∶
使用者介面管理Userinterfacemanagement(例如選單和工具條)使用者設定管理Usersettingsmanagement儲存管理Storagemanagement(保留和裝任何種類資料)視窗管理Windowmanagement術士框架Wizardframework(一步一步支援對話方塊)
開發者SunMicrosystems
最新穩定版NetBeansIDE5.5ReleaseCandidate2/OCT2006
作業系統跨平台
型別JavaIDE
許可協議CDDL
網站beans.
java混淆器是做什麼的?
用java寫的程式碼編譯後成為.class檔案但是這個class檔案可以被反編譯檢視到原始碼
如果程式碼作者不希望原始碼被別人看到就利用混淆器把原始碼混淆但是程式功能還是正常的,編譯後供別人使用,當別人反編譯class檔案想檢視原始碼時發現的是被混淆後的程式碼,雖然這些混淆後的程式碼也可以分析出來但是很困難
舉個例子
classPerson
{
privateStringname;
privateintage;
publicPerson(Stringn,inta){
name=n;
age=a;
}
}
混淆後
classOOOOo{
privateStringoooo;
privateintooo;
publicOOOOo(Stringoo,into){
oooo=oo;
ooo=o;
}
}
java初始化是做什麼的?
Java初始化物件過程,具體做什麼如下:
當一個物件被建立之後,虛擬機器會為其分配記憶體,主要用來存放物件的例項變數及其從超類繼承過來的例項變數(即使這些從超類繼承過來的例項變數有可能被隱藏也會被分配空間)。在為這些例項變數分配記憶體的同時,這些例項變數也會被賦予預設值。
關於例項變數隱藏
classFoo{inti=0;}classBarextendsFoo{inti=1;publicstaticvoidmain(String...args){Foofoo=newBar();System.out.println(foo.i);}}
上面的程式碼中,Foo和Bar中都定義了變數i,在main方法中,我們用Foo引用一個Bar物件,如果例項變數與方法一樣,允許被覆蓋,那麼列印的結果應該是1,但是實際的結果確是0。但是如果在Bar的方法中直接使用i,那麼用的會是Bar物件自己定義的例項變數i,這就是隱藏,Bar物件中的i把Foo物件中的i給隱藏了,這條規則對於靜態變數同樣適用。在記憶體分配完成之後,java的虛擬機器就會開始對新建立的物件執行初始化操作,因為java規范要求在一個物件的引用可見之前需要對其進行初始化。在Java中,三種執行物件初始化的結構,分別是例項初始化器、例項變數初始化器以及建構函式。
java中的AIP是什麼?是做什麼的?
智慧文件的必要性
智慧文件目前已經成為被全球軟體業關注的又一個焦點。隨著我國電子政務的快速發展和微軟、adobe的加入,智慧文件的革命將愈演愈烈,點聚作為國內為數不多的擁有智慧文件技術的公司之一,將為捍衛國產軟體在智慧文件的地位作出必要的貢獻。
aip通用文件處理系統(djuniversalallinpagesystem)是北京點聚資訊科技有限公司歷經近兩年時間自主開發完成的智慧文件產品,點聚擁有全部的智慧財產權。
點聚aip通用文件處理系統通過虛擬列印技術來相容各種檔案格式(如:word、pdf、rtf、wps、jpg、autocad、txt...),達到排版、內容固定(紙質化),實現全文批註、全文檢索、文字選取、電子印章、手寫簽名意見等主要功能,更可輸出為word、wps、pdf等通用文件格式方便存檔。
適用范圍
文字版權保護
aip檔案可以防止對文字的非法復制,可以控制檔案的各種許可權,有效的保護自己的文字版權,適用於電子圖書館、電子雜志、電子周刊、電子發文等。
版式檔案
aip檔案通過虛擬列印技術實現了紙質化,保持原來的版式固定,有利於文件的存檔,適用於***公文、企事業發文等。
全文批註
aip提供功能強大的全文審批、全文批註功能、支援壓感,可以實現鉛筆、鋼筆、毛筆等效果,徹底實現無紙化辦公,適用於***公文審批、企事業發文審批等。
電子印章
aip內建支援標准pki體系(相容第三方ca),實現電子印章的功能,有效防止非法的簽章行為,適用於***公文蓋章、企事業發文蓋章、稅務、銀行等需要蓋章的單位。
主要技術挑戰
挑戰一
由於辦公文件格式呈現的多樣化,如何保證不同的辦公軟體生成的檔案在審批、歸檔、查閱等流程中具有一致的表現形式和儲存格式。aip通過虛擬列印技術相容各種文件格式(也就是說:支援列印的文件都可以轉化為aip)。
挑戰二
帶有審批意見的文件通常是專有格式文件,不便於發文流轉。aip系統通過支援審批文件儲存為通用格式(word,wps,pdf等)有效的解決了這個問題。
挑戰三
採用虛擬列印技術的產品通常都不能很好的支援b/s架構。aip採用中介軟體技術(元件技術,瀏覽器自動安裝),可以很方便得嵌入到各種環境和文件處理流程中。
點聚公司經過兩年多的研發測試,終於使aip成為目前市場上唯一很好的解決了上述問題的產品。
是API,ApplicationProgramInterface,應用程式程式設計介面。
Java是什麼?Java到底能幹嘛?Java是一門面向對象的編程語言,其主要用途有以下幾個方向:
大數據領域、
Hadoop以及其他大數據處理技術普遍用的都是Java,當然其他語言也有用到,基於Java?的?HBase和Accumulo以及ElasticSearchas。但Java在此領域並未占太大空間,但只要Hadoop和ElasticSearchas能夠成長壯大,Java依然有潛力占據一部分。
Android應用?
如果你想知道Java應用在哪裡,打開你的安卓手機或者任何的App,它們完全是用有著谷歌AndroidAPI的Java編程語言編寫的,這個API和JDK非常相似。前幾年安卓剛開始起步而到今日已經很多Java程序員是安卓App的開發者。順便一提,雖然我們之前的文章提到的關於安卓App是如何工作的,即安卓使用了不同的Java虛擬機和不同的封裝,但是代碼仍然是用Java編寫的。
網站領域
Java同樣也在電子商務和網站開發上有著廣泛的運用。你可以運用很多RESTfull架構,這些架構是用SpringMVC,Struts2.0和類似的框架開發出來的。甚至簡單的Servlet,JSP和Struts在各種政府項目也是備受歡迎,許多政府,醫療,保險,教育,國防和其他部門的網站都是建立在java之上的。
java主要是做什麼的?現在Java主要有幾個用途,從應用的廣泛程度排序例舉出來:
網站程序、服務端程序:這種稱為JavaWEB開發,有全部都有Java開發的網站程序,也有由Java開發的提供數據介面的程序(API服務),這些服務一般都部署在運行Linux系統的伺服器(電腦)上面
鴻蒙、安卓應用程序:這種稱為APP開發,平常大家用的各種手機軟體就是了(鴻蒙、安卓系統)
桌面端程序:這種稱謂桌面開發,是給電腦使用的程序,比較少見。
JAVA主要是用來干什麼的呢?它是個面向網路的程序設計語言,用來讓程序員創建應用程序,這些應用程序可以通過網路下載,而且可在任何計算平台上安全地運行。
如果再加上萬維網和公司內部網體系,你將會擁有一個標準的網路計算環境,Java作為一個分布式的,面向對象的程序設計語言,可以讓位於任何地方的任何計算機應用網路上的應用程序。
java的應用:
網路應用程序開發,例如:網上銀行(中國銀行,建設銀行,工商銀行的網上銀行都是用J2EE開發出來的,你看看他網銀的網頁的後綴名JSP就知道),網頁游戲等。
企業管理軟體,現在很流行的B/S(瀏覽器/伺服器)架構管理程序很多就是用J2EE開發的。
手機游戲,開發這些東西一般用JAVAME(J2ME)。
嵌入式開發,例如給電視機頂盒,小型家電寫程序。
什麼是Java?Java是用來做什麼的?我們常常會聽說,Java是世界第一語言,很多應用軟體的開發都離不開Java。Java真的這么強大嗎?其實,Java的內容很豐富,可以實現的功能也有很多。
我們常常說的Java,首先它是一種計算機編程語言,程序員用它來和計算機交流,把要求和設想用Java語言表達出來,這個過程就是我們所說的使用Java編程,所以我們說Java是一種計算機編程語言。為了讓計算機看懂,Java會有一系列的規則和約定,這些就是Java的語法。
其次,Java是一種軟體開發平台。所謂軟體開發簡單地理解為:編程的結果是軟體或者程序,而編程的過程就是軟體開發。
那什麼是開發平台?在軟體開發的過程中,我們需要很多的工具來輔助我們的工作。我們把編程的環境和相應的輔助工具統稱為開發環境,開發平台就是用來提供這個開發環境的。
而Java作為一種開發平台,不單純是一個編程的語言,它自身提供了一系列開發Java所需要的環境和工具,來進行編譯、解釋、文檔生成、打包等,比如:javac.exe、javadoc.exe等等,所以我們講Java是一個開發平台。
另外,Java是一種軟體運行平台。Java本身提供Java軟體所需要的運行環境,Java應用可運行在安裝了JRE(JavaRuntimeEnvironment)的機器上,所以我們說Java是一個運行平台。JRE:JavaRuntimeEnvironment,Java運行環境。
Java也是一種軟體部署環境。簡單地講,部署就是安裝,就是把軟體放置到相應的地方,並且進行相應的配置(一般稱作部署描述)讓軟體能夠正常運行起來。
Java是一種軟體部署環境,Java本身是一個開發的平台,開發後的Java程序也是運行在Java平台上的。也就是說,開發後的Java程序也是部署在Java平台上的,這個尤其在後面學習JEE(Java的企業版)的時候,體現更為明顯。
看完以上內容,相信你已經對什麼是Java有了一定的了解。Java需求大,應用領域廣,有著良好的薪資待遇及發展空間,因此受到不少IT人士的熱烈追捧。
免責聲明:內容來源於公開網路,若涉及侵權聯系盡快刪除!
㈣ android怎麼實現後台對按鍵事件的監控
遙控器按鍵事件這個不是在Android源碼的bootable下面ircon.c配置的么。比如:
{ .scancode = 0x0b, .mask = 0xaa0087ee,
.keycode = KEY_UP, .spec = IRCON_KEYCODE_NORMAL | IRCON_KEYCODE_LONGPRESS | IRCON_KEYCODE_MOUSEMD },
遙控器按鍵編號是「 0x0b」,給他的響應是「KEY_UP」,就是方向鍵的下,這個是在源碼里邊配置的。你必須要有遙控器的書名數,知道遙控器每個按鍵的編號,然後對應給他相應的響應才可以。
但是你要操控手機,你的手機必須要能接受遙控器信號,這個也是要硬體支持的,一般的手機貌似都沒有這個。
這個遙控的響應操作是驅動層做的,和應用層沒什麼關系,主要是驅動和硬體的支持。
㈤ 我用java反編譯工具把.class文件轉為.java文件,其中有些這種字元,請問一下這種是怎麼回事啊
不會! if ((l3 = (System.currentTimeMillis() - l2) + 10L) < 62L)
try
{
Thread.sleep(62L - l3);
}
catch (Exception )
} while (true);
if (a_byte == 1)
b();
a_Bobby.notifyDestroyed();
}
private final void d()
{
byte abyte0[] = a();
boolean flag = false;
String s1 = "BC5Data";
a a1 = this;
try
{
RecordStore recordstore;
(recordstore = RecordStore.openRecordStore(s1, false)).setRecord(1, abyte0, 0, abyte0.length);
recordstore.closeRecordStore();
return;
}
catch (Exception )
try
{
RecordStore.deleteRecordStore(s1);
}
catch (Exception )
······
看到了吧~這就是格式!匯編語言!!!
編譯連接之後,再用txt打開~就只能看到亂碼啦。