Java 筆記 —— java 和 javac

来源:https://www.cnblogs.com/huangzenglie/archive/2018/04/05/8724919.html
-Advertisement-
Play Games

閱讀目錄 Java JDK 安裝 PATH CLASSPATH 小結 javac 命令 java 命令 小結 生成 jar 包 閱讀目錄 閱讀目錄 Java JDK 安裝 PATH CLASSPATH 小結 javac 命令 java 命令 小結 生成 jar 包 Java JDK 安裝 PATH ...


閱讀目錄

一、Java JDK 安裝

1)JDK 在安裝的過程中會出現兩次安裝提示,第 1 次是安裝 JDK ,第 2 次是安裝 JRE。我把 JDK 安裝在 D:\Java\jdk\ 這個路徑下,把 JRE 安裝在 D:\Java\jre\ 這個路徑下

2)在配置 PAHT 和 CLASSPATH 的值時,是對 JDK 安裝路徑的配置,與 JRE 安裝路徑無關(當然這隻是一般情況下)


[ 返回頂部 ]



二、PATH

1) PATH 要配置的路徑是:;D:\Java\jdk\bin;D:\Java\jdk\jre\bin(這裡配置了兩個路徑,英文分號是每個路徑的分隔符)。通常我們會增加一個變數 JAVA_HOME,它的值配置為:D:\Java\jdk(註意這裡不用分號開頭,也不用分號結尾),因此 PATH 的值通常配置為:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

2)添加 JAVA_HOME 變數的好處:當我重新安裝 JDK 的時候,如果我想改變 JDK 的安裝路徑為 E:\Java\jdk\ ,當我沒有配置 JAVA_HOME 時,我必須一個一個地去更改 PATH 的值,比如改為 ;E:\Java\jdk\bin;E:\Java\jre\bin ,但是如果我有配置 JAVA_HOME 的值,那我只需更改 JAVA_HOME 的值為 E:\Java\jdk 就行了,PATH 的值可以保持不變

3)配置 PATH 環境變數的作用:我們用命令行編譯運行 Java 程式時,會經常用到 java 和 javac 這兩個命令,當我們還沒設定 PATH 的值的時候,這兩個命令是沒辦法在命令行的任意文件目錄下執行的,那麼配置 PATH 值就是為了讓這兩個命令可以執行

4)java 和 javac 命令的工作原理:我們到 jdk 的安裝路徑下可以看到有一個 bin 文件夾,進入 bin 文件夾裡面會發現 java 和 javac 就在這裡。java 和 javac 都是 .exe 程式,在命令行中如果想要執行 .exe 程式,那麼必須要從命令行進入到放置 .exe 程式的目錄下,我們可以在命令行中輸入 cd   /d   D:\Java\jdk\bin 命令,然後命令行會進入 bin 文件目錄下,這時,即使我們沒有配置 PATH 的值,也可以執行 java 和 javac 命令,可以在命令行輸入 java   -version 命令試試。但是如果我們想在命令行的任何目錄下都能執行 java 和 javac 命令那該怎麼辦呢?顯然,要配置 PATH 的值。當我們執行 java 命令時,系統首先會在當前目錄下尋找是否有 java.exe 程式,有,那麼就執行,沒有,那麼就會去 PATH 裡面尋找,所以,當我們配置好 PATH 之後,在任何目錄下執行 java 和 javac 都會生效


[ 返回頂部 ]



三、CLASSPATH

1)CLASSPATH 的值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(這裡配置了 3 個路徑,其中 . 符號表示本地路徑,其他兩個路徑都可以在 JDK 的安裝路徑下麵找到)

2)配置 CLASSPATH 的作用:尋找 .class 文件。例如:如果我有個 Java 程式在 E:\Example\ 路徑下,文件名稱為 Test.java 。要編譯程式,那首先要將命令行切換到 E:\Example\ 目錄(在命令行處輸入命令 cd   /d   E:\Example\), 然後執行 javac   Test.java 命令將 .java 文件編譯成 .class 文件。沒有配置 CLASSPATH 時:我們可以直接在命令行的 E:\Example\ 目錄下執行 java   Test 命令,能夠執行成功的原因是在沒有配置 CLASSPATH 時,系統會預設在本地目錄下尋找編譯後的 Test.class 文件。有配置 CLASSPATH 時:假如我隨便在 CLASSPATH 中添加一個路徑 F:\; ,那麼系統便不會預設在本地目錄下尋找,這時我們也想要在命令行的 E:\Example\ 目錄下執行 java   Test 命令,則 CLASSPATH 應該配置成 .;F:\;( . 符號就表示本地目錄)

3)再舉個例子:我的 CLASSPATH 已經配置成: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar ,現在我將編譯好的 Test.class 文件放在 D:\ExampleClass\ 路徑下,那麼我想要在命令行中執行 java   Test 命令要怎麼辦呢?有兩種方法,第一種方法:我將命令行切換到 D:\ExampleClass\ 目錄下,然後可以直接執行 java Test 命令(因為 CLASSPATH 配置了 . 符號,能在本地目錄下尋找 Test.class 文件)。第二種方法:將 D:\ExampleClass\ 路徑添加到 CLASSPATH 中,即 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;D:\ExampleClass ,這時我們就可以在命令行中的任何目錄下執行 java Test


[ 返回頂部 ]



四、小結

1)配置 PATH 是為了使 java 和 javac 命令能在命令行的任何目錄下執行

2)配置 CLASSPATH 是為了執行 java   Test 命令時,能夠找到 Test.class 文件

3)PATH 和 CLASSPATH 的配置都與 JDK 的安裝路徑有關,與 JRE 的安裝路徑無關(當然這隻是一般情況下)

4)向 CLASSPATH 添加指定路徑之後可以使 java   Test 在命令行的任何目錄下執行;使用絕對路徑可以使 javac   E:\Example\Test.java 在命令行的任何目錄下執行


[ 返回頂部 ]



五、javac 命令

  1. 格式:javac [options] [source files]
  2. 常用的 options 有:
    • -d   <目錄> ,該選項用於編譯時將 .class 和 .java 文件分開存放
    • -sourcepath   <路徑> ,該選項用於編譯時指定 .java 文件的位置
    • -classpath   <路徑> ,該選項用於編譯時指定 .class 文件的位置
  3. 用法

無 options

假設 D:\sources\ 路徑下有一個文件名為 Test.java 的文件。

例如:javac   D:\sources\Test.java ,可以在命令行的任何目錄下輸入該命令,編譯後,系統預設會在 D:\sources\ 路徑下生成 Test.class 文件

-d   <目錄>(使用該選項之前要先在電腦中建立目錄)

假設 D:\sources\ 路徑下有一個文件名為 Test.java 的文件。

例如:javac   -d   E:\myclasses   D:\sources\Test.java ,可以在命令行的任何目錄下輸入該命令,編譯後,系統會在 E:\myclasses\ 路徑下生成 Test.class 文件 (註意:必須要先在電腦中建立 E:\myclasses\ 路徑)

-sourcepath   <路徑>

例1(.java 文件在同一個包下):

	
// 假設該文件位於 E:\com\example\ 路徑下,文件名為 Fruits.java

package com.example;

public class Fruits{
	@Override
	public String toString(){
		return "Fruits";
	}
}


// 假設該文件位於 D:\sources\ 路徑下,文件名為 Test.java

package com.example;

public class Test{
	public static void main(String[] args){
		System.out.println(new Fruits()); // 引用 Fruits 對象
	}
}
	

程式:

  • 兩個 .java 文件位於同一個包下(因為都是 package com.example)
  • Test 引用了 Fruits 對象

編譯 Test.java 文件的方法:(要先在電腦中建立 D:\classes\ 路徑)

  • 第一種方法:將命令行切換到 D:\sources\ 目錄下,然後執行 javac   -sourcepath   E:\   -d   D:\classes   Test.java
  • 第二種方法:在命令行的任意目錄下,執行 javac   -sourcepath   E:\   -d   D:\classes   D:\sources\Test.java 命令
  • 第三種方法:向電腦環境變數 CLASSPATH 中添加 ;E:\ 然後在命令行的任意目錄下執行 javac   -d   D:\classes   D:\sources\Test.java

運行 Test.class:

  • 將命令行切換到 D:\classes\ 目錄下,然後執行 java   com.example.Test

例2(.java 文件在不同的包下):


// 假設該文件位於 E:\hzl\net\example\ 路徑下,文件名為 Person.java

package net.example;

public class Person{
	@Override
	public String toString(){
		return "Person";
	}
}

	
// 假設該文件位於 D:\sources\ 路徑下,文件名為 Test.java

package com.example;
import net.example.Person; // 要導入包

public class Test{
	public static void main(String[] args){
		System.out.println(new Person()); // 引用 Person 對象
	}
}

程式:

  • 兩個 .java 文件位於不同的包(package net.example; 和 package com.example;)
  • Test 引用了 Person 對象

編譯 Test.java 文件的方法:(首先要在電腦中建立 D:\yourclasses\ 路徑)

  • 第一種方法:將命令行切換到 D:\sources\ 目錄下,然後執行 javac   -sourcepath   E:\hzl   -d   D:\yourclasses   Test.java 命令(註意:如果我將 Person.java 中的包名改為 package hzl.net.example; 那麼 Test.java 中的 import 應該改為 import hzl.net.example.Person; 要執行的編譯命令應該為 javac   -sourcepath   E:\   -d   D:\yourclasses   Test.java)
  • 第二種方法:在命令行的任意目錄下執行 javac   -sourcepath   E:\hzl   -d   D:\yourclasses   D:\sources\Test.java
  • 第三種方法:向電腦環境變數 CLASSPATH 中添加 ;E:\hzl 然後在命令行任意目錄下執行 javac   -d   D:\yourclasses   D:\sources\Test.java

運行 Test.class:

  • 將命令行切換到 D:\yourclasses\ 目錄下,然後執行 java com.example.Test

例3(-sourcepath 的本質):

執行包含該選項的命令時,系統會將指定的 <路徑> 暫時覆蓋掉 CLASSPATH 中的路徑


// 假設該文件位於 E:\net\example\ 路徑下,文件名為 Man.java

package net.example;

public class Man{
	@Override
	public String toString(){
		return "Man";
	}
}

	
// 假設該文件位於 F:\cn\example\ 路徑下,文件名為 Woman.java

package cn.example;

public class Woman{
	@Override
	public String toString(){
		return "Woman";
	}
}	

	
// 假設該文件位於 D:\sources\ 路徑下,文件名為 Test.java

package com.example;
import net.example.Man;
import cn.example.Woman;

public class Test{
	public static void main(String[] args){
		System.out.println(new Man()); // 引用 Man 對象
		System.out.println(new Woman()); // 引用 Woman 對象
	}
}

程式:

  • 有三個 .java 文件位於不同的包
  • Test 引用了 Man 和 Woman 對象

1、還沒配置 CLASSPATH 時:

編譯:(首先要在電腦中建立 D:\myclasses\ 路徑)

  • 在命令行的任何目錄下執行 javac   -sourcepath   E:\;F:\   -d   D:\myclasses   D:\sources\Test.java

運行:

  • 將命令行切換到 D:\myclasses\ 目錄下,然後執行 java   com.example.Test

2、CLASSPATH 的值配置為 .;E:\ (. 符號表示本地目錄,E:\ 是存放 Man.java 文件的路徑):

編譯:

  • 在命令行的任何目錄下執行 javac   -sourcepath   F:\   -d   D:\myclasses   D:\sources\Test.java(編譯不能通過,雖然說已經將 Man.java 的路徑配置到了 CLASSPATH 中,但是程式還是找不到 Man.java ,這是因為在指定 -sourcepath 的 <路徑> 時,該路徑會暫時覆蓋掉 CLASSPATH 中的值)

3、想讓編譯通過:

  • 第一種方法:將 E:\ 和 F:\ 都配置到 CLASSPATH 中,即 CLASSPATH 的值為 .;E:\;F:\ ,然後在命令行的任何目錄下執行 javac   -d   D:\myclasses   D:\sources\Test.java
  • 第二種方法:不管 CLASSPATH 的值是什麼,直接在命令行的任何目錄下執行 javac   -sourcepath   E:\;F:\   -d   D:\myclasses   D:\sources\Test.java

-classpath   <路徑>

同樣,執行包含該選項的命令時,系統會將指定的 <路徑> 暫時覆蓋掉 CLASSPATH 中的路徑

-sourcepath 能實現的功能,-classpath 同樣能實現, 但是 -classpath 能實現的功能,-sourcepath 不一定能實現,例如:

很多時候,我們只有 .class 文件或者只有由 .class 文件組成的 jar 包,那麼我們在編譯程式的時候就不能用 -sourcepath 而是要用 -classpath 來指定路徑,使程式能編譯通過


// 假設該文件位於 D:\cn\example\ 路徑下,文件名為 Animals.java
// 假設我已經將它編譯成 Animals.class 文件,並且將它放在 F:\cn\example\ 路徑下

package cn.example;

public class Animals{
	@Override
	public String toString(){
		return "Animals";
	}
}


// 假設該文件位於 D:\sources\ 路徑下,文件名為 Test.java

package com.example;
import cn.example.Animals; // 導入包

public class Test{
	public static void main(String[] args){
		System.out.println(new Animals()); // 引用 Animals 對象
	}
}

程式:

  • 假如我現在只有 Animals.class 文件,沒有 Animals.java 文件(Animals.class 文件位於 F:\cn\example\ 路徑下)
  • Test 類引用了 Apple 對象

編譯 Test.java 文件的方法:(首先要在電腦中建立 D:\myclasses\ 路徑)

  • 在命令行的任何目錄下運行 javac   -classpath   F:\   -d   D:\myclasses   D:\sources\Test.java(其中 -classpath 指定了 Apple.class 的路徑)

運行 Test.class:

  • 在命令行的任何目錄下執行 java   -classpath   D:\myclasses;E:\   com.example.Test

[ 返回頂部 ]



六、java 命令

  1. 格式:java   [options]   [class files]
  2. 常用的 options 有:
    • -classpath   <路徑>
  3. 用法

-classpath   <路徑>

例1:


// 假設該文件位於 D:\cn\example\ 路徑下,文件名為 Animals.java
// 假設我已經將它編譯成 Animals.class 文件,並且將它放在 F:\cn\example\ 路徑下

package cn.example;

public class Animals{
	@Override
	public String toString(){
		return "Animals";
	}
}


// 假設該文件位於 D:\sources\ 路徑下,文件名為 Test.java

package com.example;
import cn.example.Animals; // 導入包

public class Test{
	public static void main(String[] args){
		System.out.println(new Animals()); // 引用 Animals 對象
	}
}

編譯:

  • 在命令行的任何目錄下執行 javac   -classpath   F:\   -d   D:\myclasses   D:\sources\Test.java

運行:

  • 在命令行的任何目錄下執行 java   -classpath   D:\myclasses;F:\   com.example.Test

例2:

執行包含該選項的命令時,系統也會將指定的 <路徑> 暫時覆蓋掉 CLASSPATH 中的路徑


// 假設該文件位於 D:\sources 路徑下,文件名為 Test.java

package com.example;

public class Test{
	public static void main(String[] args){
		System.out.println("Hello World !");
	}
}

1、沒有配置 CLASSPATH 的值時:

編譯:

  • 在命令行的任何目錄下執行 javac   -d   D:\myclasses   D:\sources\Test.java

運行:

  • 將命令行切換到 D:\myclasses\ 目錄下,然後執行 java   -classpath   .   com.example.Test(-classpath 中的 <路徑> 為 . 符號,表示指定了本地目錄)

2、將 CLASSPATH 的值配置成 . 符號

編譯:

  • 在命令行的任何目錄下執行 javac   -d   D:\myclasses   D:\sources\Test.java

運行:

  • 將命令行切換到 D:\myclasses\ 目錄下,然後執行 java   -classpath   E:\   com.example.Test(運行時會找不到 Test.class 文件,因為我將 -classpath 中的 <路徑> 指定為 E:\ ,它會暫時覆蓋掉 CLASSPATH 中的值)

[ 返回頂部 ]



七、小結

1)javac

  • -sourcepath 和 -classpath 都和 CLASSPATH 有關
  • 如果指定 -sourcepath 或者 -classpath ,那麼他們的 <路徑> 會暫時覆蓋掉 CLASSPATH 中的值
  • 如果不指定 -sourcepath 或者 -classpath ,那麼在編譯程式時,系統會自動到 CLASSPATH 中尋找相應的路徑

2)java

  • -classpath 也和 CLASSPATH 有關
  • 如果指定 -classpath ,那麼它的 <路徑> 會暫時覆蓋掉 CLASSPATH 中的值
  • 如果不指定 -classpath ,那麼在運行程式時,系統會自動到 CLASSPATH 中尋找相應的路徑

3)程式編譯和運行的步驟

	
// 假設該文件位於 E:\net\example\ 路徑下,文件名為 Person.java

package net.example;

public class Person{
	@Override
	public String toString(){
		return "Person";
	}
}	

	
// 假設該文件位於 D:\sources\ 路徑下,文件名為 Test.java

package com.example;
import net.example.Person;

public class Test{
	public static void main(String[] args){
		System.out.println(new Person()); // 引用 Person 對象
	}
}
	

編譯:

  • 在命令行的任何目錄下執行 javac   -sourcepath   E:\   -d   D:\myclasses   D:\sources\Test.java
  • 編譯時,系統首先根據上面的命令找到 D:\sources\ 目錄下的 Test.java 文件,這是一個包含主類的 .java 文件
  • 然後根據 -sourcepath E:\ 和 Test.java 文件中的 import net.example.Person; 語句找到 E:\net\example\ 路徑下有 package net.example; 語句的 Person.java 文件(沒有指定 -sourcepath 時,系統會去 CLASSPATH 中尋找,其實指定 -sourcepath 時,系統也是去 CLASSPATH 中尋找,因為 -sourcepath 的作用是暫時覆蓋掉 CLASSPATH 的值)
  • 最後將編譯好的 .class 文件存放在 D:\myclasses\ 路徑下
  • 整個過程:包含主類的 .java 文件 ——> CLASSPATH ——> import 語句 ——> 找到含有相應 package 語句的 .java 文件

運行:

  • 在命令行的任何目錄下執行 java   -classpath   D:\myclasses   com.example.Test
  • 運行時,系統會根據 -classpath D:\myclasses 和 com.example.Test 找到 D:\myclasses\com\example\ 路徑下的 Test.class
  • 然後根據 -classpath D:\myclasses 和 import net.example.Person; 語句找到 D:\myclasses\net\example\ 路徑下有 package net.example; 語句的 Person.class

[ 返回頂部 ]



八、生成 jar 包

1)假設電腦中有一個 D:\classes\ 路徑,該路徑下有 a.class ,b.class 和 c.class 三個文件
2)將命令行切換到 D:\classes\ 目錄下,然後執行 jar   -cvf   Test.jar   *.class
3)查看 D:\classes\ 路徑,會發現生成了一個 Test.jar 文件,這個文件中就包含了 a.class ,b.class 和 c.class 三個文件


[ 返回頂部 ]



End~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文最初發表於 "博客園" ,併在 "GitHub" 上持續更新 前端的系列文章 。歡迎在GitHub上關註我,一起入門和進階前端。 以下是正文。 Vue初體驗 新建一個空的項目,引入vue.js文件。寫如下代碼: 顯示效果: 如果我們在控制台輸入 ,頁面會 自動更新 name的值。 下麵來講一下V ...
  • 火於非同步 1995年,當時最流行的瀏覽器——網景中開始運行 JavaScript (最初稱為 LiveScript)。 1996年,微軟發佈了 JScript 相容 JavaScript。隨著網景、微軟競爭而不斷的技術更新,在 2000年前後,JavaScript 相關的技術基礎準備就緒。 隨後到 ...
  • 一、css 繪製圓 key: 1、width = height 相當於畫一個正方形 2、border-radius > 0.5*width (border-radius:圓角半徑 ) 二、同心圓,兩種畫法 2.1 absolute構成同心圓 繪製外面的圓: key: 1、margin: auto 使 ...
  • 清明節了,我只有大年初一祭祖。所以也沒回家,看了我的團長我的團,看的頭暈,所以告訴自己不能這樣看下去了,否則這三天又白過了,雖然我沒女朋友,已經單身好幾年了,但是孤獨的日子,我應該更充實。 突然感覺程式員如果走技術路線,壓力挺大的。學不完的技術,否則競爭力沒有。所以老程式員,最關鍵的就是編程思想。玩 ...
  • 企業業務上雲的三種架構容器的三個視角從運維角度數據工程師角度開發角度微服務化12 FactorRelated Reference:https://kubernetes.io/https://github.com/coreos/etcd---------------------------------... ...
  • 新建.jsp報錯:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 解決方案: 1.檢查在eclipse中,有沒有配置JDK: 2.檢查在eclipse中,tomcat有沒有配置好 ...
  • 1 微服務的發展 微服務倡導將複雜的單體應用拆分為若幹個功能簡單、松耦合的服務,這樣可以降低開發難度、增強擴展性、便於敏捷開發。當前被越來越多的開發者推崇,很多互聯網行業巨頭、開源社區等都開始了微服務的討論和實踐。Hailo有160個不同服務構成,NetFlix有大約600個服務。國內方面,阿裡巴巴 ...
  • python中的作用域有4種: | 名稱 | 介紹 | | | | | L | local,局部作用域,函數中定義的變數; | | E | enclosing,嵌套的父級函數的局部作用域,即包含此函數的上級函數的局部作用域,但不是全局的; | | B | globa,全局變數,就是模塊級別定義的變數 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...