Java对象一口气讲完!φ(* ̄0 ̄)

Java Object类

Java面向对象设计 -  Java Object类

Java在java.lang包中有一个Object类。

所有Java类都直接或间接扩展Object类。

所有Java类都是Object类的子类Object类是所有类的超类。

Object类本身没有超类。

Object类的引用变量可以保存任何类的对象的引用。

以下代码声明对象类型的引用变量obj:

Object obj;

方法

Object类有九个方法,可以在Java中的所有类中使用。

  • public String toString()
    它是实现在Object类中,我们可以自定义它。
    它返回对象的字符串表示形式。
    通常,它用于调试目的。
  • public boolean equals(Object obj)
    它在Object类中实现,我们可以自定义它。
    它用于比较两个对象的相等性。
  • public int hashCode()
    它在Object类中实现,我们可以自定义它。
    它返回对象的哈希码(整数)值。
  • protected Object clone() throws
    CloneNotSupportedException
    它不在Object类中实现,我们可以通过覆盖克隆方法来自定义它。
    它用于创建对象的副本。
  • protected void finalize() throws Throwable
    它不是在Object类中实现,我们可以自定义它
    它在对象被销毁之前被垃圾收集器调用。
  • public final Class getClass()
    它在Object类中实现,我们不能自定义它。
    它返回对对象的Class对象的引用。
  • public final void notify()
    它是在Object类中实现的,我们不能自定义它。
    此方法通知对象的等待队列中的一个线程。
  • public final void notifyAll()
    它是在Object类中实现的,我们不能自定义它。
    此方法通知对象的等待队列中的所有线程。
  • public final void wait() throws InterruptedException
    public final void wait(long timeout) throws InterruptedException
    public final void wait (long timeout, int nanos) throws InterruptedException
    它是在Object类中实现的,我们不能自定义它。
    使对象的等待队列中的线程等待,无论是否超时。

例子

以下代码显示如何重新实现Object类的toString()方法。

public class Test   {public String toString()  {return "Here  is a  string";}
}

什么是对象类?

Java中的每个对象都属于一个类。

Object类的getClass()方法返回Class对象的引用。

以下代码显示了如何获取Cat对象的Class对象的引用:

Cat  c  = new Cat();
Class catClass  = c.getClass();

Class类是通用的,其形式类型参数是由其对象表示的类的名称。

我们可以使用泛型重写上面的语句。

Class<Cat>   catClass = c.getClass();

Java HashCode(哈希码)

Java面向对象设计 - Java哈希码

Object的哈希码

哈希码是一个整数值。计算整数的算法称为散列函数。

Java使用散列码从基于散列的集合中有效地检索数据。

Object类有一个返回int的hashCode()方法,它是对象的哈希码。

该方法的默认实现通过将对象的内存地址转换为整数来计算对象的哈希码。

下面是我们在类中重写hashCode()方法时必须遵循的规则。

假设有两个对象引用,x和y。

如果x.equals(y)返回true,x.hashCode()必须返回一个整数,它等于y.hashCode()。

如果两个对象使用equals()方法相等,则它们必须具有相同的哈希码。

如果x.hashCode()等于y.hashCode(),则x.equals(y)不必返回true。

如果对同一个对象多次调用hashCode()方法,则该方法必须返回相同的整数值。

如果一个类覆盖这两个方法中的任何一个,它必须覆盖该类的对象在基于散列的集合中正确工作。

Java 7添加了一个实用程序类java.lang.Objects。它包含一个hash()方法,用于计算任意数量值的哈希码。

从java 7,使用Objects.hash()方法来计算对象的哈希码。

例子

以下代码显示如何计算哈希值。

class Book {private String title;private String author;public int hashCode() {int hash = 37;int code = 0;// Use titlecode = (title == null ? 0 : title.hashCode());hash = hash * 59 + code;// Use authorcode = (author == null ? 0 : author.hashCode());hash = hash * 59 + code;return hash;}
}

Java Object.Equals方法

Java面向对象设计 - Java Object.Equals方法

以下代码显示如何实现equals()和hashCode()方法

class Point {private int x;private int y;public Point(int x, int y) {this.x = x;this.y = y;}/* implement the equals() method */public boolean equals(Object otherObject) {// Are the same?if (this == otherObject) {return true;}// Is otherObject a null reference?if (otherObject == null) {return false;}// Do they belong to the same class?if (this.getClass() != otherObject.getClass()) {return false;}// Get the reference of otherObject in a SmartPoint variablePoint otherPoint = (Point) otherObject;// Do they have the same x and y co-ordinatesboolean isSamePoint = (this.x == otherPoint.x && this.y == otherPoint.y);return isSamePoint;}/** implement hashCode() method of the Object class, which is a requirement* when you implement equals() method*/public int hashCode() {return (this.x + this.y);}
}public class Main {public static void main(String[] args) {Point pt1 = new Point(10, 10);Point pt2 = new Point(10, 10);Point pt3 = new Point(12, 19);Point pt4 = pt1;System.out.println("pt1 == pt1: " + (pt1 == pt1));System.out.println("pt1.equals(pt1): " + pt1.equals(pt1));System.out.println("pt1 == pt2: " + (pt1 == pt2));System.out.println("pt1.equals(pt2): " + pt1.equals(pt2));System.out.println("pt1 == pt3: " + (pt1 == pt3));System.out.println("pt1.equals(pt3): " + pt1.equals(pt3));System.out.println("pt1 == pt4: " + (pt1 == pt4));System.out.println("pt1.equals(pt4): " + pt1.equals(pt4));}
}

上面的代码生成以下结果。

注意

这里是equals()方法的实现的规范。假设x,y和z是三个对象的非空引用。

  • 自反性。表达式x.equals(x)应该返回true。
  • 对称性。如果x.equals(y)返回true,y.equals(x)必须返回true。
  • 传递性。如果x.equals(y)返回true,y.equals(z)返回true,则x.equals(z)必须返回true。
  • 一致性。如果x.equals(y)返回true,它应该保持返回true,直到x或y的状态被修改。如果x.equals(y)返回false,它应该保持返回false,直到x或y的状态被修改。
  • 与空引用的比较:任何类的对象不应等于空引用。表达式x.equals(null)应始终返回false。
  • 与hashCode()方法的关系:如果x.equals(y)返回true,x.hashCode()必须返回与y.hashCode()相同的值。


Java Object.toString方法

Java面向对象设计 - Java Object.toString方法

对象的字符串表示应以可读格式包含有关对象状态的足够信息。

Object类的toString()方法表示字符串中类的对象。

Object类提供了toString()方法的默认实现。它返回一个以下格式的字符串:

<fully qualified class name>@<hash code of object in hexadecimal>

例子

考虑下面的代码及其输出。您可能会得到不同的输出。

public class Main{public static void main(String[] argv){Object obj  = new Object();String objStr = obj.toString();System.out.println(objStr);}
}

上面的代码生成以下结果。

例2

以下代码显示了如何创建自己的toString方法。

public class Main{public static void main(String[] argv){MyClass obj  = new MyClass(123);String objStr = obj.toString();System.out.println(objStr);}
}
class MyClass {private int value;public MyClass(int value) {this.value = value;}public void setValue(int value) {this.value = value;}public int getValue() {return value;}/* override toString() method of the Object class */public String toString() {// Return the stored value as a stringString str = String.valueOf(this.value);return str;}
}

上面的代码生成以下结果。

注意

您需要确保它被声明为public,它的返回类型是String,并且它不接受任何参数。

类的toString()方法非常重要。当需要对象的字符串表示时,Java会自动调用toString()方法。

有两种情况值得一提:

当你连接一个字符串和一个对象

String str = "Hello" + new Point(10, 20);

Java在Point对象上调用toString()方法,并将返回的值连接到“Hello"字符串。

上述语句与以下语句相同:

String str = "Hello" + new Point(10, 20).toString();

Java Object.Clone方法

Java面向对象设计 - Java Object.Clone方法

Java不提供克隆(复制)对象的自动机制。

克隆对象意味着逐位复制对象的内容。

要支持克隆操作,请在类中实现clone()方法。

Object类中的clone()方法的声明如下:

protected  Object clone()  throws   CloneNotSupportedException

clone()方法声明为protected。因此,我们不能从客户端代码调用它。以下代码无效:

Object obj  = new Object();
Object clone = obj.clone(); // Error. Cannot  access protected clone() method

我们需要在类中声明clone()方法public克隆类的对象。

它的返回类型是Object。这意味着您将需要转换clone()方法的返回值。

假设MyClass是可克隆的。克隆代码将如下所示:

MyClass mc  = new MyClass();
MyClass clone = (MyClass)mc.clone(); // Need to use  a  cast

Object类中的clone()方法会抛出CloneNotSupportedException。

要调用clone()方法,我们需要将调用放在try-catch块中,或者重新抛出异常。

例子

以下代码显示了如何实现克隆方法。

class MyClass implements Cloneable {private double value;public MyClass(double value) {this.value = value;}public void setValue(double value) {this.value = value;}public double getValue() {return this.value;}public Object clone() {MyClass copy = null;try {copy = (MyClass) super.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return copy;}
}public class Main {public static void main(String[] args) {MyClass dh = new MyClass(100.00);MyClass dhClone = (MyClass) dh.clone();System.out.println("Original:" + dh.getValue());System.out.println("Clone :" + dhClone.getValue());dh.setValue(200.00);dhClone.setValue(400.00);System.out.println("Original:" + dh.getValue());System.out.println("Clone :" + dhClone.getValue());}
}

上面的代码生成以下结果。

Original:100.0
Clone :100.0
Original:200.0
Clone :400.0

例2

以下代码不从clone方法返回对象类型,该方法仅在Java 5或更高版本中编译。

class MyClass  implements Cloneable  {public MyClass clone()  { Object copy  = null;return  (MyClass)copy;}
}

下面的代码展示了如何做浅层克隆。

class MyClass implements Cloneable {private double value;public MyClass(double value) {this.value = value;}public void setValue(double value) {this.value = value;}public double getValue() {return this.value;}public Object clone() {MyClass copy = null;try {copy = (MyClass) super.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return copy;}
}class ShallowClone implements Cloneable {private MyClass holder = new MyClass(0.0);public ShallowClone(double value) {this.holder.setValue(value);}public void setValue(double value) {this.holder.setValue(value);}public double getValue() {return this.holder.getValue();}public Object clone() {ShallowClone copy = null;try {copy = (ShallowClone) super.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return copy;}
}public class Main {public static void main(String[] args) {ShallowClone sc = new ShallowClone(100.00);ShallowClone scClone = (ShallowClone) sc.clone();System.out.println("Original:" + sc.getValue());System.out.println("Clone :" + scClone.getValue());sc.setValue(200.00);System.out.println("Original:" + sc.getValue());System.out.println("Clone :" + scClone.getValue());}
}

上面的代码生成以下结果。

例3

ShallowClone类的clone()方法中的代码与MyClass类的clone()方法相同。

当ShallowClone类使用super.clone()调用Object类的clone()方法时,它会接收自身的浅拷贝。也就是说,它与其克隆共享其实例变量中使用的DoubleHolder对象。

在深层克隆中,您需要克隆对象的所有引用实例变量引用的所有对象。

class MyClass implements Cloneable {private double value;public MyClass(double value) {this.value = value;}public void setValue(double value) {this.value = value;}public double getValue() {return this.value;}public Object clone() {MyClass copy = null;try {copy = (MyClass) super.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return copy;}
}class DeepClone implements Cloneable {private MyClass holder = new MyClass(0.0);public DeepClone(double value) {this.holder.setValue(value);}public void setValue(double value) {this.holder.setValue(value);}public double getValue() {return this.holder.getValue();}public Object clone() {DeepClone copy = null;try {copy = (DeepClone) super.clone();copy.holder = (MyClass) this.holder.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return copy;}
}public class Main {public static void main(String[] args) {DeepClone sc = new DeepClone(100.00);DeepClone scClone = (DeepClone) sc.clone();System.out.println("Original:" + sc.getValue());System.out.println("Clone :" + scClone.getValue());sc.setValue(200.00);System.out.println("Original:" + sc.getValue());System.out.println("Clone :" + scClone.getValue());}
}

上面的代码生成以下结果。

Java Object.Finalize方法

Java面向对象设计 - Java Object.Finalize方法

Java提供了一种在对象即将被销毁时执行资源释放的方法。

在Java中,我们创建对象,但是我们不能销毁对象。

JVM运行一个称为垃圾收集器的低优先级特殊任务来销毁不再引用的所有对象。

垃圾回收器给我们一个机会,在对象被销毁之前执行清理代码。

Object类有一个finalize()方法,声明如下:

protected void  finalize() throws   Throwable  {  }

Object类中的finalize()方法不会做任何事情。

你需要覆盖你的类中的方法。

您的类的finalize()方法将在您的类的对象销毁之前由垃圾回收器调用。

例子

以下代码显示了如何创建一个Finalize类覆盖对象类的finalize()方法。

class Finalize {private int x;public Finalize(int x) {this.x = x;}public void finalize() {System.out.println("Finalizing " + this.x);}
}public class Main {public static void main(String[] args) {for (int i = 0; i < 20000; i++) {new Finalize(i);}}
}

上面的代码生成以下结果。


Java Immutable(不可变)对象

Java面向对象设计 - Java不可变对象

在创建状态后无法更改其状态的对象称为不可变对象。

一个对象不可变的类称为不可变类。

不变的对象可以由程序的不同区域共享而不用担心其状态改变。

不可变对象本质上是线程安全的。

例子

以下代码创建了不可变类的示例。

public  class  IntWrapper {private  final  int  value;public IntWrapper(int value) {this.value = value;}public int  getValue() {return value;}
}

注意

这是如何创建IntWrapper类的对象:

IntWrapper wrapper  = new IntWrapper(101);

在这一点上,包装器对象保持101,并且没有办法改变它。

因此,IntWrapper类是一个不可变的类,它的对象是不可变的对象。

最好将所有实例变量声明为final,这样Java编译器将在编译期间强制实现不可变性。

Java Objects类

Java面向对象设计 - Java Objects类

Java在java.util包中有一个实用程序类Objects用于处理对象。

它由所有静态方法组成。 Objects类中的大多数方法都会优雅地处理空值。

以下是类中的方法列表。他们的描述遵循列表。

  • int compare(T a, T b, Comparator c)
    如果参数相同,则返回0,否则返回c.compare(a,b)。因此,如果两个参数都为null,则返回0。
  • boolean deepEquals(Object a, Object b)
    检查两个对象是否相等。如果两个参数都相等,则返回true。否则,它返回false。如果两个参数都为null,则返回true。
  • boolean equals(Object a, Object b)
    比较两个对象是否相等。如果两个参数相等,则返回true。否则,它返回false。如果两个参数都为null,则返回true。
  • int hash(Object... values)
    为所有指定的对象生成哈希码。它可以用于计算对象的哈希码,该哈希码基于多个实例字段。
  • int hashCode(Object o)
    返回指定对象的哈希码值。如果参数为null,则返回0。
  • boolean isNull(Object obj)
    如果指定的对象为null,isNull()方法返回true。否则,它返回false。您还可以使用比较运算符==检查对象是否为null,例如,obj == null返回obj的true为null。
  • boolean nonNull(Object obj)
    执行与isNull()方法相反的检查。
  • T requireNonNull(T obj)
    T requireNonNull(T obj, String message)
    T requireNonNull(T obj, Supplier messageSupplier)
    检查参数是否为null。如果参数为null,它会抛出一个NullPointerException异常。此方法设计用于验证方法和构造函数的参数。
    第二个版本可以指定当参数为null时抛出的NullPointerException的消息。
    第三个版本的方法将一个Supplier作为第二个参数。
  • String toString(Object o)
    String toString(Object o, String nullDefault)
    如果参数为null,则toString()方法返回一个“null”字符串。对于非空参数,它返回通过调用参数的toString()方法返回的值。

HashCode

下面的代码演示了如何使用来自Objects类的方法来计算哈希码。

import java.util.Objects;public class Main {public static void main(String[] args) {// Compute hash code for two integers, a char, and a stringint hash = Objects.hash(10, 800, "\u20b9", "Hello");System.out.println("Hash Code is " + hash);}
}

上面的代码生成以下结果。

equals

以下代码显示了如何使用Objects类中的equals方法来比较两个对象。

import java.util.Objects;public class Main {public static void main(String[] args) {// Test for equalityboolean isEqual = Objects.equals(null, null);System.out.println("null is  equal to null:  " + isEqual);isEqual = Objects.equals(null, "XYZ");System.out.println("null is  equal to XYZ: " + isEqual);}
}

上面的代码生成以下结果。

toString

以下代码显示如何使用toString方法从对象将对象转换为字符串。

import java.util.Objects;public class Main {public static void main(String[] args) {// toString() method testSystem.out.println("toString(null) is  " + Objects.toString(null));System.out.println("toString(null, \"XXX\")  is "+ Objects.toString(null, "XXX"));}
}

上面的代码生成以下结果。

requireNonNull

以下代码显示如何使用Objects类中的requireNonNull。

import java.time.Instant;
import java.util.Objects;
import java.util.function.Supplier;public class Main {public static void main(String[] args) {try {printName("A");printName(null);} catch (NullPointerException e) {System.out.println(e.getMessage());}try {Supplier<String> messageSupplier = () -> "Name is  required. Error generated on  "+ Instant.now();printNameWithSuplier("asdf", messageSupplier);printNameWithSuplier(null, messageSupplier);} catch (NullPointerException e) {System.out.println(e.getMessage());}}public static void printName(String name) {Objects.requireNonNull(name, "Name is required.");System.out.println("Name is " + name);}public static void printNameWithSuplier(String name,Supplier<String> messageSupplier) {Objects.requireNonNull(name, messageSupplier);}
}

上面的代码生成以下结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145599.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

OSPFv3协议几类LSA介绍

OSPFv3协议介绍 与OSPFv2相比&#xff0c;OSPFv3在工作机制上与OSPFv2基本相同&#xff1b;但为了支持IPv6地址格式&#xff0c;OSPFv3对OSPFv2做了一些改动。OSPFv3基于OSPFv2基本原理增强&#xff0c;是一个独立的路由协议&#xff08;v3不兼容v2&#xff09;协议号仍然是89…

竹云赋能“中国·贵州”全省统一移动应用平台建设,打造政务服务“新引擎”

近日&#xff0c;2024中国国际大数据产业博览会在贵州贵阳圆满落幕。会上&#xff0c;由贵州省政府办公厅牵头建设的“中国贵州”全省统一移动应用平台正式发布&#xff0c;聚焦民生办事、政务公开、政民互动、扁平高效、数据赋能五大模块&#xff0c;旨在打造公平普惠的服务平…

Hbase操作手册

一&#xff1a;Hbase 创建数据库表 1.进入hbase shell 2.创建数据库表的命令&#xff1a;create 表名, 列族名1,列族名2,列族名N 3.如果想查看所有数据库表&#xff0c;可以使用list 命令&#xff1a; 4.可以看到&#xff0c;刚创建的数据库表user 已经在数据库表的列表中&…

单元格左边放文字右边放按钮

1 . 代码 /* 添加到你的CSS文件中 */ .switch-td { display: flex; justify-content: space-between; /* 两端对齐&#xff0c;这样文本和开关会分别靠左和靠右 */ align-items: left; /* 垂直居中 */ } /* 如果你不想改变其他<td>的默认左对齐&#xff0c;…

TTF与图片之间的相互转换,使用python,potrace,fontforge

概述 TTF是字体文件格式&#xff0c;里面存储的是矢量化的字体信息。TTF与图片之间的相互转换简单描述如下&#xff1a; 使用python中的PIL&#xff08;pillow&#xff09;图像库可以实现TTF转图片使用potrace可以将图片转为矢量文件svg&#xff0c;再进一步使用fontforge可以…

一天认识一个硬件之连接线

我们在日常工作生活中经常会用到许多连接线&#xff0c;比如视频线&#xff0c;USB线&#xff0c;但是他们的区别在哪里&#xff0c;可能太不清楚&#xff0c;今天就来给大家分享一下。 HDMI线 特点&#xff1a;HDMI线是一种全数字化视频和声音发送接口&#xff0c;可以发送未…

phpword读取word docx文档文本及图片转html格式

最近在做一个PHP读取word文档功能&#xff0c;搜索一圈后决定选择用phpword第三方组件。 composer安装phpWord composer require phpoffice/phpword如果你的文件是doc格式&#xff0c;直接另存为一个docx就行了&#xff1b;如果你的doc文档较多&#xff0c;可以下一个批量转…

Lingo求解器基本语法

Lingo是一款用于线性规划和整数规划的数学建模和求解软件&#xff0c;被广泛应用于运筹学、生产优化、供应链管理等领域。今天与大家一起来熟悉一下它的基本语法 Lingo基本语法 1、定义目标函数为MIN&#xff0c;MAX. 2、以一个分号“&#xff1b;”结尾。除SETS,ENDSETS,D…

煤矸石检测数据集(yolo)

yolo煤矸石检测 数据集 pt模型 界面&#xff0c; ✓3091张图片和txt标签&#xff0c;标签类别两类&#xff1a;“coal”、“rock”。 ✓适用于煤矸石识别&#xff0c;深度学习&#xff0c;机器学习&#xff0c;yolov5 yolov6 yolov7 yolov8 yolov9 yolov10&#xff0c;Python 煤…

Nvidia的高级研究科学家Jim Fan预计在未来两到三年内,机器人技术将取得重大进展

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Wacom 和 Splashtop 携手共赴 IBC 2024 展会,宣布向欧洲市场隆重推出 Wacom Bridge

2024年9月10日 荷兰阿姆斯特丹&德国杜塞尔多夫 Wacom 是数位笔技术的全球领袖&#xff0c;Splashtop 是高性能远程访问解决方案领域的先驱&#xff0c;双方宣布已在欧洲隆重推出 Wacom Bridge&#xff0c;目前 Splashtop Enterprise 和 Splashtop Business Access Perform…

【算法】BFS 系列之 多源 BFS

【ps】本篇有 4 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1&#xff09;01 矩阵 .1- 题目解析 .2- 代码编写 2&#xff09;飞地的数量 .1- 题目解析 .2- 代码编写 3&#xff09;地图中的最高点 .1- 题目解析 .2- 代码编写 4&#xff09;地图分析 .1- 题…

英集芯IP5912:集成开关充电功能的低功耗8位POWER MCU芯片

英集芯IP5912是一款功能丰富的、集成了降压充电管理功能的8位MCU芯片&#xff0c;它内置了一个5V输入的同步降压充电DC-DC&#xff0c;功率管也是内置的&#xff0c;同时提供最大1.5A的充电电流。封装方式采用SOP16&#xff0c;方案应用时只需要很少的外围器件&#xff0c;就可…

Visual Studio 2022 - QT 环境中文字符乱码问题

Visual Studio 2022 - QT 环境中文字符乱码问题 一、Visual Studio 2022 - Qt 环境 在 QT 中使用中文字符串常会出现乱码现象&#xff0c;如下&#xff1a;以下提供了几个解决方法&#xff0c;仅供参考 QString str "百香果真是一直可爱的小猫咪"; qDebug() <…

大数据-142 - ClickHouse 集群 副本和分片 Distributed 附带案例演示

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

Tcping:一款实用的端口存活检测工具

简介 tcping 是一个基于TCP协议的网络诊断工具,通过发送 TCP SYN/ACK包来检测目标主机的端口状态。 官网:tcping.exe - ping over a tcp connection 优点: (1)监听服务器端口状态:tcping 可以检测指定端口的状态,默认是80端口,也可以指定其他端口。 (2)显示ping返…

ESXI主机证书报错

VCENTER提示主机证书状态异常 没有虚拟机运行 查看状态发现即将过期&#xff08;但其实已经过期了&#xff09; 点击更新即可&#xff0c;当有虚拟机运行时&#xff0c;不能直接更新证书。

探索自闭症寄宿学校的专属教育模式

在自闭症儿童教育的探索之路上&#xff0c;寄宿学校作为一种特殊的教育形式&#xff0c;正逐渐展现出其独特的优势与价值。这些学校不仅为自闭症儿童提供了一个安全、稳定的生活环境&#xff0c;更通过专属的教育模式&#xff0c;帮助他们逐步克服障碍&#xff0c;实现潜能的最…

掌握数据中心虚拟化:关键挑战与解决方案

数据中心虚拟化是使用云软件平台将物理数据中心转变为数字数据中心的过程&#xff0c;使企业能够远程访问信息和应用程序。它包括在数据中心内创建物理基础设施的多个虚拟版本&#xff0c;通过将服务器、存储和网络等资源划分为虚拟实体来实现资源的高效利用。 虚拟化环境中的关…

关于 NLP 深度学习的核心流程

基本流程实现的先后顺序&#xff08;每一步都包含很多技术点&#xff09;&#xff1a; 选定语言模型结构 关于语言模型&#xff1a; 作用 判断那一句话相对更合理&#xff0c;相对不合理的会得到较底的分值&#xff1a; 挑选成句概率分值最高的评价指标&#xff1a;PPL&…