Java--常用類APl(復習總結)

前言:

Java是一種強大而靈活的編程語言,具有廣泛的應用范圍,從桌面應用程序到企業級應用程序都能夠使用Java進行開發。在Java的編程過程中,使用標準類庫是非常重要的,因為標準類庫提供了豐富的類和API,可以簡化開發過程,提高開發效率。本文將介紹一些常用的Java類庫及其API,希望能夠幫助開發人員更好地理解和應用Java編程中的常用工具和功能

目錄

前言:

Object類

定義

?toString方法

?equals方法

Arrays類

equals 方法

?copyof方法

?fill方法

sort( )方法

binarySearch( )方法

toString( )方法

基本數據類型包裝類

Integer包裝類

包裝類轉化為基本類

自動的拆箱

基本類轉為包裝類型

自動裝箱

String類

String的簡單理解

獲取功能的常用方法

轉換功能?

?StringBuffer類

StringBuffer類概述

StringBuffer和String的區別?

添加功能

刪除功能

?替換功能

反轉功能?

截取功能

String類StringBuffer類StringBuilder區別

?Math類

Random類

Date類


Object類

定義

Object類是所有Java類的祖先(根基類).每個類都使用Object 作為超類 (父類).所有對象(包括數組)都繼承實現這個類的方法.

Object可以表示Java中任意的類(體現了多態性)

如果在類的聲明中未使用extends關鍵字指明其基類,則默認基類為Object類

例如:? public class Person {?... }

等價于: public class Person extends Object { ... }

?toString方法

Object類中定義有public String toString()方法,其返回值是 String 類 型,描述當前對象的有關信息

當需要通過輸出語句輸出一個對象時,如System.out.println(person),將自動調用該對象類的 toString()方法,如果該類中沒有重寫toString(),那么默認調用Object類中的toString(),默認輸出對象hashCode值

public class NoOverrideToString {private int id;private String name;public NoOverrideToString(int id, String name) {this.id = id;this.name = name;}public static void main(String[] args) {NoOverrideToString obj = new NoOverrideToString(1, "Example");System.out.println(obj.toString());}
}

打印結果:NoOverrideToString@7ef20235

可以根據需要在用戶自定義類型中重寫toString()方法

public class OverrideToString {private int id;private String name;public OverrideToString(int id, String name) {this.id = id;this.name = name;}@Overridepublic String toString() {return "OverrideToString{" +"id=" + id +", name='" + name + '\'' +'}';}public static void main(String[] args) {OverrideToString obj = new OverrideToString(1, "Example");System.out.println(obj.toString());}
}

打印結果:OverrideToString{id=1, name='Example'}

?equals方法

boolean? equals(Object obj)??用來判斷對象是否相等,返回的是一個boolean值

Object 中的 equals 方法默認使用==比較,比較的是對象地址,這點需要注意.

class Student{int age;String name;public Student(int age, String name) {this.age = age;this.name = name;}//沒有重寫equals方法
}
public class Test {public static void main(String[] args) {//創建二個對象Student a1 = new Student(18, "小明");Student a2 = new Student(18, "小明");//對象比較System.out.println(a1.equals(a2));}
}

運行結果:false

JDK提供的一些類,如String,Date等,重寫了Object的equals方法,調用這些類的equals方法,?x.equals (y) ,當x和y所引用的對象是同一類對象且屬性內容相等返回 true 否則返回 false

class Student{int age;String name;public Student(int age, String name) {this.age = age;this.name = name;}//重寫equals方法@Overridepublic boolean equals(Object obj) {if(obj instanceof Student){Student other =(Student) obj;return name.equals(other.name) && age ==other.age;}return false;}
}
public class Test {public static void main(String[] args) {//創建二個對象Student a1 = new Student(18, "小明");Student a2 = new Student(18, "小明");//對象比較System.out.println(a1.equals(a2));}
}

運行結果:true

關于 " == " :

  • "=="? 比較等號兩邊是否相等

○ 當==用于基本類型比較時,比較的是變量值是否相等。
○ 當==用于引用類型比較時,比較的是對象的地址是否相等

Arrays類

equals 方法

比較兩個數組對象中元素是否相等.

而數組對象中的equals用來判斷與另一個數組對象是否相等

public class Null {public static void main(String[] args) {/*比較兩個數組內容是否相等*/int[] a={1,2,3,4};int[] b={1,2,3,4};System.out.println(Arrays.equals(a,b));}
}

運行結果:false?

?copyof方法

數組復制,將原數組內容復制到一個指定長度新數組中

    public static void main(String[] args) {int[] a = {1,2,3,4};int[] b = Arrays.copyOf(a,4);//將原數組c復制到長度為4的新數組d中System.out.println(Arrays.toString(b));}

打印結果:[1, 2, 3, 4]

?fill方法

?將指定的int值分配給指定的int數組的每個元素

    public static void main(String[] args) {int[] a = {1,2,3,4};Arrays.fill(a,4);System.out.println(Arrays.toString(a));}

運行結果:[4, 4, 4, 4]?

sort( )方法

排序,且可通過索引局部排序

public class Null { 
public static void main(String[] args) {//全部排序int[] a = {5,4,3,2,1};Arrays.sort(a);System.out.println(Arrays.toString(a));//通過索引指定區間排序,tolndex索引對應的值不參與排序int[] b ={6,5,4,3,2,1};Arrays.sort(b,1,4);  //對數組b索引1~4元素排序,所有4不參與System.out.println(Arrays.toString(b));}
}

運行結果:[1, 2, 3, 4, 5]? ?[6, 3, 4, 5, 2, 1]?

binarySearch( )方法

?二分查找,查找前需要先排序

public class Null {public static void main(String[] args) {int[] b ={5,4,6,8,2,1,7};Arrays.sort(b);  //排序后 b={1,2,4,5,6,7,8}int index =Arrays.binarySearch(b,6); //需要找6System.out.println(index);  //輸出索引,排序后6對應的索引為4}
}

運行結果:4

toString( )方法

?將數組中的元素內容拼接成一個字符串輸出

public class Null {public static void main(String[] args) {int[] a={1,2,3,4};System.out.println(a);  //輸出數組地址或首元素地址,不是數組的元素內容System.out.println(Arrays.toString(a));;//通過toString()輸出元素內容}
}

打印結果:[I@14ae5a5]? ? [1, 2, 3, 4]

基本數據類型包裝類

Java中基本數據類型使用8個關鍵字聲明的,不是面向對象的?例如:int a = 10;

Java語言是一個面向對象的語言,但是Java中的基本數據類型卻是不面 向對象的,這在實際使用時存在很多的不便,為了解決這個不足,在設 計類時為每個基本數據類型設計了一個對應的類進表示,這樣八個和基 本數據類型對應的類統稱為包裝類

包裝類(如:Integer,Double等)這些類封裝了一個相應的基本數據 類型數值,并為其提供了一系列操作方法

理解:Java語言是面向對象的,可以為每一個基本類型定義一個類進行表示,這樣我們在類中還是保持一個基本類型變量儲存數據,同時還可以提供許多方法對基本數據變量進行操作.

Integer包裝類

 //一類是靜態方法System.out.println(Integer.toBinaryString(5));//轉為二進制System.out.println(Integer.toHexString(17));//轉為16進制System.out.println(Integer.toOctalString(9));//轉為8進制System.out.println(Integer.max(10,5));//去最大數System.out.println(Integer.compare(8,10));//兩個整數比較大小 1 0 -1//一類是非靜態System.out.println(a.equals(b));//這個是Integer中的equlas的比較 //  這里Integer不可以傳字母 System.out.println(a.compareTo(b));//轉換的方法  包裝類型 轉 基本類型int aa  = a.intValue();int bb = Integer.parseInt("20");//把基本類型 轉為包裝類型int cc = 10;Integer dd = new Integer(cc);Integer ee = Integer.valueOf(cc);

包裝類轉化為基本類

自動的拆箱

int c =? a.intvalue();? ==============>int c = a; //默認自動的調用intvalue這個方法。

基本類轉為包裝類型

自動裝箱

int x = 10;

Integer y = Integer.valueof(x); =============> Integer y = x //這里默認調用的是Integer y = Integer.valueof(x);

自動裝箱時,會默認自動調用valueof()方法

在valueof()中如果 基本類型 在-128——127之間,會在緩存數組中直接取一個Integer對象,減少創建次數,如果二個值相等,獲取同一個對象. 如果不在這個區間,每次都創建一個新的對象.建議一般使用equals用來比較。

String類

String的簡單理解

地址:java.lang.String

java中所有字符串都是此類的實例

"adb"-------> 字符串對象? ? ? 底層是一個char數組??

字符串對象的創建

1.String s ="adb"

創建時,先去字符串池中查找有沒有相同的值的對象,如果沒有,就創建一個字符串對象返回地址,如果字符串常量中已經儲存,不用創建新的,直接返回已經存在的對象的地址。

2.String s1 =? new String("sdc");?

3.字符串創建后不能被改變

注意`:String s = "abc"? ?//這個是創建一個新的對象s賦值是abc,s+ = "fghgh"? ?這個是第二次創建新對象s賦值是abc +?fghgh所以最后s就是abcfghgh

獲取功能的常用方法

  1. int length( ) ? ? ? ? ? 獲取字符串長度
  2. char charAt( ) ? ? ? 獲取指定位置上的字符
  3. int indexOf( ) ? ? ? ? 獲取字符首次出現的位置,也可以從指定位置開始查找
  4. lastIndexOf( ) ? ? ? ?從后往前找
  5. String substring( ) ? ?從指定位置開始截取一個字符串副本
String str = "Hello, World!";
int len = str.length(); // 獲取字符串長度
char ch = str.charAt(7); // 獲取索引位置為7的字符
int index = str.indexOf("o"); // 查找字符'o'第一次出現的位置
int lastIndex = str.lastIndexOf("o"); // 從后往前查找字符'o'出現的位置
String sub = str.substring(1, 5); // 從索引1開始截取到索引5的子字符串System.out.println("Length: " + len);
System.out.println("Character at index 7: " + ch);
System.out.println("Index of 'o': " + index);
System.out.println("Last index of 'o': " + lastIndex);
System.out.println("Substring from index 1 to 5: " + sub);

打印結果:

Length: 13
Character at index 7: W
Index of 'o': 4
Last index of 'o': 8
Substring from index 1 to 5: ello

轉換功能?

  1. byte[] getBytes()

    • 這個方法返回字符串的字節數組表示形式。它將字符串轉換為字節數組,使用的編碼取決于平臺的默認字符集。
  2. char[] toCharArray()

    • 返回一個字符數組,包含了字符串中的所有字符。每個字符在數組中的位置對應字符串中的相同位置。
  3. static String valueOf(char[] chs)

    • 這是一個靜態方法,接受一個字符數組?chs?并返回一個新的字符串,包含?chs?中的字符內容。
  4. String toLowerCase()

    • 返回一個新字符串,其中所有的字符都被轉換為小寫形式。
  5. String toUpperCase()

    • 返回一個新字符串,其中所有的字符都被轉換為大寫形式。
  6. String concat(String str)

    • 將指定的字符串?str?連接到調用字符串的末尾,并返回一個新的字符串。相當于使用?+?運算符進行字符串拼接。
  7. String[] split(String regex)

    • 根據給定的正則表達式?regex?將字符串拆分為子字符串數組。返回的數組包含了根據分隔符?regex?分割的多個子字符串。
  8. replace(char old, char new)

    • 這個方法用于將字符串中的指定字符old替換為新字符new
  9. replace(String old, String new)

    • 這個方法用于將字符串中的指定子字符串old替換為新的子字符串new
  10. replaceAll(String regex, String replacement)

    • 這個方法用于根據正則表達式regex,替換字符串中匹配正則表達式的部分為指定的replacement字符串
  11. replaceFirst(String regex, String replacement)

    • 這個方法與replaceAll類似,不同的是它只替換匹配正則表達式regex的第一個部分
  12. ?String?trim( )

    • ?去除字符串兩端空格(字符串中間的空格不能去除

?StringBuffer類

StringBuffer類概述

我們如果對字符串進行拼接操作,每次拼接,都會構建一個新的String 對象,既耗時,又浪費空間。而StringBuffer就可以解決這個問題線程安全的可變字符序列

StringBuffer和String的區別?

String可以直接創建字符串對象,而StringBuffer不能,需要新創建一個字符串對象

          String s1 = "abc";StringBuffer s2 = new StringBuffer("abc");

String:

  • String?類是不可變的(immutable)。這意味著一旦一個?String?對象被創建,它的內容不能被更改。任何看似修改?String?內容的操作實際上是創建了一個新的?String?對象

StringBuffer:

  • StringBuffer?是可變的(mutable)。它允許修改其內容,而不創建新的對象。

添加功能

public StringBuffer append(String str)

  1. 該方法用于將指定的字符串?str?添加到當前?StringBuffer?對象的末尾
  2. 返回的是修改后的?StringBuffer?對象本身
StringBuffer sb = new StringBuffer("Hello");
sb.append(" World");
// 現在 sb 包含 "Hello World"

public StringBuffer insert(int offset,String str)

  1. 該方法將指定的字符串?str?插入到當前?StringBuffer?對象中的指定?offset?位置處
  2. 返回的是修改后的?StringBuffer?對象本身
StringBuffer sb = new StringBuffer("Hello");
sb.insert(5, " World");
// 現在 sb 包含 "Hello World"

刪除功能

public StringBuffer deleteCharAt(int index)

  1. 該方法用于刪除當前?StringBuffer?對象中指定?index?處的字符
  2. 返回的是修改后的?StringBuffer?對象本身
StringBuffer sb = new StringBuffer("Hello World");
sb.deleteCharAt(5);
// 現在 sb 包含 "HelloWorld",即刪除了第 5 個位置上的空格

?public StringBuffer delete(int start, int end)

  1. 該方法用于刪除當前?StringBuffer?對象中從?start?到?end-1?范圍內的子字符串
  2. 返回的是修改后的?StringBuffer?對象本身
StringBuffer sb = new StringBuffer("Hello World");
sb.delete(5, 11);
// 現在 sb 包含 "Hello",即刪除了從第 5 個位置(包括)到第 11 個位置(不包括)之間的字符

?替換功能

public StringBuffer replace(int start, int end, String str)

  1. 該方法用于將當前?StringBuffer?對象中從?start?到?end-1?范圍內的子字符串用指定的字符串?str?替換
  2. 返回的是修改后的?StringBuffer?對象本身
StringBuffer sb = new StringBuffer("Hello World");
sb.replace(6, 11, "Java");
// 現在 sb 包含 "Hello Java",即將從第 6 個位置(包括)到第 11 個位置(不包括)之間的子字符串替換為 "Java"

反轉功能?

public StringBuffer reverse()

  1. 該方法用于反轉當前?StringBuffer?對象中的字符序列
  2. 返回的是修改后的?StringBuffer?對象本身
StringBuffer sb = new StringBuffer("Hello");
sb.reverse();
// 現在 sb 包含 "olleH",即原字符串的字符順序被反轉了

截取功能

public String substring(int start)

  1. 該方法用于從當前?StringBuffer?對象中提取從?start?位置到末尾的子字符串
  2. 返回的是一個新的?String?對象,包含從?start?位置到末尾的字符序列
StringBuffer sb = new StringBuffer("Hello World");
String sub1 = sb.substring(6);
// sub1 現在包含 "World",即從第 6 個位置(包括)開始直到末尾的子字符串

?public String substring(int start, int end)

  1. 該方法用于從當前?StringBuffer?對象中提取從?start?到?end-1?的子字符串
  2. 返回的是一個新的?String?對象,包含從?start?到?end-1?的字符序列
StringBuffer sb = new StringBuffer("Hello World");
String sub2 = sb.substring(6, 11);
// sub2 現在包含 "World",即從第 6 個位置(包括)到第 11 個位置(不包括)之間的子字符串

截取功能和前面幾個功能的不同

返回值類型是String類型,本身沒有發生改變

StringBuilder類功能和StringBuffer功能完全一致, StringBuffer是線程安全

String類StringBuffer類StringBuilder區別

  1. 可變性:

    • String:是不可變類,一旦創建,內容不可更改。每次對?String?類型的操作(如拼接、替換等)都會創建一個新的?String?對象。
    • StringBuffer:是可變類,線程安全(即是同步的)。它支持在字符串中進行添加、插入、刪除和替換字符或子串的操作,而不會創建新的對象。
    • StringBuilder:也是可變類,但不是線程安全的。它和?StringBuffer?的 API 是相同的,但沒有實現同步,因此在單線程環境下性能更好。
  2. 線程安全性:

    • String:不涉及線程安全問題,因為不可變性保證了在多線程環境下不會發生競態條件。
    • StringBuffer:是線程安全的,因為它的關鍵操作使用了synchronized關鍵字進行同步,可以安全地在多線程環境下使用。
    • StringBuilder:不是線程安全的,因此在單線程環境下性能比?StringBuffer?更好,但在多線程環境下需要手動處理同步問題。
  3. 性能:

    • 操作少量數據時,String?的性能通常比較好,因為不涉及額外的內存分配和復制操作
    • 操作大量數據或需要頻繁修改字符串時,StringBuffer?和?StringBuilder?的性能會更好,因為它們支持可變操作而不需要創建新對象

?Math類

其方法的參數和返回值類型一般為double型

abs(double a)

  • 功能:返回參數?a?的絕對值。
  • 示例:
double x = -10.5;
double absX = Math.abs(x); // absX 的值為 10.5

sqrt(double a)

  • 功能:返回參數?a?的平方根。
  • 示例:
double y = 25.0;
double sqrtY = Math.sqrt(y); // sqrtY 的值為 5.0

pow(double a, double b)

  • 功能:返回?a?的?b?次冪。
  • 示例
double base = 2.0;
double exponent = 3.0;
double result = Math.pow(base, exponent); // result 的值為 8.0 (2的3次方)

max(double a, double b)

  • 功能:返回?a?和?b?中的較大值。
  • 示例:
double m = 10.5;
double n = 8.0;
double maxVal = Math.max(m, n); // maxVal 的值為 10.5

min(double a, double b)

  • 功能:返回?a?和?b?中的較小值。
  • 示例
double p = -3.0;
double q = 0.5;
double minVal = Math.min(p, q); // minVal 的值為 -3.0

random()

  • 功能:返回一個大于等于 0.0 且小于 1.0 的隨機?double?類型的數。
  • 示例
double rand = Math.random(); // rand 的值為 0.0 到 1.0 之間的隨機數

long round(double a)

  • 功能:將?double?類型的參數?a?四舍五入為?long?類型。
  • 示例:
double num = 10.6;
long roundedNum = Math.round(num); // roundedNum 的值為 11

Random類

? ? ?首先要創建Random對象? ?//Random? random = new Random();

? ? ?random.nextBoolean=====> 隨機返回一個布爾值

? ? ?random.?nextInt()? ? ? ?//隨機返回一個int類型的數

? ? ?random.?nextInt(int n)? // 隨機返回一個超過n的int數

import java.util.Random;public class RandomExample {public static void main(String[] args) {Random random = new Random();// 生成隨機布爾值boolean randomBoolean = random.nextBoolean();System.out.println("Random Boolean: " + randomBoolean);// 生成隨機整數int randomInt = random.nextInt();System.out.println("Random Integer: " + randomInt);// 生成指定范圍內的隨機整數int n = 100; // 指定范圍int randomIntInRange = random.nextInt(n);System.out.println("Random Integer within range [0, " + n + "): " + randomIntInRange);}
}

運行結果

Random Boolean: true
Random Integer: 123456789
Random Integer within range [0, 100): 42

Date類

使用Date類代表當前系統時間

Date d = new Date();

Date d = new Date(long d);

?d.getTime()? ?獲取1970.1.1 0.0.0? 至程序運行時刻的毫秒值

lomg d是一個時間戳? 將指定的long類型的時間戳構造出一個對象?

作者建議:學習知識在于深度理解,多動手、多動腦,總能更快地領悟。不要僅僅停留在閱讀代碼的層面,親自動手敲打一遍,會帶來更豐富的收獲。通過實踐,我們能夠更深入地理解知識,掌握技能,并且在解決問題時更加得心應手。相信自己的能力,堅持不懈地實踐,你將會取得更大的進步和成就。讓學習成為一種習慣,讓動手實踐成為你提升的捷徑,加油!你是最棒的!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/37847.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/37847.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/37847.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【接口自動化測試】第三節.實現項目核心業務接口自動化

文章目錄 前言一、實現登錄接口對象封裝和調用 1.0 登錄接口的接口測試文檔 1.1 接口對象層(封裝) 1.2 測試腳本層(調用)二、課程新增接口對象封裝和調用 2.0 課程新增接口的接口測試文檔 2.1 接口對象層…

AVL樹模擬

1.概念 雖然二叉搜索樹可以縮短查找的效率,但如果數據有序或者接近有序時二叉搜索樹樹將退化為單支樹,查找元素相當于在順序表中搜索元素,效率低下。AVL 樹是具有一下性質的二叉搜索樹: 1.它的左右子樹都是AVL樹 2.左右子…

Mac 如何安裝 wget

1.安裝 Homebrew2.安裝 wget3.檢測 wget 是否安裝成功 1.安裝 Homebrew 在安裝 wget 之前需要安裝一個適用于 mac 的包管理器 Homebrew,打開 mac 終端執行如下命令進行安裝: /usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/h…

【Git】GitIgnore不生效

這里可能有兩種原因,一個沒有刷新Git緩存,二是Git忽略規則有問題 更新Git緩存 git rm -r --cached . git add . git commit -m "modify git ignore rule"Ignore規則 檢查下忽略文件的目錄表示是否正確 XXX忽略任意目錄下名為XXX的文件 …

新手第一個漏洞復現:MS17-010(永恒之藍)

文章目錄 漏洞原理漏洞影響范圍復現環境復現步驟 漏洞原理 漏洞出現在Windows SMB v1中的內核態函數srv!SrvOs2FeaListToNt在處理FEA(File Extended Attributes)轉換時。該函數在將FEA list轉換成NTFEA(Windows NT FEA)list前&am…

【Golang - 90天從新手到大師】Day14 - 方法和接口

一. go方法 go方法:在函數的func和函數名間增加一個特殊的接收器類型,接收器可以是結構體類型或非結構體類型。接收器可以在方法內部訪問。創建一個接收器類型為Type的methodName方法。 func (t Type) methodName(parameter list) {}go引入…

在 MATLAB 中顯示 3D 圖像

文章目錄 前言1. 曲面圖 (Surface Plot)2. 網格圖 (Mesh Plot)3. 散點圖 (Scatter Plot)4. 等值線圖 (Contour Plot) 前言 提示:這里可以添加本文要記錄的大概內容: 項目需要: 提示:以下是本篇文章正文內容,下面案例…

享元模式(設計模式)

享元模式(Flyweight Pattern)是一種結構型設計模式,它通過共享細粒度對象來減少內存使用,從而提高性能。在享元模式中,多個對象可以共享相同的狀態以減少內存消耗,特別適合用于大量相似對象的場景。 享元模…

解決“Duplicate keys detected: ‘ ‘.This may cause an update error.”問題

問題原因 出現“Duplicate keys detected”的錯誤,通常表示在v-for指令中使的:key綁定值有重復。 如果前端是靜態數據,一般能自我避免:key綁定值有重復。如果前端是綁定的動態數據,那么需要另外提供一個唯一的鍵。 在這個例子中&#xff0c…

【LeetCode】接雨水

目錄 一、題目二、解法完整代碼 一、題目 給定 n 個非負整數表示每個寬度為 1 的柱子的高度圖,計算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 輸入:height [0,1,0,2,1,0,1,3,2,1,2,1] 輸出:6 解釋&#xff…

面向對象,常用類,集合,異常,JDBC,mysql數據庫內容的復習,

1,面向對象 面向對象與面向過程對比 面向過程:關注過程,適合解決簡單直接的問題,代碼結構以函數為單位,如C語言。 面向對象:關注類,適合解決復雜問題更加適合解決復雜的項目中的問題等等&…

跨平臺編程:在Conda中搭建R語言環境的終極指南

🌐 跨平臺編程:在Conda中搭建R語言環境的終極指南 🌐 在數據科學和統計分析領域,R語言以其強大的數據處理能力和豐富的圖形表示功能而廣受歡迎。然而,對于習慣了使用Linux操作系統的用戶來說,如何方便地在…

【UML用戶指南】-23-對高級行為建模-狀態機

目錄 1、概述 2、狀態 2.1、狀態的組成 3、轉移 3.1、轉移的組成 4、高級狀態和轉移 4.1、進入效應和退出效應 4.2、內部轉移 4.3、do活動 4.4、延遲事件 4.5、子狀態機 5、子狀態 5.1、非正交子狀態 5.2、歷史狀態 5.3、正交子狀態 6、分叉與匯合 7、主動對象…

GOROOT GOPATH GOPROXY GO111MODULE

GOROOT GOROOT代表Go的安裝目錄。可執行程序go(或go.exe)和gofmt(或gofmt.exe)位于 GOROOT/bin目錄中。 配置GOROOT環境變量,其值為Go的安裝目錄;然后在環境變量PATH中添加GOROOT/bin路徑。 注意:GOROOT變量只是代表了安裝目錄,不…

泛型的實際應用示例

泛型的實際應用示例 1. 集合框架中的泛型 在Java的集合框架中,泛型被廣泛使用以確保類型安全并減少運行時錯誤。以下是一個使用泛型ArrayList的示例: java import java.util.ArrayList; import java.util.List; public class GenericCollectionsExamp…

【面試題】信息系統安全運維要做什么

信息系統安全運維是確保信息系統穩定、可靠、安全運行的一系列活動和措施。 其主要包括以下幾個方面: 1.系統監控: 實時監測信息系統的運行狀態,如服務器的性能指標、網絡流量、應用程序的運行情況等。通過監控工具,及時發現系統…

企業數據治理的下一步是數據資產管理?

隨著信息技術的飛速發展和數字化轉型的深入推進,企業數據已成為驅動業務增長和創新的核心要素。當企業數據治理工作取得顯著成效后,如何進一步發揮數據的價值,實現數據資產的有效管理,成為企業面臨的重要課題。 數據治理的基石作用…

算法練習——函數、遞歸和遞推

在此記錄一些有關函數、遞歸和遞推的問題。所有題目均來自洛谷的題單能力提升綜合題單Part1 入門階段 - 題單 - 洛谷 | 計算機科學教育新生態 (luogu.com.cn) (實際上都沒有用遞推做) [NOIP2001 普及組] 數的計算 題目描述 給出正整數 n n n&#xf…

學習感悟丨在譽天學習數通HCIP怎么樣

大家好,我是譽天學員的徐同學,學習的數通HCIP課程。 在學校的時候,聽說下半年就要出去實習了,心中坎坷不安,現在我學到的知識遠遠不夠的。然后就想著學點東西充實一下自己的知識面和專業能力,有一次和同學談…

【漏洞復現】飛企互聯——SQL注入

聲明:本文檔或演示材料僅供教育和教學目的使用,任何個人或組織使用本文檔中的信息進行非法活動,均與本文檔的作者或發布者無關。 文章目錄 漏洞描述漏洞復現測試工具 漏洞描述 飛企互聯-FE企業運營管理平臺是一個基于云計算、智能化、大數據…