JavaSE期末复习速成笔记

面向对象

1. 面向对象的概念

  • 面向对象编程(OOP)是一种编程范式,它将现实世界的事物抽象为对象,通过类和对象来创建各种功能模块,以此来设计和开发软件。

2. 类与对象

  • 类:是对象的模板,定义了对象的属性和方法。
  • 对象:是类的实例,具有类的属性和方法。

3. 封装

  • 隐藏对象的属性和实现细节,仅对外提供公共的访问方式。

4. 继承

  • 一个类(子类)继承另一个类(父类)的属性和方法,并可以扩展自己的属性和方法。

5. 多态

  • 父类引用指向子类对象,运行时根据对象类型调用相应的方法。

6. 抽象类与接口

  • 抽象类:不能被实例化的类,可以包含抽象方法和非抽象方法。
  • 接口:全由抽象方法和常量组成的类,不能被实例化,实现类必须实现其所有方法。

7. 构造方法

  • 用于创建和初始化对象的方法,与类名相同,没有返回类型。

8. this关键字

  • 引用当前对象的属性和方法。

9. 访问控制修饰符

  • public、protected、default(无修饰符)、private。

常用类

1. String类

  • 字符串是不可变的,常用方法有charAt()、substring()、length()、equals()等。
package com.apex_legends.javaoop.string_demo;import java.lang.reflect.Array;
import java.util.Arrays;public class Stringtest {public static void main(String[] args) {String s = "abc";s = s + "lsk";s = s + "mbn";String ss = "abc";System.out.println(ss = s);System.out.println(s.equals(ss));System.out.println(s);String s2 = new String("NCY");String s3 = "=92";byte[] bytes = s3.getBytes();byte[] a = Arrays.copyOf(bytes,3);Arrays.sort(a);System.out.println(Arrays.toString(bytes));System.out.println(Arrays.toString(a));String s4 = new String(bytes);String s5 = new String(a);System.out.println(s4);System.out.println(s5);String n1 = new String("abcd");String n2 = new String("abcD");System.out.println(n1.equalsIgnoreCase(n2));//忽略大小写System.out.println(n1.contains("ab"));//判断有没有包含连续子串System.out.println(n1.isEmpty());//是否为空串""System.out.println(n1.startsWith("a"));//判断开头System.out.println(n1.endsWith("a"));//判断结尾System.out.println(s.charAt(4));//给一个位置,返回字符System.out.println(s.indexOf("c"));//给一个字符,返回首次位置System.out.println(s.lastIndexOf("c"));//从后向前查的indexofString x1 = s.substring(3);String x2 = s.substring(2,4);System.out.println(x1);System.out.println(x2);String x3 = "dadJIKH";System.out.println(x3.toLowerCase());System.out.println(x3.toUpperCase());//转变英文字母大小写,原字符串不String str = "133-2457-1685";String []strings = str.split("-");System.out.println(Arrays.toString(strings));//用符号分割字符串System.out.println(x3.replace("a", "o"));System.out.println(x3.replaceAll("d", "c"));System.out.println(x3.replaceFirst("c", "d"));//替换字符但是字符串还是不变String sss = " adad adad ";System.out.println(sss.trim());System.out.println(sss.trim().length());//去除两端空格}
}

2. StringBuilder和StringBuffer类

  • 可变字符串,StringBuilder非线程安全,StringBuffer线程安全。

StringBuilder

import java.util.Scanner;  public class StringBuilderExample {  public static void main(String[] args) {  // 创建一个Scanner对象以接收用户输入  Scanner scanner = new Scanner(System.in);  // 创建一个StringBuilder对象  StringBuilder stringBuilder = new StringBuilder();  // 循环接收用户输入,直到输入"exit"为止  while (true) {  System.out.print("请输入一个字符串(输入'exit'退出): ");  String input = scanner.nextLine();  // 检查是否输入了'exit'  if ("exit".equalsIgnoreCase(input)) {  break;  }  // 将输入的字符串添加到StringBuilder中  stringBuilder.append(input);  stringBuilder.append(" ");   }  // 关闭Scanner对象(可选,但在实际应用中推荐这样做)  scanner.close();  // 将StringBuilder转换为String并打印结果  String result = stringBuilder.toString();  System.out.println("您输入的字符串是: " + result);  }  
}

StringBuffer

package com.apex_legends.javaoop.string_demo;public class StringBuffer_test {public static void main(String[] args) {/*StringBuffer是内容可以改变的字符串char[] value;没有使用final修饰,每次添加内容都是对此数组进行操作不会创建新的字符串对象。*///StringBuffer s1 = new StringBuffer("abcd");//创建内容长度+16的char数组StringBuffer s1 = new StringBuffer(10);//直接指定空参的长度s1.append("efg");//默认向字符串末尾添加System.out.println(s1);s1.insert(1,"Q");//指定位置插入System.out.println(s1);s1.deleteCharAt(2);System.out.println(s1);s1.append("asdfghjkl;");s1.delete(3,6);System.out.println(s1);s1.replace(1,2,"孙笑川");//替换字符串System.out.println(s1);s1.reverse();//反转字符串System.out.println(s1);}
}

3. 包装类

  • 将基本数据类型封装为对象,如Integer、Bigdicimal等。

Integer

package com.apex_legends.javaoop.integer;import java.math.BigInteger;public class Integer_demo {public static void main(String[] args) {String a = "679876545670987656789987612345678912345678901234567891234567891234567890987654345678985678987644567890987656789876765434567898765434567898765434567898765";BigInteger bigInteger1 = new BigInteger(a);BigInteger bigInteger2 = new BigInteger("3231234567890123456789012345678991234567891212345678912345555454545578923456789023456789567898765456787654");System.out.println(bigInteger1.multiply(bigInteger2));}
}

Bigdicimal

package com.apex_legends.javaoop.bigdicmal;import java.math.BigDecimal;
import java.math.BigInteger;public class Decimailtest {public static void main(String[] args) {BigDecimal bigDecimal1 = new BigDecimal("0.12");BigDecimal bigDecimal2 = new BigDecimal("0.001");System.out.println(bigDecimal1.divide(bigDecimal2, 1,5));}
}

4. 日期类

  • Date类、Calendar类等。

Date

package com.apex_legends.javaoop.data_demo;import java.util.Date;public class Datetest {public static void main(String[] args) {Date date = new Date();System.out.println(date);System.out.println(date.getDate());System.out.println(date.getYear()+1900);System.out.println(date.getTime());//获取的是1970年1月1日 0:0:0,到程序运行时刻的毫秒值Date date1 = new Date();System.out.println(date1.getTime() - date.getTime());Date date2 = new Date(1708843601096L);//将指定的long类型的时间戳取出构造一个时间对象System.out.println(date2);}
}

Calendar

package com.apex_legends.javaoop.calendar_demo;import java.util.Calendar;public class Calendartest {public static void main(String[] args) {Calendar calendar = Calendar.getInstance();System.out.println(calendar);System.out.println(calendar.get(Calendar.YEAR));System.out.println(calendar.get(Calendar.MINUTE));System.out.println(calendar.get(Calendar.DAY_OF_WEEK));System.out.println(calendar.getTimeInMillis());}
}

5. Math类

  • 提供数学运算的静态方法,如sqrt()、pow()等。
package com.apex_legends.javaoop.math_demo;public class mathtest {public static void main(String[] args) {System.out.println(Math.PI);System.out.println(Math.abs(-3));System.out.println(Math.sqrt(9));System.out.println(Math.pow(2, 3));}
}

Math类的方法太多,此处代码不一一举例

6. Random类

public class Randomtest {public static void main(String[] args) {Random random = new Random();System.out.println(random.nextBoolean());System.out.println(random.nextFloat());System.out.println(random.nextInt(100));//不超过这个范围,比如这里不能是100byte[] bytes = new byte[5];random.nextBytes(bytes);System.out.println(Arrays.toString(bytes));}
}

Arrays类

BinarySearch二分查找

package com.apex_legends.javaoop.binarysearch_demo;import java.util.Arrays;public class BinarySearch {public static void main(String[] args) {int[] a = {5,4,3,2,1};Arrays.sort(a,0,3);/*只排序两数之间*/System.out.println(Arrays.toString(a));Arrays.sort(a);/*sort()  默认升序排序*/System.out.println(Arrays.toString(a));System.out.println(Arrays.binarySearch(a, 5));}
}

CopyOf

package com.apex_legends.javaoop.copyof_demo;import java.util.Arrays;public class CoypOf1 {public static void main(String[] args) {int[] c= new int[3];c[0] = 1;c[1] = 2;c[2] = 3;int[] d = Arrays.copyOf(c,5);System.out.println(Arrays.toString(d));int[] e = {1,2,3,4,5};Arrays.fill(e,0);System.out.println(Arrays.toString(e));}
}

集合

1. 集合框架

  • Java提供了一套完整的集合框架,包含List、Set、Queue、Map等接口及其实现类。

2. List

  • 有序集合,允许元素重复,常见实现有ArrayList、LinkedList等。

ArrayList

import java.util.ArrayList;  public class ArrayListExample {  public static void main(String[] args) {  // 创建一个新的ArrayList  ArrayList<String> list = new ArrayList<>();  // 向列表中添加元素  list.add("元素1");  list.add("元素2");  list.add("元素3");  // 访问列表中的元素  System.out.println("第一个元素: " + list.get(0));  // 遍历列表  for (String item : list) {  System.out.println(item);  }  // 修改列表中的元素  list.set(1, "修改后的元素2");  // 检查元素是否存在  System.out.println("元素2是否存在: " + list.contains("元素2")); // 输出 false  System.out.println("修改后的元素2是否存在: " + list.contains("修改后的元素2")); // 输出 true  // 移除元素  list.remove("修改后的元素2");  // 再次遍历列表  for (String item : list) {  System.out.println(item);  }  // 获取列表的大小  System.out.println("列表的大小: " + list.size());  }  
}

LinkedList

import java.util.LinkedList;  public class LinkedListExample {  public static void main(String[] args) {  // 创建一个新的LinkedList  LinkedList<String> list = new LinkedList<>();  // 向列表的开头添加元素  list.addFirst("元素1");  list.addFirst("元素0");  // 向列表的结尾添加元素  list.addLast("元素2");  // 访问列表的开头和结尾元素  System.out.println("开头元素: " + list.getFirst());  System.out.println("结尾元素: " + list.getLast());  // 遍历列表  for (String item : list) {  System.out.println(item);  }  // 从开头移除元素  list.removeFirst();  // 从结尾移除元素  list.removeLast();  // 再次遍历列表  for (String item : list) {  System.out.println(item);  }  // 获取列表的大小  System.out.println("列表的大小: " + list.size());  }  
}

3. Set

  • 无序集合,不允许元素重复,常见实现有HashSet、TreeSet等。

HashSet

import java.util.HashSet;  public class HashSetExample {  public static void main(String[] args) {  // 创建一个新的HashSet  HashSet<String> set = new HashSet<>();  // 向集合中添加元素  set.add("元素1");  set.add("元素2");  set.add("元素1"); // 重复添加,不会生效  // 遍历集合  for (String item : set) {  System.out.println(item);  }  // 检查元素是否存在  System.out.println("元素1是否存在: " + set.contains("元素1")); // 输出 true  System.out.println("元素3是否存在: " + set.contains("元素3")); // 输出 false  // 移除元素  set.remove("元素1");  // 再次遍历集合  for (String item : set) {  System.out.println(item);  }  // 获取集合的大小  System.out.println("集合的大小: " + set.size());  }  
}

TreeSet

import java.util.TreeSet;  public class TreeSetExample {  public static void main(String[] args) {  // 创建一个新的TreeSet  TreeSet<Integer> set = new TreeSet<>();  // 向集合中添加元素  set.add(3);  set.add(1);  set.add(2);  // 遍历集合(元素将按升序排列)  for (Integer item : set) {  System.out.println(item);  }  // 检查元素是否存在  System.out.println("元素1是否存在: " + set.contains(1)); // 输出 true  // 移除元素  set.remove(2);  // 再次遍历集合  for (Integer item : set) {  System.out.println(item);  }  // 获取集合的大小  System.out.println("集合的大小: " + set.size());  // 使用自定义比较器  TreeSet<String> stringSet = new TreeSet<>((s1, s2) -> s2.compareTo(s1)); // 降序排列  stringSet.add("apple");  stringSet.add("banana");  stringSet.add("cherry");  // 遍历自定义排序的集合  for (String fruit : stringSet) {  System.out.println(fruit);  }  }  
}

4. Map

  • 键值对集合,键唯一,值可重复,常见实现有HashMap、TreeMap等。

HashMap

import java.util.HashMap;  
import java.util.Map;  public class HashMapExample {  public static void main(String[] args) {  // 创建一个新的HashMap  Map<String, Integer> map = new HashMap<>();  // 向映射中添加键值对  map.put("apple", 1);  map.put("banana", 2);  map.put("cherry", 3);  // 通过键来获取值  Integer appleCount = map.get("apple");  System.out.println("Apple count: " + appleCount);  // 遍历映射  for (Map.Entry<String, Integer> entry : map.entrySet()) {  System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());  }  // 检查键是否存在  System.out.println("Does 'banana' exist? " + map.containsKey("banana"));  // 检查值是否存在(注意:HashMap不直接支持通过值来查找键)  boolean containsValue = false;  for (Integer value : map.values()) {  if (value == 2) {  containsValue = true;  break;  }  }  System.out.println("Does the value 2 exist? " + containsValue);  // 移除键值对  map.remove("banana");  // 再次遍历映射  for (Map.Entry<String, Integer> entry : map.entrySet()) {  System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());  }  // 获取映射的大小  System.out.println("Map size: " + map.size());  }  
}

HashMap结构图

TreeMap

import java.util.TreeMap;  
import java.util.Map;  public class TreeMapExample {  public static void main(String[] args) {  // 创建一个新的TreeMap  Map<String, Integer> map = new TreeMap<>();  // 向映射中添加键值对  map.put("cherry", 3);  map.put("apple", 1);  map.put("banana", 2);  // 遍历映射(键将按升序排列)  for (Map.Entry<String, Integer> entry : map.entrySet()) {  System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());  }  // 通过键来获取值  Integer bananaCount = map.get("banana");  System.out.println("Banana count: " + bananaCount);  // 检查键是否存在  System.out.println("Does 'apple' exist? " + map.containsKey("apple"));  // 移除键值对  map.remove("apple");  // 再次遍历映射  for (Map.Entry<String, Integer> entry : map.entrySet()) {  System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());  }  // 获取映射的大小  System.out.println("Map size: " + map.size());  // 使用自定义比较器(按字符串长度排序)  TreeMap<String, Integer> lengthSortedMap = new TreeMap<>((s1, s2) -> Integer.compare(s1.length(), s2.length()));  lengthSortedMap.put("apple", 1);  lengthSortedMap.put("banana", 2);  lengthSortedMap.put("cherry", 3);  // 遍历自定义排序的映射  for (Map.Entry<String, Integer> entry : lengthSortedMap.entrySet()) {  System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());  }  }  
}

5. 迭代器

  • Iterator:用于遍历集合中的元素。它提供了基本的遍历操作,如hasNext()next()
Iterator<String> iterator = someCollection.iterator();  
while (iterator.hasNext()) {  String element = iterator.next();  System.out.println(element);  
}
  • ListIterator:是Iterator的子接口,专门用于遍历List。它提供了额外的操作,如添加、替换和获取列表中元素的索引。
ListIterator<String> listIterator = someList.iterator();  
while (listIterator.hasNext()) {  String element = listIterator.next();  System.out.println(element);  
}  // 从后向前遍历  
while (listIterator.hasPrevious()) {  String previousElement = listIterator.previous();  System.out.println("Previous: " + previousElement);  
}  // 假设我们处于某个元素之前,我们可以添加或设置元素  // listIterator.add("newElement");  
// listIterator.set("replacedElement");

异常

1. 异常的概念

  • 程序执行过程中遇到的错误或异常情况。

2. 异常的处理

  • try-catch语句块捕获并处理异常。
  • throw关键字用于抛出异常。
  • throws关键字用于声明可能抛出的异常,由调用者处理。

3. 异常的分类

  • 运行时异常(RuntimeException):程序运行时发生的异常,如NullPointerException、ArrayIndexOutOfBoundsException等。
  • 检查型异常(Checked Exception):编译时必须处理的异常,如IOException、SQLException等。

4. 自定义异常

  • 继承自Exception或RuntimeException类,创建自定义异常类。

JDBC

1. JDBC的概念

  • Java Database Connectivity,Java数据库连接,用于Java程序与数据库进行交互。

2. JDBC API

  • DriverManager:管理JDBC驱动。
  • Connection:代表与数据库的连接。
  • Statement:执行静态SQL语句并返回结果。
  • PreparedStatement:执行预编译的SQL语句,效率更高,且支持参数化查询,防止SQL注入。
  • ResultSet:保存查询结果集。

3. JDBC编程步骤

  • 加载并注册JDBC驱动。
  • 建立数据库连接。
  • 创建Statement或PreparedStatement对象。
  • 执行SQL语句。
  • 处理ResultSet。
  • 关闭连接、Statement和ResultSet对象。

首先先新建一个lib目录并导入数据库MySql的jar包

import java.sql.*;public class Demo {public static void main(String[] args) throws ClassNotFoundException, SQLException {Class.forName("com.mysql.cj.jdbc.Driver");//DriverManager.registerDriver(new Driver());String url = "jdbc:mysql://127.0.0.1:3306/gra_stu?serverTimezone=Asia/Shanghai";String user = "root";String password = "root";Connection connection = DriverManager.getConnection(url,user,password);//发送sqlStatement statement = connection.createStatement();statement.executeUpdate("INSERT INTO book(bname,state) VALUES ('书库西通','已借出')");statement.close();connection.close();}
}

4. JDBC的修改插入和删除

import java.sql.*;public class Demo1 {public static void main(String[] args) {Demo1 demo1 = new Demo1();
/*        try {demo1.save("蔡徐坤","2004-07-28",180, 60, "全能", 1);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException throwables) {throwables.printStackTrace();}*/Foundation1 foundation1 = new Foundation1();/*try {foundation1.save("马嘉祺","2004-01-28",175, 50, "全能", 1);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException throwables) {throwables.printStackTrace();}*/try {demo1.delate("科比布莱恩特");} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException throwables) {throwables.printStackTrace();}}public void save(String player_name,String birth,int height,int weight,String postioning,int team) throws ClassNotFoundException, SQLException {Class.forName("com.mysql.cj.jdbc.Driver");String url = "jdbc:mysql://127.0.0.1:3306/gra_stu?serverTimezone=Asia/Shanghai";String user = "root";String password = "root";Connection connection = DriverManager.getConnection(url,user,password);Statement statement = connection.createStatement();statement.executeUpdate("INSERT INTO player (player_name,birth,height,weight,postioning,team)" + "VALUE('"+player_name+"','"+birth+"',"+height+","+weight+",'"+postioning+"',"+team+")");statement.close();connection.close();}public void update(int team,String player_name) throws ClassNotFoundException, SQLException {Class.forName("com.mysql.cj.jdbc.Driver");String url = "jdbc:mysql://127.0.0.1:3306/gra_stu?serverTimezone=Asia/Shanghai";String user = "root";String password = "root";Connection connection = DriverManager.getConnection(url,user,password);Statement statement = connection.createStatement();statement.executeUpdate("UPDATE player SET team = "+team+"WHERE player_name = '"+player_name+"'");statement.close();connection.close();}public void delate(String player_name) throws ClassNotFoundException, SQLException {Class.forName("com.mysql.cj.jdbc.Driver");String url = "jdbc:mysql://127.0.0.1:3306/gra_stu?serverTimezone=Asia/Shanghai";String user = "root";String password = "root";Connection connection = DriverManager.getConnection(url,user,password);Statement statement = connection.createStatement();statement.executeUpdate("DELETE FROM player WHERE player_name = '"+player_name+"' OR 1=1");statement.close();connection.close();}
}

5. JDBC查询

import sun.net.sdp.SdpSupport;import java.sql.*;
import java.util.ArrayList;public class Search extends Foundation1{public static void main(String[] args) {Player player = new Player();Foundation1 foundation1 = new Foundation1();try {player = foundation1.findPlayerByNum(31);System.out.println(player.toString());} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException throwables) {throwables.printStackTrace();}Search search = new Search();ArrayList<Player> arrayList = new ArrayList<>();try {arrayList = search.findPlayerByNum("后卫");System.out.println(arrayList.toString());} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException throwables) {throwables.printStackTrace();}}public ArrayList<Player> findPlayerByNum(String postioning) throws ClassNotFoundException, SQLException {Class.forName("com.mysql.cj.jdbc.Driver");String url = "jdbc:mysql://127.0.0.1:3306/gra_stu?serverTimezone=Asia/Shanghai";String user = "root";String password = "root";Connection connection = DriverManager.getConnection(url,user,password);PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM player WHERE postioning = ?");preparedStatement.setObject(1, postioning);ArrayList<Player> arrayList = new ArrayList<Player>();ResultSet resultSet = preparedStatement.executeQuery();while (resultSet.next()){Player player = new Player();player.setNum(resultSet.getInt("num"));player.setPlayer_name(resultSet.getString("player_name"));player.setBirth(resultSet.getString("birth"));player.setHeight(resultSet.getInt("height"));player.setWeight(resultSet.getInt("weight"));player.setTeam(resultSet.getInt("team"));arrayList.add(player);}resultSet.close();preparedStatement.close();connection.close();return arrayList;}
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动化巡检革命:旗晟双圆管轨道机器人的创新应用

在输煤皮带线和矿山带式输送机的巡检过程中&#xff0c;面临着高湿度、多粉尘、温湿度极端、噪音干扰&#xff1b;设备磨损频繁&#xff0c;难以及时发现问题&#xff1b;传统的人工巡检方式存在劳动强度大、效率低、检测质量不稳定、数据采集和分析滞后&#xff0c;无法实现实…

oracle 11g rac创建实例时发现只给一节点创建了实例 二节点没创建的处理方法

由于操作失误没有在二节点创建实例 删除数据库重新dbca建库 [oracleracdg1-1 dbs]$ dbca -silent -deleteDatabase -sourceDB rac11dg1 -sysDBAUserName sys -sysDBAPassword oracle_4U Connecting to database 4% complete 9% complete 14% complete 19% complete 23% …

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 两个字符串间的最短路径(200分) - 三语言AC题解(Python/Java/Cpp)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; &#x1f…

npm创建一个空的vue3项目的方法或者pnpm创建vue3项目

1、前提我们已经安装了npm&#xff0c;或者pnpm 2、我们用npm来创建vue3项目 快速上手 | Vue.js 官网地址 这里我安装是的 node v18.20.3 以下是安装过程 &#xff1a; npm create vuelatest 根据自己的需要进行创建即可。 3、我们用pnpm来创建vite vue3项目 pnpm create …

Android 界面库 (二) 之 Data binding 详细介绍

1. 简介 回顾我们在前面文章《Android 界面库 (一) 之 View binding 简单使用》中学习的 View Binding&#xff0c;它旨在简化 View 与代码之间的绑定过程。它会在编译时期为每个 XML 布局文件生成相应的绑定类(Binding class)&#xff0c;该类里包含了布局文件每个有 ID 的 Vi…

【深度学习】服务器炼丹代码配置、Python使用指定gpu显卡运行代码

【显卡】服务器炼丹代码配置 写在最前面一、查看哪几块显卡能用二、使用指定gpu运行代码1、指定使用GPU0运行脚本&#xff08;默认是第一张显卡, 0代表第一张显卡的id,其他的以此类推&#xff09;2、指定使用多张显卡运行脚本 三、如何使用1、单块显卡使用2、多GPU训练使用Data…

昇思25天学习打卡营第3天|数据集全攻略:加载、操作与自定义

导入数据集相关库和类 首先&#xff0c;导入了 NumPy 库&#xff0c;并将其简称为 np 。要知道&#xff0c;NumPy 乃是用于科学计算的关键库&#xff0c;作用非凡。接着&#xff0c;从 mindspore.dataset 当中导入了 vision 模块。此外&#xff0c;还从 mindspore.dataset 里引…

小阿轩yx-Nginx 网站服务

小阿轩yx-Nginx 网站服务 由俄罗斯的 lgor Sysoev 开发其稳定、高效的特性逐渐被越来越多的用户认可 Nginx 服务基础 Nginx (发音为[engine x])专为性能优化而开发 最知名的优点 稳定性低系统资源消耗以及对 HTTP 并发连接的高处理能力(单台物理服务器可支持 30000~50000个…

抗击.michevol勒索病毒:保障数据安全的新策略

导言&#xff1a; 在今天高度互联的数字化环境中&#xff0c;数据安全面临着越来越复杂和普遍的威胁&#xff0c;勒索病毒如.michevol已成为了用户和企业普遍面临的风险。本文91数据恢复将探讨.michevol勒索病毒的特点、感染方式以及创新的防御策略&#xff0c;旨在帮助读者更…

车载双向认证框架设计

最近工作需要&#xff0c;手写了一个双向认证库&#xff0c;可以用在Java、Android上&#xff0c;不限于PC/手机、车载平台。首先我们来看看双向认证的原理机框架设计思路&#xff0c;最后会给出下载链接大家可以体验或者源码参考。 因为可以和FlexNet网络库&#xff08;参考我…

mac安装navicate

1.下载好之后点击安装包安装 2.一般情况下会提示安全性什么的,点击允许即可,然后会出现如下界面,点击安装即可. 3.点击打开 4.然后出现如下界面,点击Enter 5.将安装包拖入即可. 6.等待安装即可 7.安装完成后会在启动台看到Navicat16 的图标 8.然后打开软件界面如下:

访问外网的安全保障——反向沙箱

反向沙箱作为一种网络安全技术&#xff0c;其核心理念在于通过构建一个隔离且受控的环境&#xff0c;来有效阻止潜在的网络威胁对真实系统的影响。在当今日益复杂的网络环境中&#xff0c;如何借助反向沙箱实现安全上网&#xff0c;已成为众多用户关注的焦点。 随着信息化的发…

树莓派Pico

树莓派Pico是树莓派基金会推出的一款基于RP2040微控制器的微型计算机板&#xff0c;它是专为需要高性能微控制器的应用场景设计的&#xff0c;特别适合于需要实时控制、低功耗和小型化解决方案的项目。以下是树莓派Pico的详细介绍&#xff1a; ### 核心特点&#xff1a; - **基…

统信系统实战(2):安装redis

在系统中未发现redis,需要安装。 网上资料上说需要去redis官网下载,但是发现不管是github账号还是自己注册的sso账号,都各种提示有问题。 继续找资料,发现可以直接通过下载链接下载,指令如下: wget http://download.redis.io/releases/redis-6.0.6.tar.gz 成功下载,…

仓颉开发入门初体验

作者&#xff1a;黄林晴 顺便吆喝一声&#xff0c;如果你计算机、软件工程、电子等相关专业本科及以上学历&#xff0c;欢迎来共事。前端/后端/测试均可投&#xff0c;技术大厂。 前言 在刚刚召开的华为开发者大会&#xff08;HDC 2024&#xff09;上&#xff0c;华为内部研…

如何在Java中使用Levenshtein距离实现字符串相似度匹配

在许多应用中&#xff0c;我们需要根据用户输入的问题找到最匹配的已知问题。Levenshtein距离&#xff08;编辑距离&#xff09;是一个强大的工具&#xff0c;可以帮助我们衡量两个字符串之间的差异&#xff0c;并进一步计算它们的相似度。本文将使用一个具体的例子来展示如何在…

从架构设计的角度分析ios自带网络库和AFNetworking

总结&#xff08;先说明文章分析出的一些‘认知’&#xff09; 从本文中&#xff0c;我们可以总结出一些框架设计上的“认知”&#xff1a; 对于通用的常规配置信息方面的设计&#xff0c;我们可以通过定义一个“类似于NSURLSessionConfiguration、NSURLRequest”的类来完成设…

【算法专题--栈】后缀表达式求值 -- 高频面试题(图文详解,小白一看就会!!)

目录 一、前言 二、题目描述 三、解题方法 ⭐解题思路 ⭐案例图解 四、总结与提炼 五、共勉 一、前言 后缀表达式求值 这道题&#xff0c;可以说是--栈专题--&#xff0c;最经典的一道题&#xff0c;也是在面试中频率最高的一道题目&#xff0c;通常在面试中&…

什么是ArchiMate?有优缺点和运用场景?

一、什么是ArchiMate? ArchiMate是一种由The Open Group发布的企业级标准&#xff0c;它是一种整合多种架构的可视化业务分析模型语言&#xff0c;也属于架构描述语言&#xff08;ADL&#xff09;。ArchiMate主要从业务、应用和技术三个层次&#xff08;Layer&#xff09;&…

QT在visual studio环境打开控制台窗口

明确需求 在VS环境中开发QT应用&#xff0c;有时遇到BUG想看日志&#xff0c;但是默认VS环境没有显示控制台窗口可看日志。 解决方法 对工程名单击右键。 点击属性&#xff0c;在打开界面按照如下图操作。 设置完成后弹出的控制台窗口如下图。