6.19实训笔记

news2024/12/27 12:15:50

6.19实训笔记

  • 6.19
    • 一、座右铭
    • 二、知识回顾
      • 2.1 Java集合体系
      • 2.2 工具类Utils
    • 三、JavaIO流
      • 3.1 File类
      • 3.2 File类的使用
        • 3.2.1 File文件/文件夹类的创建
        • 3.2.2 File类的获取操作
        • 3.2.3 File类判断操作--boolean
        • 3.2.4 File类对文件/文件夹的增删改
        • 3.2.5 、File类的获取子文件夹以及子文件的方法
      • 3.3 Java中IO流多种纬度的纬度
        • 3.3.1 按照流向--Java程序
        • 3.3.2 按照流的大小分类
        • 3.3.3 按照流的功能分类
      • 3.4 JavaIO流的四大基类

6.19

一、座右铭

我的故事你说,我的文字我落,我值几两你定,我去何方我挑。

二、知识回顾

2.1 Java集合体系

  1. 单列集合Collection–Iterable迭代器、增强的for循环

    1. List集合:可以重复、而且加入有序,提供几个可以使用素引进行取值默值的操作

      1. Vector:数组
      2. ArrayList:数组
      3. LinkedList:双向链表–内部类Node
    2. Set集合:不可重复

      1. HashSet:无序

      2. LinkedHashSet:加入有序

      3. TreeSet:大小有序、需要借助比较器实现

        不可重复
        1、hashCode
        2、Equals方法

    3. Queue集合–接触不多

    4. Collection—Java给我们提供的封装了单列集合常用的工具方法的工具类–提供的方法针对List集合体系

      代码示例

      List<Integer> list = Arrays.asList(3,2,1,5,4,6);
      Collections.sort(list,new Comparator<Integer>() {
      	@Override
      	public int compare(Integer o1, Integer o2) {
      			return o1>o2?-1:(o1==o2?0:1);			}
      		});
      		System.out.println(list);//[6, 5, 4, 3, 2, 1]
      		
      	    int i = Collections.binarySearch(list, 7);
      	    System.out.println(i);//-7
      		
      		List<Object> list2 = Collections.emptyList();
      		
      		Collections.reverse(list);
      		System.out.println(list);//[6, 4, 5, 1, 2, 3]
      		
      		Collections.shuffle(list);
      		System.out.println(list);//[3, 1, 4, 6, 5, 2]
      
    5. 接口JDK1.8版本以后增加了两个新的内容:静态方法、默认方法

      		  List<Integer> list = List.of(1,2,3,4,5);
      		  Map<String,Integer> of = Map.of("zs", 1, "ls", 2);
      		  System.out.println(list);
      		  System.out.println(of);
      
  2. 双列集合Map

    1. 特点

      1. 每一行数据都是有两列组成的,其中第一列称为key,第二列称为value
      2. 其中在Map集合当中,key值不允许重复,value允许重复的。Map集合底层所有的key值通过Set集合来进行存储的,Value值通过Collection集合进行存储的
      3. 如果Map集合增加了重复性的key值,会把原有的key值对应的value数据替换掉
    2. Map接口的常用方法

在这里插入图片描述

      >   代码示例

      ```java
      		Map<String,Double> map = new HashMap<>();
      		System.out.println(map.size());//查看集合的元素个数   //0
      		System.out.println(map.isEmpty());//判断map集合是否为空  //true
      		//map集合添加元素--添加重复性元素 会覆盖原有的旧的value值
      		map.put("香酥鸡", 69.0);
      		map.put("糖醋丸子", 21.5);
      		map.put("北京烤鸭", 21.5);
      		map.put("鸡公煲", 60.0);
      		map.put("香酥鸡", 99.0);
      		map.put("红烧鱼", 128.0);
      		System.out.println(map);  //{北京烤鸭=21.5, 糖醋丸子=21.5, 香酥鸡=99.0, 鸡公煲=60.0, 红烧鱼=128.0}
      		
      		//判断map集合是否包含某个key值
      		System.out.println(map.containsKey("清蒸鲈鱼"));//false
      		System.out.println(map.containsKey("香酥鸡"));//true
      		//根据key值获取map集合对应的value值 如果key值不存在,那么会得到一个null值
      		double price = map.get("香酥鸡");
      		System.out.println(price);//99.0
      		Double price1 = map.get("香酥鸭");
      		System.out.println(price1);//null
      		//map集合为了预防获取不存在的key值导致的空指针问题,提供了一个获取数据的方法并且防止null值
      		Double default1 = map.getOrDefault("红烧鱼", 0.0);
      		System.out.println(default1);//128.0
      		//清空集合
      //		map.clear();
      //		System.out.println(map);
      		
      		//map集合元素替换--key对应的value
      		map.replace("红烧鱼", 158.0);
      		System.out.println(map);//{北京烤鸭=21.5, 糖醋丸子=21.5, 香酥鸡=99.0, 鸡公煲=60.0, 红烧鱼=158.0}
      		//根据key移除map集合中某个元素
      		Double remove = map.remove("红烧鱼");
      		System.out.println(map);//{北京烤鸭=21.5, 糖醋丸子=21.5, 香酥鸡=99.0, 鸡公煲=60.0}
      		
      		/**
      		 * Map集合的遍历:
      		 *     1、keySet():Set<K>  获取map集合中的所有key值,返回的是set集合
      		 *     2、entrySet():Set<Entry<K,V>>: 获取map集合中所有元素,变成一个set集合,只不过map集合每一条的key和value使用内部类Entry封装起来
      		 */
      //		Set<String> set = map.keySet();
      //		for (String key : set) {
      //			Double double1 = map.get(key);
      //			System.out.println(key+"="+double1);
      //		}
      		
      		Set<Entry<String,Double>> entrySet = map.entrySet();
      		for(Entry<String,Double> entry : entrySet) {
      			System.out.println(entry.getKey()+"="+entry.getValue());
      			//北京烤鸭=21.5
      			//糖醋丸子=21.5
      			//香酥鸡=99.0
      			//鸡公煲=60.0
      		}
      ```

      

 3.   Map接口的常用实现类

      1.   Map接口的常用实现类

      2.   LinkedHashMap:有序,加入有序

      3.   Hashtable:无序

           >   Properties:一般是用来读取一些配置文件数据的。

      4.   TreeMap:key的大小有序,key值必须都有比较器

           >   代码示例

           ```java
           Map<String,Double> map = new TreeMap<>();
           map.put("xiangsuji", 69.0);
           map.put("tangcuwanzi", 21.5);
           map.put("beijingkaoya", 21.5);
           map.put("jigongbao", 60.0);
           map.put("xiangsuji", 99.0);
           map.put("hongshaoyu", 128.0);
           System.out.println(map);//{beijingkaoya=21.5, hongshaoyu=128.0, jigongbao=60.0, tangcuwanzi=21.5, xiangsuji=99.0}
           ```

2.2 工具类Utils

工具类就是把项目或者是某些技术的共有的方法抽取到同一个类中,实现代码的解耗合和可重复利用性,工具类为了便于开发者使用,一般工具类中提供的方法都是纯静态方法、因此工具类一般不需要构建对象、工具类的构造器都是私有化的。

三、JavaIO流

Java Input/Output,一般情况指的是Java操作一些外部数据时,使用IO流的形式进行操作,外部数据主要包括文件、网络等等。

3.1 File类

JavaIO既可以操作文件外部数据,还可以操作网络端口这种外部数据,如果Java要操作文件数据,必须要借助一个类File文件对象类

File类是Java中对文件/文件夹的抽象表示,通过这个File类,我们可以将操作系统本地的一个文件/文件夹加载到Java程序当中,随后通过File对象可以对文件进行增删改查等操作

File类只能操作文件的外部内容、而文件当中有哪些数据,这个操作File类做不到

代码示例

		/**
		 * key-value均是Object类型
		 */
		Properties prop = new Properties();
		prop.put("zs", 1);
		System.out.println(prop);//{zs=1}
		/**
		 * prop除了map集合有的方法以外,还多了三个方法:
		 *   load()
		 *   setProperty(String key,String value)===put
		 *   getProperty(String key)===get
		 */
		prop.load(new FileInputStream("F:\\eclipse-workspace\\java-study-619\\project.properties"));
		System.out.println(prop);//{password=123456, zs=1, username=zs}
		String value = prop.getProperty("username");
		System.out.println(value);//zs
		prop.setProperty("username", "ls");
		System.out.println(prop);//{password=123456, zs=1, username=ls}

3.2 File类的使用

3.2.1 File文件/文件夹类的创建

  1. 根据全路径创建
  2. 根据父子路径创建
  3. 根据父子路径创建,只不过父路径也是File对象

3.2.2 File类的获取操作

方法名
getName
getParent
getPath
getAbsolutePath

3.2.3 File类判断操作–boolean

方法名
exists()
isFile()
isDirectory()
isHidden()
canRead()
canWrite()
canExecute()

3.2.4 File类对文件/文件夹的增删改

  1. 创建

    1. 创建文件createNewFile():要求父目录必须存在
    2. 创建文件夹mkdir()/mkdirs()
  2. 删除

    delete()–如果是目录,目录必须空目录

  3. 修改

    renameTo(File):boolean

代码示例

		/**
 		* File类的使用
 		*    静态属性
 		* @author 11018
 		*
 		* windows:  \
 		* mac/linux:  /
 		*/	
		//在eclipse中,因为创建的是Java项目,Java项目中所有的相对路径,指的都是项目名下的某个路径 而非Java源文件的同级路径
		File file = new File("lzc/a.txt");
		//获取文件名  路径的最后一个文件/文件夹的名字
		String fileName = file.getName();
		System.out.println(fileName);//a.txt
		//获取文件的父路径  取决于你再构建File对象时有没有传入父路径
		String parent = file.getParent();
		System.out.println(parent);//lzc
		//获取文件的路径 ---传入的路径
		String path = file.getPath();
		System.out.println(path);//lzc\a.txt
		//获取文件的绝对路径--传入路径没有关系的
		String absolutePath = file.getAbsolutePath();
	    System.out.println(absolutePath);//F:\eclipse-workspace\java-study-619\lzc\a.txt
		
		System.out.println(file.exists());//false
		System.out.println(file.isFile());//false
     	System.out.println(file.isDirectory());//false
		System.out.println(file.isHidden());//false
		System.out.println(file.canRead());//false
		System.out.println(file.canWrite());//false
		System.out.println(file.canExecute());//false
		
		
		boolean mkdir = file.mkdirs();
		System.out.println(mkdir);//true
		boolean createNewFile = file.createNewFile();
		System.out.println(createNewFile);//false
		
//		boolean delete = file.delete();
//		System.out.println(delete);
		//重命名要求两个路径必须在同一个路径下
		boolean result = file.renameTo(new File("c:\\dnn"));
		System.out.println(result);//false
		
		System.out.println(file.lastModified());//1687161837429
		//只能获取文件的大小,无法获取文件夹的大小
		System.out.println(file.length());//0

3.2.5 、File类的获取子文件夹以及子文件的方法

listFiles()

list():返回指定目录下的下一级的文件或者文件夹

3.3 Java中IO流多种纬度的纬度

3.3.1 按照流向–Java程序

  1. 输入流 Input/Reader

  2. 输出流 Output/Writer

3.3.2 按照流的大小分类

  1. 字节流:Stream:什么样的数据都可以处理

  2. 字符流:Reader/Writer:只能处理纯文本类型的数据

3.3.3 按照流的功能分类

  1. 节点流:直接对接到数据源上的流

    文件流

    数组流

    网络流

  2. 处理流:无法直接对接到数据源上,而是包装了节点流,在节点流基础之上提供了更加强大的功能

3.4 JavaIO流的四大基类

  1. Javaio流中所有的流都有四个顶尖父类,四个顶尖父类是四个抽象类,四个抽象类当中封装了和流有关的很多的公用方法。

  2. InputStream:java中所有字节输入流的顶尖父类

    方法名
    read:int
    available:int
    close()
  3. OutputStream:Java中所有字节输出流的顶尖父类

    方法名
    write:写出的字节
    close()
  4. Reader:Java中所有字符输入流的顶尖父类

    方法名
    read:int
    close()
  5. Writer:Java中所有字符输出流的顶尖父类

    方法名
    write
    close–底层调用了flush方法
    flush

Reader、Writer:

因为要根据编码集进行数据的读取,一次要读取一个字符,而一个字符对应了多个字节。
编码集只有纯文本才有

代码示例

		InputStream is = null;
		try {
			is = new FileInputStream("lzc/b.txt");
			//读取数据源的一个字节  read方法每一次读取完成,下一次再进行读取,基于上一次读取的结果向后读
			/*
			 * int read = is.read();
			 * System.out.println(read);
			 * //返回值 如果是read()方法,代表的是每一次读取完成的字节的值,read(byte[])的话返回值不做研究
			 * //不管什么情况下 read的返回值一旦为-1 那么代表数据源没数据了
			 * int read2 = is.read();
			 * System.out.println(read2);
			 */
			//字节流中可以利用的字节数有多少
			int available = is . available ( ) ;
			System.out.println(available);//12
			byte[] array = new byte[3];
			int read = is.read(array);
			String string = new String(array,"UTF-8");
			System.out.println(string);//中
			int read2 = is.read();
			System.out.println(read2);//229
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			if (is != null) {
				try {
					is.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}
		/**
 		* 方法递归:就是类似于循环的概念
 		* 当我们在执行一个逻辑的时候,需要重复性的执行某段代码,但是我们不清楚代码需要调用多少次
 		* 我们清楚代码在什么时候调用结束,这种情况下我们就可以方法递归来完成。
 		* 递归返回中必须有两个核心要素点:----if else分支
 		* 1、递归的出口
 		* 2、递归的入口----自己调用自己的逻辑
 		* @author lenovo
 		*
 		*/	
		File file = new File ( "c:/users/lenovo/desktop/demo" ) ;
		String[] files = file.list () ;
		System . out . println (Arrays.toString(files)) ; //[a.txt]
		
		
		File[] files2=file.listFiles();
		for ( File f : files2 ) {
	
        System.out.println(f.getAbsolutePath());
        //c:\\users\\lenovo\\desktop\\demo\\a.txt
		/**
		*	InputStream:字节输入流
		*	
		*/
		InputStream is = null;
		try {
			is = new FileInputStream("lzc/b.txt");
			//读取数据源的一个字节  read方法每一次读取完成,下一次再进行读取,基于上一次读取的结果向后读
			/*
			 * int read = is.read();
			 * System.out.println(read);
			 * //返回值 如果是read()方法,代表的是每一次读取完成的字节的值,read(byte[])的话返回值不做研究
			 * //不管什么情况下 read的返回值一旦为-1 那么代表数据源没数据了
			 * int read2 = is.read();
			 * System.out.println(read2);
			 */
			//字节流中可以利用的字节数有多少
			int available = is . available ( ) ;
			System.out.println(available);//12
			byte[] array = new byte[3];
			int read = is.read(array);
			String string = new String(array,"UTF-8");
			System.out.println(string);//中
			int read2 = is.read();
			System.out.println(read2);//229
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			if (is != null) {
				try {
					is.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
		/**
 		* OutputStream基类提供的常用方法:
 		* write(int  字节)
 		* @author lenovo
 		*
 		*/
		OutputStream os = null;
		try {
			os = new FileOutputStream(new File("lzc/b.txt"));
			os.write(97);//a
			os.write("中国加油".getBytes("UTF-8"));//中国加油
			os.write("中国加油".getBytes("UTF-8"),0,6);//中国
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			if (os !=null) {
				try {
					os.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}			
				}
		}
		/**
 		* Reader的常用方法
 		* close()
 		* @author lenovo
 		*
 		*/
try {
			Reader r = new FileReader(new File("lzc/b.txt"));
			int read = r.read();
			System.out.println(read);//97
			int read2 = r.read();
			System.out.println(read2);//20013
			char c = (char)read2;
			System.out.println(c);//中
			char[] buf = new char[5];
			r.read(buf);
			System.out.println(Arrays.toString(buf));//[国, 加, 油, 中, 国]
			r.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		Writer w = new FileWriter(new File("lzc/b.txt"));
		//w.append('a');
		w.write("zs123");
		w.write("1s123");
		w.write("1s123");
		
		w.flush();
		w.close();
	}
		//文件复制
		InputStream is = null;
		OutputStream os = null;
		try {
		is = new FileInputStream(new File ("c:/users/lenovo/desktop/A.jpg")) ;
		os = new FileOutputStream("c:/users/lenovo/desktop/B.jpg");
		int read;
		byte[] buf = new byte[1024*1024];
		while((read =is.read())!=-1){
		//while((read =is.read(buf))!=-1){
			os.write(read);
			//os.write(read^5);
			//os.write(buf);
			}
		} catch(FileNotFoundException e){
		//TODO Auto-generated catch block
			e.printStackTrace();
	} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
		if (os != null) {
			try {
				os.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}		
			}
		if (is != null) {
			try {
				is.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}
		//加密照片		
		FileReader is = null;
		OutputStream os = null;
		try {
		is = new FileReader(new File ("c:/users/lenovo/desktop/A.png")) ;
		os = new FileOutputStream("c:/users/lenovo/desktop/A.png");
		int read;
		byte[] buf = new byte[1024*1024];
		while((read =is.read())!=-1){
		//while((read =is.read(buf))!=-1){
			//os.write(read);
			os.write(read^5);
			//os.write(buf);
			}
		} catch(FileNotFoundException e){
		//TODO Auto-generated catch block
			e.printStackTrace();
	} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
		if (os != null) {
			try {
				os.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}		
			}
		if (is != null) {
			try {
				is.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}

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

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

相关文章

python+appium自动化测试-滑动到固定的位置停止

当前很多APP都存在滑动操作&#xff0c;但这些元素一般无法单独定位到&#xff0c;多为一个数组或列表&#xff0c;这边介绍了几种方法&#xff0c;使元素滑动到你想要的位置后停止。 一、scroll()方法 Appium 中webdriver提供scroll()方法来滚动页面&#xff0c;该方法只适用…

matplotlib---中文显示问题、字体库、图像结构、画布设置

1. 中文显示问题 解决方案一&#xff1a; 下载中文字体&#xff08;黑体&#xff0c;看准系统版本&#xff09; 步骤一&#xff1a;下载 SimHei 字体&#xff08;或者其他的支持中文显示的字体也行&#xff09; 步骤二&#xff1a;安装字体 linux下&#xff1a;拷贝字体到 usr…

三层架构综合实验

目录 拓扑结构&#xff1a; 要求&#xff1a; 确定广播域的个数 分配网段 配置Eth-Trunk 创建VLAN 配置STP生成树协议 修改根 边缘端口 SVI VRRP DHCP 路由部分 OSPF 缺省 汇总 NAT 拓扑结构&#xff1a; 要求&#xff1a; 1、内部IP地址基于172.16.0.0/16进行…

CABAC编解码原理分析

CABAC编解码原理分析 文章目录 CABAC编解码原理分析一、二进制算数编码二、CABAC编码三、CABAC编解码与普通的二元算术编码的区别四、 CABAC编解码中各个变量的计算&#xff1a;五、 一些其他问题&#xff1a;六、 总结&#xff1a;七、参考资料 一、二进制算数编码 cabac是一…

Nginx网络服务的配置

目录 一、Nginx概述 二、Nginx相对于Apache的优点 三、配置Nginx网络服务 1.编译安装和启用Nginx服务 2.修改Nginx主配置文件 一、Nginx概述 Nginx是一款高性能、轻量级Web服务软件。稳定性高&#xff0c;系统资源消耗低&#xff0c;对HTTP并发连接的处理能力高&#xff…

DNS 监控工具

域名系统 &#xff08;DNS&#xff09; 解析&#xff08;也称为 DNS 查找&#xff09;是在现代 IT 基础架构中建立连接和通信所需的基本组件之一。这是将人类可读的域或主机名与机器可读的 IP 地址映射的过程&#xff0c;使用户更容易访问组织的公共和专用网络上的主机。在最基…

SpringBoot 三级缓存解决循环依赖源码分析

文章目录 1. 不使用三级缓存可能存在的问题2. 源码分析2.1 对象实例的创建过程2.2 三级缓存的处理 3. 遗留问题 1. 不使用三级缓存可能存在的问题 在 SpringBoot 框架中&#xff0c;如果只存在两级缓存&#xff0c;那么当发生循环依赖的时候可能存在异常的对象创建流程如下图所…

如何解析 Impala 的 C++ 报错堆栈

生产环境用的都是release build&#xff0c;C代码产生的报错堆栈里没有函数名&#xff0c;很难像Java报错堆栈那样方便定位问题。下面是一个常见的启动报错&#xff0c;一般在CLASSPATH设置有误时发生&#xff1a; I0619 19:13:00.951988 5279 status.cc:129] Failed to find…

【全新升级版】R语言实战(第3版),超过30万学习者入手的R语言教程

在我刚入学那会儿初次接触R语言&#xff0c;看的第一本工具书就是《R语言实战》&#xff0c;收获良多&#xff0c;当时还只是第二版。最近和人民邮电出版社的好朋友交流发现&#xff0c;他告诉我上个月刚刚出版了《R语言实战 第三版》 &#xff0c;豆瓣评分9.2&#xff0c;被称…

Linux之生产者消费者模型(上)——单生产者单消费者

文章目录 前言一、生产者消费者模型1.生产消费2.生产消费关系321原则生产消费模型的特点 二、基于阻塞队列&#xff08;blockqueue&#xff09;的生产消费模型1.概念2.单生产单消费模型代码运行分析两种情况导致的现象生产者生产的慢&#xff0c;消费者消费的快生产者生产的快&…

精彩回顾 | “XR云新未来:弹性算力赋能可交互、沉浸式商业实践” 赋能云端虚拟世界

6月15日&#xff0c;由平行云联合首都在线共同主办&#xff0c;中关村软件园协办&#xff0c;以“XR云新未来|弹性算力赋能可交互、沉浸式商业实践”为主题的XR行业交流盛会在北京成功举办。 活动邀请多位XR行业大咖&#xff0c;共同见证首都在线联合平行云发布Cloud XR平台。…

MySQL数据库——索引

MySQL数据库——索引 一、索引基本常识1.索引的概念2.索引的作用3.创建索引的依据 二、索引的分类1.普通索引2.唯一索引3.主键索引4.组合索引5.全文索引 三、索引的查看与删除1.查看索引2.删除索引 一、索引基本常识 数据库索引是数据库管理系统中一个排序的数据结构&#xff0…

OpenGL 深度测试

1.简介 深度缓冲就像颜色缓冲(Color Buffer)&#xff08;储存所有的片段颜色&#xff1a;视觉输出&#xff09;一样&#xff0c;在每个片段中储存了信息&#xff0c;并且&#xff08;通常&#xff09;和颜色缓冲有着一样的宽度和高度。深度缓冲是由窗口系统自动创建的&#xf…

6 从0开始学PyTorch | 构建模型、损失函数、广播机制

前面都在学一些PyTorch的基本操作&#xff0c;从这一节开始&#xff0c;真正进入到模型训练的环节了。原作者很贴心的一步步教我们实现训练步骤&#xff0c;并且还从一个最简单的例子出发&#xff0c;讲了优化方案。 宏观上的训练过程 image.png 当然这里所说的训练还没有到深…

vue进阶-vue-cli

CLI是Command-Line Interface&#xff0c;翻译为命令行界面&#xff0c;但是俗称脚手架。 Vue-CLI是一个官方发布 vue.js 项目脚手架&#xff0c;使用 vue-cli 可以快速搭建 Vue 开发环境以及对应的 webpack 配置。 vue项目相关文件以 .vue 为后缀&#xff0c;需要事先安装 N…

【LeetCode热题100】打卡第25天:柱状图中最大的矩形

文章目录 柱状图中最大的矩形⛅前言&#x1f512;题目&#x1f511;题解 柱状图中最大的矩形 ⛅前言 大家好&#xff0c;我是知识汲取者&#xff0c;欢迎来到我的LeetCode热题100刷题专栏&#xff01; 精选 100 道力扣&#xff08;LeetCode&#xff09;上最热门的题目&#xf…

GEE:绘制一个点的Landsat1985-2020年逐日NDVI时间序列折线图

作者:CSDN @ _养乐多_ 本文记录了在GoogleEarthEngine(GEE)平台上选择一个点,根据该点在时间段内所有有效像素值绘制折线图的代码。 结果如下图所示, 文章目录 一、代码二、代码链接一、代码 var roi = geometry Map.addLayer(roi, {color

6.15集合1 和 泛型

举例 1&#xff1a;中药店&#xff0c;每个抽屉外面贴着标签 举例 2&#xff1a;超市购物架上很多瓶子&#xff0c;每个瓶子装的是什么&#xff0c;有标签 举例 3&#xff1a;家庭厨房中 集合 我们接下来要学习的内容是Java基础中一个很重要的部分&#xff1a;集合 1 Coll…

【服务器数据恢复】AIX下raid故障导致pool无法加载的数据恢复案例

服务器数据恢复环境&#xff1a; IBM P740小型机AIX操作系统Sybase数据库V7000存储。V7000存储配置了12块SAS机械硬盘&#xff08;其中一块为热备盘&#xff09;组建一组raid5磁盘阵列。存储设备一共创建了2组Mdisk&#xff0c;加到一个pool中。 服务器故障&#xff1a; IBM V…

网络管理与维护(三)网络安全

网络安全 网络安全威胁 非授权访问 信息泄漏 破坏数据完整性 拒绝服务攻击 利用网络传播病毒 安全服务和安全机制 总结 1.通常可以把网络信息安全的问题划分为物理层、网络层、数据层和内容层四个层面。 2.网络存在的威胁主要表现&#xff1a; 非授权访问、信息泄漏、破坏数…