主頁 > 後端開發 > java起步

java起步

2020-09-17 01:55:32 後端開發

一、計算機語言的發展歷史

學編程語言之前我們先了解一下計算機編程語言的發展,隨著計算機本身硬體發展,硬體速度越快、體積越小、成本越低,應用到人類社會的場景就會越多,那么所需要的演算法就會越復雜,也就要求計算機編程語言越高級,最初重達幾十噸但一秒只能運算5000次的ENIAC(世界上第一臺計算機),只能做非常小的應用,比如:某些情況的彈道計算,現在任何一個人的手機運算能力都可以秒殺那個年代地球上所有計算機運算能力的總和,計算機編程語言的發展歷經了從低級到高級發展,發展的核心思想就是“讓人更容易編程”,越容易使用的語言,就有越多人使用;越多人使用,就有越多協作;越多協作,就可以創造越復雜的物體;計算機語言經歷了三代:第一代是機器語言,第二代是匯編語言,第三代是高級語言,
在這里插入圖片描述
【1】第一代:機器語言(相當于人類的原始階段)
機器語言是機器指令的集合,機器指令展開來講就是一臺機器可以正確執行的命令,電子計算機的機器指令是一列二進制數字,計算機將之轉變為一列高低電平,以使計算機的電子器件受到驅動,從而進行運算,上面所說的計算機,指的是可以執行機器指令,進行運算的機器,這是早期計算機的概念,早期的程式設計均使用機器語言,程式員們將用 0、1 數字編程的程式代碼打在紙袋或卡片上,1打孔,0不打孔,再將程式通過紙帶機或卡片機輸入計算機,從而進行運算,
應用8086CPU完成運算s=768+12288-1280,機器碼如下:
在這里插入圖片描述
假如將程式錯寫成以下的錯誤,請你找出錯誤:
在這里插入圖片描述
書寫和閱讀機器碼程式不是一件簡單的作業,要記住所有抽象的二進制碼,上面只是一個非常簡單的小程式,就暴露出機器碼的晦澀難懂和不易查錯,寫如此小的一個程式尚且如此,實際上一個有用的程式至少要有幾十行的機器碼,那么,情況將會怎么樣呢?
在顯示幕輸出“welcome to masm”,機器碼如下:
在這里插入圖片描述
看到這樣的程式,你有什么感想?如果程式里有一個“1”被誤寫成為“0”,又如何去查找錯誤呢?

【2】第二代:匯編語言(相當于人類的手工業階段)
為了編程的方便,以及解決更加復雜的問題,程式員開始改進機器語言,使用英文縮寫的助記符來表示基本的計算機操作,這些助記符構成了匯編語言的基礎,如下是一些常見的匯編語言助記符(單詞)比如:mov,add,sub之類,這樣人更容易使用了,識別幾百、幾千個單詞,感覺要比幾百幾千個數字,美妙多了,匯編語言相當于人類的手工業社會,需要技術極其嫻熟的工匠,但是開發效率也非常低,匯編語言雖然能撰寫高效率的程式,但是學習和使用都不是易事,并且很難除錯,另一個復雜的問題,匯編語言以及早期的計算機語言(Basic、Fortran等)沒有考慮結構化設計原則,而是使用goto陳述句來作為程式流程控制的主要方法,這樣做的后果是:一大堆混亂的調轉陳述句使得程式幾乎不可能被讀懂,對于那個時代的程式員,能讀懂上個月自己寫的代碼都成為一種挑戰, 匯編語言仍然應用于工業電子編程領域、軟體的加密解密、計算機病毒分析等,
下面以Masm軟體為例,撰寫一個簡單的“hello world!”程式,
在這里插入圖片描述
【3】第三代:高級語言(相當于人類的工業階段)
對于簡單的任務,匯編語言可以勝任,但是隨著計算機的發展,滲透到了作業生活的更多的方面,一些復雜的任務出現了,匯編語言就顯得力不從心(應該說是程式員使用匯編語言解決復雜問題出現了瓶頸),于是,出現了高級語言,像我們熟知的C、C++、Java等等都是高級語言,
高級語言允許程式員使用接近日常英語的指令來撰寫程式,例如下圖所示:
在這里插入圖片描述

二、Java的歷史

java是由SUN公司的詹姆斯·高斯林 (James Gosling)發明的,但是現在SUN公司被Oracle收購了

? 1991年,Sun公司的Green專案,Oak

? 1995年,推出Java測驗版

? 1996年,JDK1.0

? 1997年,JDK1.1

? 1998年,JDK1.2,大大改進了早期版本的缺陷,是一個革命性的版本,更名為Java2

? 1999 Java被分成J2SE、J2EE 和J2ME,JSP/Servlet技術誕生

? 2004年,J2SE 5.0 (1.5.0) Tiger老虎.為了表示這個版本的重要性,J2SE1.5更名為J2SE5.0,

? 2006年,J2SE 6.0 (1.6.0) Mustang野馬.此時,Java的各種版本被更名,取消其中的數字"2":J2EE更名為Java EE, J2SE更名為 Java SE,J2ME更名為Java ME
? 2009年4月20日甲骨文收購Sun公司,交易價格達74億美元

? 2011年,JavaSE7.0

? 2014年 ,JavaSE8.0

? 2017年,JavaSE9.0

? 2018年3月,JavaSE10.0

? 2018年9月,JavaSE11.0

? 2019年3月,JavaSE12.0

? 2019年9月,JavaSE13.0

? 2020年3月,JavaSE14.0
........................................................................
我們一般都基于8講解,沒必要學習最新的,企業一般都以穩定為主,我們再介紹一下不同版本JDK說明

JDK Version 1.1:于1997-02-19發行,
引入的新特性包括:引入JDBC(Java Database Connectivity);支持內部類;引入Java Bean;
引入RMI(Remote Method Invocation);引入反射(僅用于內省),

J2SE Version 1.2:開發代號為Playground(操場),于1998-12-08發行,
引入的新特性包括:引入集合(Collection)框架;對字串常量做記憶體映射;引入JIT(Just In Time)編譯器;
引入對打包的Java檔案進行數字簽名;引入控制授權訪問系統資源的策略工具;
引入JFC(Java Foundation Classes),包括Swing 1.0、拖放和Java 2D類別庫;
在JDBC中引入可滾動結果集、BLOB、CLOB、批量更新和用戶自定義型別;
在Applet中添加聲音支持,引入Java 插件;

J2SE Version 1.3:開發代號為Kestrel(紅隼),于2000-05-08發行,
引入的新特性包括:
引入Java Sound API;
jar檔案索引;
對Java的各個方面都做了大量優化和增強,

J2SE Version 1.4:開發代號為Merlin(隼),于2004-02-06發行(首次在JCP下發行),
引入的新特性包括:
XML處理;
Java列印服務;
引入Logging API;
引入Java Web Start;
引入JDBC 3.0 API;
引入斷言;
引入Preferences API;
引入鏈式例外處理;
支持IPv6;
支持正則運算式;
引入Image I/O slot machine API,

Java Version SE 5.0:開發代號為Tiger(老虎),于2004-09-30發行,
引入的新特性包括:
引入泛型;
增強回圈,可以使用迭代方式;
自動裝箱與自動拆箱;
型別安全的列舉;
可變引數;
靜態引入;
元資料(注解);
引入Instrumentation,

Java Version SE 6: 開發代號為Mustang(野馬),于2006-12-11發行,
引入的新特性包括:
支持腳本語言;
引入JDBC 4.0 API;
引入Java Compiler API;
可插拔注解;
增加對Native PKI(Public Key Infrastructure)、Java GSS(Generic Security Service)、Kerberos和 LDAP(Lightweight Directory Access Protocol)的支持;
繼承Web Services;
做了很多優化,

Java Version SE 7:開發代號是Dolphin(海豚),于2011-07-28發行,
引入的新特性包括:
switch陳述句塊中允許以字串作為分支條件;
在創建泛型物件時應用型別推斷;
在一個陳述句塊中捕獲多種例外;
支持動態語言;
支持try-with-resources;
引入Java NIO.2開發包;
數值型別可以用2進制字串表示,并且可以在字串表示中添加下劃線;
鉆石型語法;
null值的自動處理,

Java Version SE 8:開發代號是Spider(蜘蛛),于2014-03-18發行,
支持 lambda支持;
增強日期與時間API的功能;
對垃圾回收的性能也進行了改進;
并且移除了permgen區,
Lambdas運算式與Functional介面
介面的默認與靜態方法
方法參考
重復注解
更好的型別推測機制
擴展注解的支持
.......................................................

三、Java體系結構

JavaSE(Java Standard Edition):標準版,定位在個人計算機上的應用
這個版本是Java平臺的核心,它提供了非常豐富的API來開發一般個人計算機上的應用程式,包括用戶界面介面AWT及Swing,網路功能與國際化、影像處理能力以及輸入輸出支持等,在上世紀90年代末互聯網上大放異彩的Applet也屬于這個版本,Applet后來為Flash取代,Flash即將被HTML5取代,
JavaEE(Java Enterprise Edition):企業版,定位在服務器端的應用
JavaEE是JavaSE的擴展,增加了用于服務器開發的類別庫,如:JDBC是讓程式員能直接在Java內使用的SQL的語法來訪問資料庫內的資料;Servlet能夠延伸服務器的功能,通過請求-回應的模式來處理客戶端的請求;JSP是一種可以將Java程式代碼內嵌在網頁內的技術;
JavaME(Java Micro Edition):微型版,定位在消費性電子產品的應用上
JavaME是JavaSE的內伸,包含J2SE的一部分核心類,也有自己的擴展類,增加了適合微小裝置的類別庫:javax.microedition.io.*等,該版本針對資源有限的電子消費產品的需求精簡核心類別庫,并提供了模塊化的架構讓不同型別產品能夠隨時增加支持的能力,
在這里插入圖片描述

四、Java的語言特點

  • 面向物件(使用計算機模擬現實世界,解決現實問題,貼近人類思維)
  • 簡單(相對C、C++,不易造成記憶體溢位、減少代碼量、代碼可讀性強)
  • 跨平臺(作業系統、服務器、資料庫)
    跨平臺這里我們著重介紹一下,Java的跨平臺原理核心在于JVM,在每個作業系統分別對應安裝一個JVM,我們寫的java源檔案編譯運行在JVM中產生一個二進制的位元組碼檔案,就像圖中這樣:
    在這里插入圖片描述
    然后由JVM將運行產生的class位元組碼檔案一行行解釋成為作業系統認識的可執行檔案,Java為什么這樣做呢?為了安全,我們拿Java和經典的C語言比較一下
    在這里插入圖片描述
    C語言直接和作業系統接觸,語言層面萬一出現問題比如記憶體和指標,那么會導致作業系統崩潰,但Java語言則把這些問題拋給JVM,語言層面無需關心,所有問題都會被JVM處理掉,不會讓作業系統崩潰,所以我們說Java語言是安全的

五、Java的環境搭建

在搭建環境之前我們先解釋一下名詞
JDK(Java Development Kit)開發環境,撰寫Java程式的程式員使用的軟體,包含JRE + 類別庫 + 開發工具包

JRE(Java Runtime Environment)運行環境,運行Java程式的用戶使用的軟體,包含JVM和解釋器

JVM(Java Virtual Machine)Java虛擬機
在這里插入圖片描述
下載JDK:https://www.oracle.com/java/technologies/javase-downloads.html,選擇一個合適的jdk下載即可

安裝JDK:跟正常安裝軟體沒什么區別

配置JDK:這步如果不做的話每次編譯運行Java檔案都需要先寫javac和java的全路徑,后面再寫檔案的名字

備注:javac是編譯源檔案的命令,java是執行位元組碼檔案的命令,

步驟:右擊我的電腦--屬性--高級系統設定--環境變數--并填寫以下內容

? JAVA_HOME:你安裝jdk的路徑,這是我的安裝路徑:C:\Program Files\Java\jdk1.8.0_131
在這里插入圖片描述
? 再修改一下path變數,%JAVA_HOME%\bin
? 在這里插入圖片描述
? 如果是window7則需要這樣配,后面加一個分號在這里插入圖片描述
測驗:打開DOS視窗:Windows鍵 + R——快捷鍵呼出運行視窗,輸入cmd
在這里插入圖片描述
在這里插入圖片描述
輸入java -version出現版本號,就表示配置成功
在這里插入圖片描述
補充:path環境變數作用:將命令所在的路徑配置到path中去,就相當于在計算機中“注冊”了一樣,以后 找這個命令,會直接去你配置的路徑下尋找,達到了一個效果:在任意的路徑下去執行某個命令---》path環境針對整個作業系統而言,就比如沒配path變數之前,java命令需要輸入jdk的全安裝路徑,配了path變數之后,直接輸入Java命令即可,

? classpath環境變數:有些教程會配這個,實際配不配都可以,只是可以在任意的路徑下去執行位元組碼檔案,默認就是.\值

六、常見的DOS命令

  • DOS作業系統

    • Microsoft公司推出的作業系統,(在windows之前的作業系統)
    • DOS是英文"Disk Operating System"的縮寫,其中文含意是"磁盤作業系統".
    • DOS是單用戶、單任務的作業系統.(只能執行一個任務)
      在這里插入圖片描述
  • DOS命令

    • 在windows中,我們通過滑鼠選單等來作業系統,而在dos作業系統中,要通過dos命令來作業系統,

    • 是DOS作業系統的命令,是一種面向磁盤的操作命令,

    • 不區分大小寫,

    • windows給我們保留了類似dos系統的操作界面,可以直接操作磁盤

      控制命令臺:win+r--->cmd
      在這里插入圖片描述

      • 更換盤符:d:
      • 查看當前目錄下的檔案及檔案夾:dir
      • 進入檔案夾:cd 檔案夾的名字
      • 回傳上一級目錄:cd ..
      • 清空螢屏:cls
      • 洗掉檔案:del 檔案名
      • 洗掉檔案夾:rd 檔案夾名稱
      • 退出:exit

六、第一段程式

寫第一段程式之前,我們還需要一個撰寫代碼的工具,我們固然可以用電腦自帶的記事本寫,但問題是程式出問題時不好定位在第幾行出現了問題,你需要一行行找,所以我們安裝一個編輯器,程式出現問題能更好的查找,

我們可以先選擇notepad++ 這樣的文本編輯器,等學到后面可以再使用Eclipse或者IDEA這樣的IDE開發工具 ,

準備作業做好之后,就可以著手寫第一個程式,學習任何技識訓本都愛用HelloWorld作為演示案例,我們也以它作為案例,首先建立一個HelloWorld.java的檔案,里面的代碼如下:

/**
 * 解釋一下注釋,注釋的作用就是方便人閱讀的,程式編譯時會跳過這些注釋,下面這些解釋的文字就是一個個注釋,注釋還分為3種
 * 1、單行注釋:// 注釋的內容
 * 2、多行注釋:/*注釋的內容 */
// 3、檔案注釋:/**注釋的內容*/,此注釋可以配合javadoc.exe生成一套以網頁檔案形式體現的該程式的說明檔案

//public修飾的類是一個公共類只能有一個,這個類的類名必須與檔案名一致
public class HelloWorld {

    //程式的主方法,表示程式的入口,一個類只能有一個主程式入口
    public static void main(String[] args) {

        //輸出陳述句,輸出雙引號中的內容,雙引號中的內容可以隨意改變
        System.out.println("第一段程式!");
    }
}

//一個java檔案可以有多個類,不是public的就好,但是通常我們類和類都是分開的,編譯時一個java源檔案的每個類都會生成一個class檔案
class B{
}

注意:

  • 建立檔案之前把檔案的后綴名打開,如若不然,你創建的檔案還是.txt為后綴名(HelloWorld.java.txt)
  • 如果復制上面的代碼保存時要以ANSI格式保存,要不編譯時會亂碼
  • 所有的標點符號必須是英文,分號和逗號等
  • 有大括號的陳述句都是成對出現的,沒有大括號的陳述句結尾都是以分號結束
  • Java語言嚴格區分大小寫

演示一下如何編譯:

  • 打開cmd視窗,切換到java檔案的路徑下
    在這里插入圖片描述
  • 通過javac命令對該java檔案進行編譯(javac HelloWorld.java)生成.class檔案
    在這里插入圖片描述
  • 通過java命令運行生成的class位元組碼檔案(java HelloWorld)
    在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/60929.html

標籤:Java

上一篇:有個程式員老公是有爽?

下一篇:屢敗屢戰!原來阿里巴巴、騰訊、華為、京東這些大廠的java面試題是考這些?下次金九銀十必定成功

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more