導航:首頁 > 源碼編譯 > java底層源碼包含哪些

java底層源碼包含哪些

發布時間:2023-08-20 14:38:31

『壹』 java源代碼

packagecom.;

importjava.util.ArrayList;
importjava.util.List;
importjava.util.Scanner;

importstaticjava.lang.System.out;
importstaticjava.lang.System.in;
/**
*Createdbytracyon2017/10/11.
*/
publicclassLR{

staticint[]numbers;
staticList<Domain>domains=newArrayList<>();

publicstaticvoidmain(String...asd){
intm,n;
out.print("請輸入數字個數N:");
n=input(1,Integer.MAX_VALUE);
out.print("請輸入計算行數M:");
m=input(1,10000);
out.println("請輸入"+n+"個數字,每個數字介於1跟1000000之間,用空格隔開:");
numbers=inputNumbers(n);
for(inti=0;i<m;i++){
domains.add(inputDomain(n,i+1));
}
for(Domaindomain:domains){
domain.output();
}
}

/**
*輸入一個介於min跟max之間的整數
*@parammin
*@parammax
*@return
*/
privatestaticintinput(intmin,intmax){
Scannerscanner=newScanner(in);
try{
inti=scanner.nextInt();
if(i<min||i>max){
out.print("輸入數字大小不符合要求,請重新輸入」");
returninput(min,max);
}
returni;
}catch(Exceptione){
out.print("您輸入的不是數字,請重新輸入「");
returninput(min,max);
}
}

/**
*輸入N個介於1到1000000之間的整數
*@paramn
*@return
*/
privatestaticint[]inputNumbers(intn){
Scannerscanner=newScanner(in);
StringnumStr=scanner.nextLine();
String[]nums=numStr.trim().split("\s+");
if(nums.length!=n){
out.println("輸入數字個數不對,請重新輸入:");
returninputNumbers(n);
}
int[]numbers=newint[n];
for(inti=0;i<n;i++){
try{
intnumber=Integer.valueOf(nums[i]);
if(number<1||number>10000){
out.print("輸入數字大小不符合要求,請重新輸入」");
numbers[i]=input(1,1000000);
}else{
numbers[i]=number;
}
}catch(NumberFormatExceptione){
out.print(String.format("您輸入的%s不是數字,請重新輸入:",nums[i]));
numbers[i]=input(1,1000000);
}
}
returnnumbers;
}

(intn,intindex){
out.println("請輸入第"+index+"行的2個數字L,R(1<=L<=R<=%d)用空格隔開:");
Scannerscanner=newScanner(in);
StringnumStr=scanner.nextLine();
String[]nums=numStr.trim().split("\s+");
if(nums.length!=2){
out.print(String.format("輸入數字個數不對,請重新輸入!",n));
returninputDomain(n,index);
}
Stringls=nums[0];
Stringrs=nums[1];
try{
intl=Integer.valueOf(ls);
intr=Integer.valueOf(rs);
if(l<1||r<l||r>n){
out.print(String.format("輸入數字大小不符合,請重新輸入!",n));
returninputDomain(n,index);
}
returnnewDomain(l,r,index);
}catch(NumberFormatExceptione){
out.println(String.format("輸入數字格式錯誤,請重新輸入2個數字L,R(1<=L<=R<=%d)用空格隔開:",n));
returninputDomain(n,index);
}
}

privatestaticclassDomain{
intl;
intr;
intindex;

Domain(intl,intr,intindex){
this.l=l;
this.r=r;
this.index=index;
}

voidoutput(){
intresult=0;
for(inti=l-1;i<r;i++){
result+=numbers[i];
}
out.println(String.format("第%d行:第%d到第%d個數之和為:%d",index,l,r,result));
}
}
}

『貳』 求Java高手給一簡單的源代碼(200行以下),最好有註解和一段簡單的介紹

//聲明包
package cn.jbit.classandobject;
//導入包
import java.util.Scanner;
/**
* 上機階段4:登錄並購買商品
*/
// 聲明類Goods
public class Goods
{
// 聲明String類型的數組:goods,並初始化。
String[] goods = new String[] { "電風扇", "洗衣機", "電視機", "冰 箱", "空調機" }; // 定義數組是干什麼用的
// 聲明double類型的數組:price,並初始化。
double[] price = new double[] { 124.23, 4500, 8800.90, 5000.88, 4456,
12000.46 };
// 聲明返回值類型為:boolean的login()方法
public boolean login()
{
// 聲明變數flag,類型為boolean,初始值為:false,作為是否登錄成功的標志
boolean flag = false;
// 鍵盤輸入
Scanner input = new Scanner(System.in);
// 列印
System.out.print("請輸入用戶名: ");
// 聲明變數name,接收輸入用戶名
String name = input.next();
// 列印
System.out.print("請輸入密碼: ");
// 聲明變數pwd,接收輸入密碼
String pwd = input.next();
// if判斷用戶名和密碼是否正確
if (name.equals("TOM") && pwd.equals("123"))
{
// 列印
System.out.println("登錄成功! ");
// 修改是否登錄成功的標志
flag = true;
}
// else情況
else
{
// 列印
System.out.println("用戶名或密碼不匹配,登錄失敗!");
}
// 返回是否登錄成功的標志:成功(true),失敗(false)
return flag;// 這段代碼為什麼要加返回值
}
// 聲明返回值為StringBuffer類型的方法change(double d),參數為double類型的d
public StringBuffer change(double d)// 這是什麼意思啊
{
// StringBuffer str:聲明StringBuffer類型的變數str
// String.valueOf(d):獲取d的字元串值
// new StringBuffer(String.valueOf(d)):實例化str,調用了StringBuffer的構造方法
StringBuffer str = new StringBuffer(String.valueOf(d));// 這一句
// str.indexOf("."):返回第一個.所在位置:如果該值返回大於等於4,則進入for循環,否則跳過
for (int i = str.indexOf(".") - 3; i > 0; i = i - 3)
{// 這一句
// 在i出添加,如8,800.9
str.insert(i, ',');// 還有這一句
}
// 返回StringBuffer類型的字元串
return str;
}
// 聲明返回值為void的方法showGoods()
public void showGoods()
{
// 列印
System.out.print("*********歡迎進入商品批發城*********");
// 列印
System.out.print("\n\t編號\t商品\t價格\n");
// for循環輸出商品:goods.length用到開始聲明的goods來獲取數組長度
for (int i = 0; i < goods.length; i++)
{
// 列印:因為數組從0開始,而商品只能從1開始,所以i+1。\t製表符
System.out.print("\t" + (i + 1));
// 列印第i個商品
System.out.print("\t" + goods[i]);
// 列印第i個商品的價格。\n回車
System.out.print("\t" + change(price[i]) + "\n");
}
// 列印
System.out.println("**********************************");
}
// 主方法
public static void main(String[] args)
{
// 鍵盤輸入
Scanner input = new Scanner(System.in);
// 聲明Goods類的對象g,並實例化
Goods g = new Goods();
// 聲明int變數serial, num
int serial, num;
// 聲明double變數total
double total = 0;
// 判斷是否登錄成功
if (g.login())
{
// 列印商品信息
g.showGoods();
// 輸入商品編號
System.out.print("請輸入您批發的商品編號:");
// 接收
serial = input.nextInt();
// 輸入批發數量
System.out.print("請輸入批發數量:");
// 接收
num = input.nextInt();
// 計算總金額:price數組是從0開始的,商品數量是從1開始,第一個商品對應第0個價格
total = g.price[serial - 1] * num;// 計算總金額 //這一句
// 列印總金額
System.out.print("您需要付款:" + g.change(total));
}
}
}

『叄』 java工作原理

Java工作原理
由四方面組成:

(1)Java編程語言
(2)Java類文件格式
(3)Java虛擬機
(4)Java應用程序介面
當編輯並運行一個Java程序時,需要同時涉及到這四種方面。使用文字編輯軟體(例如記事本、寫字板、UltraEdit等)或集成開發環境(Eclipse、MyEclipse等)在Java源文件中定義不同的類 ,通過調用類(這些類實現了Java API)中的方法來訪問資源系統,把源文件編譯生成一種二進制中間碼,存儲在class文件中,然後再通過運行與操作系統平台環境相對應的Java虛擬機來運行class文件,執行編譯產生的位元組碼,調用class文件中實現的方法來滿足程序的Java API調用 。

『肆』 Java100行以上源代碼,至少五個class以及一個interface,可以簡單點

下面是一個可能的Java源代碼,它包含了一個介面租沖薯(Shape)和五個類(Circle, Rectangle, Triangle, Square 和 Main)。它的功能是計算不同形狀的面積和周長。
//定義一個介面Shape,有兩判指個抽象方法:getArea()和getPerimeter()interface Shape { double getArea(); double getPerimeter();
}//定義一個類Circle,實現Shape介面class Circle implements Shape { //定義一個私有屬性radius,表示圓的半徑
private double radius; //定義一個公有構造方法,用於初始化radius
public Circle(double radius) { this.radius = radius;
} //實現getArea()方法,返回圓的面積
public double getArea() { return Math.PI * radius * radius;
} //實現getPerimeter()方法,返回圓的周長
public double getPerimeter() { return Math.PI * radius * 2;
}
}//定義一個類Rectangle,實現Shape介面class Rectangle implements Shape { //定義兩個私有屬性width和height,表示矩形的寬度和高度
private double width; private double height; //定義一個公有構造方法,用於初始化width和height
public Rectangle(double width, double height) { this.width = width; this.height = height;
} //實現getArea()方法,返回矩形的面積
public double getArea() { return width * height;
} //實現getPerimeter()方法,返回矩形的周長
public double getPerimeter() { return (width + height) *2;
}
}//定義一個類Triangle,實現Shape介面class Triangle implements Shape { //定義三個私有屬性a,b,c表示三角形的三條邊長
private double a; private double b; private double c; //定義一個公有構造方法,用於初始化a,b,c,並檢查是否滿足三角形條件(任意兩邊之和大於第三邊)
public Triangle(double a, double b, double c) throws Exception{ if (a + b > c && a + c > b && b + c > a) {
this.a = a; this.b = b;
this.c = c;
} else {
throw new Exception("Invalid triangle");
}
} //實現getArea()方法,返回三角形的面積(使用海倫公式)
public double getArea() { //計算半周長p
double p = (a + b + c) /2; //計算並返回面積s(使用Math.sqrt()函數求平方根)
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
} //實現getPerimeter()方法,返回三角形的周長
public double getPerimeter(){ return a + b + c;
}
}//定義一個類Square,繼承Rectangle類,並重寫構造方法和toString()方法class Square extends Rectangle { //重寫構造方法,在調用父類構造方法時傳入相弊者同的參數side作為width和height
public Square(double side){ super(side, side);
} //重寫toString()方法,在原來基礎上加上"Square:"前綴,並只顯示side屬性而不顯示width和height屬性(使用String.format()函數格式化字元串)
@Override
public String toString(){ return String.format("Square: side=%.2f", super.width); /* 或者直接使用super.getPerimeter()/4作為side */
/* return String.format("Square: side=%.2f", super.getPerimeter()/4); */

/* 注意:不能直接訪問super.side屬性,

『伍』 如何查看javaJDK中底層源碼

在初次使用java時,往往我們對最基本的java類會忽略對其內部基本的實現的了解,也往往不屑於了解其內部實現機制,以為它們本來就是這樣子。而其實貫穿java的整個過程,所有上層的使用,都是源於對底層的擴展,所以要真正去了解這門語言,就必須得從其底層開始認真去了解它。而要深入了解,就需要更多去關注其內部的實現是怎樣子的。

在使用IDE的過程中,我們經常會需要能在IDE中就可以便捷的去查看java的源碼,但若沒有做相關設置,一般在IDE是查看不了java源碼的,此次提供在eclipse中設置查看java源碼的方式。

設置步驟如下:


1.點 「window」-> "Preferences" -> "Java" -> "Installed JRES"


2.此時"Installed JRES"右邊是列表窗格,列出了系統中的 JRE 環境,選擇你的JRE,然後點邊上的 "Edit...", 會出現一個窗口(Edit JRE)


3.選中rt.jar文件的這一項:「c:program filesjavajre_1.8lib t.jar」
點 左邊的「+」 號展開它,


4.展開後,可以看到「Source Attachment:(none)」,點這一項,點右邊的按鈕「Source Attachment...」, 選擇你的JDK目錄下的 「src.zip」文件(該文件在JDK安裝目錄的根目錄下)


5.一路點"ok",設置完成


設置完成後,按住ctrl鍵再用滑鼠單擊某一個jdk方法名或類名,便能看到該方法的源代碼了。此外按F3也能實現。

PS:rt.jar包含了jdk的基礎類庫,也就是你在java

doc裡面看到的所有的類的class文件;src.zip文件裡面放著的正是基本類所對應的源文件(即*.java格式的文件);同理,我們可以去網上下載各個JAVA開源框架所對應的源代碼包,比如spring-src.zip,然後再按照上面的設置步驟設置,就可以查看到對應的JAVA框架源代碼了。

轉自:網頁鏈接

『陸』 什麼叫底層代碼

底層代碼是指被封裝好的代碼,底層代碼寫的就是比較原始,比較基礎的代碼。底層代碼編寫是非常接近機器的編程,使用底層開發語言(如C或匯編)。這與使用高級語言(例如Python,Java)的程序員進行編程不同。

對於java來說,底層代碼一般是指框架的實現代碼,這些代碼一般都是一些常用代碼或比較接近於原始的代碼,這些代碼封裝好,可以方便復用和調用。而對一些操作系統來說,底層代碼可能就是c或者匯編,寫底層代碼就是做底層開發。比如java的Map類,底層代碼實現:

(6)java底層源碼包含哪些擴展閱讀

編寫底層代碼一般要比較深厚的功底,對程序設計,代碼涉及的各個方面,性能,耦合度,復用性都要很深的掌握和考慮,熟練掌握設計模式,良好的編程習慣,代碼優雅,數據結構,精通各種演算法

很多java框架被淘汰,除了本身有致命的bug外,還有就是有性能更好,使用更方便的框架出現,而這些都是靠底層代碼實現來決定的。

閱讀全文

與java底層源碼包含哪些相關的資料

熱點內容
伺服器上如何查看伺服器的埠 瀏覽:676
單片機伺服器編譯 瀏覽:768
單口usb列印機伺服器是什麼 瀏覽:859
戰地五開伺服器要什麼條件 瀏覽:954
在word中壓縮圖片大小 瀏覽:253
javatomcat圖片 瀏覽:417
程序員生產智能創意 瀏覽:65
匯和銀行app怎麼登錄 瀏覽:381
騰訊伺服器如何上傳源碼 瀏覽:745
單片機的原理概述 瀏覽:510
火控pdf 瀏覽:267
如何復制雲伺服器centos環境 瀏覽:984
債權pdf 瀏覽:303
紅色番字的app怎麼下載 瀏覽:876
雲伺服器流程教課 瀏覽:702
中國農業銀行app怎麼沒有網 瀏覽:997
幾率表演算法 瀏覽:902
程序員理工科 瀏覽:708
企業郵箱登錄收件伺服器地址 瀏覽:560
計算機思維與演算法設計的重要性 瀏覽:664