有关Java学习的记录Two

本文详细介绍了Java中I/O流的基本概念与使用方法,包括输入流与输出流的分类及其实现,如字节流与字符流的区别,缓冲流的作用,以及FileInputStream和FileOutputStream的使用。此外还涉及了数据流、随机访问文件、压缩处理等内容。
  1. 流(stream)是指计算机的输入输出操作中各部件之间的数据流动。按照数据的传输方向,流可分为输入流与输出流先进先出,顺序存取,只读或只写
  2. 缓冲流:为一个流配备一个缓冲区,一个缓冲区就是专门用于传送数据的一块内存。
  3. I/O流:Java语言提供了java.io包,该包中的每一个类都代表了一种特定的输入或输出流。
  4. 两种类型的输入输出流:一种面向字节的流:数据处理以字节为基本单位,每次读写8位二进制;一种面向字符的流,用于字符数据处理,一次读写16位二进制数,并将其左一个字符而不是二进制来处理。
  5. 字符流的源或目标通常是文本文件。Reader和Writer是字符流的父类,都是抽象类。两大类:一类用来从数据源读入数据或往目的地写出数据(节点流),另一类对数据执行某种处理(处理流)。Java把一个汉字或英文字母作为一个字符对待,回车或换行作为两个字符对待。BufferReader使用时必须创建FileReader类对象,在以该对象为参数创建BufferedReader类的对象。需要将执行读写操作的语句包括在try块中,并通过相应的catch块来处理可能产生的异常。
  6. flush()方法将缓冲区中的数据写到文件中。out对象的write()方法写入数据时,不会写入回车,因此需要使用newLine()方法在每行数据后加入回车,以保证目标文件与源文件相一致。
  7. public FileReader(String name); //根据文件名创建一个可读取的输入流对象
    public BufferedReader(Reader in); //创建缓冲区字符输入流
    public BufferedReader(Reader in,int size); //创建输入流并设置缓冲区大小
    public FileWriter(String name); //根据文件名创建一个可写入的输出流对象
    public FileWriter(String name,Boolean a); //a 为真,数据将追加在文件后面
    public BufferedWriter(Writer out); //创建缓冲区字符输出流
    public BufferedWriter(Writer out,int size); //创建输出流并设置缓冲区大小
  8. InputStream类和OutputStream类是所有字节流的父类,都是抽象类。FileInputStream和FilerOutputStream是其的直接子类,分别实现了在数据的读写操作的同时能对所传输的数据做指定类型或格式的转换,即可实现对二进制字节数据的理解和编码转换。DataInputStream的读入操作如遇到文件结尾就会抛出EOFExcaption。如果在读取过程中出现异常就属于IOException.
  9. DataInputStream(InputStream in); //创建新输入流,从指定的输入流 in 读数据
    DataOutputStream(OutputStream out); //创建新输出流,向指定的输出流 out 写数据
  10. 标准输入:System.in(BufferedInputStream);标准输出:System.out(PrintStream);标准错误输出:System.err(PrintStream)
  11. System.dirSep表示目录分隔符。RandomAccessFile类用于随机文件的创建和访问。在其创建方法中的mode(r:只读方式;rw:读写方式)
  12. Java.util.zip包提供了可对文件的压缩和解压进行处理的类。它们继承自字节流OutputStream和InputStream。其中GZIPOutputStream和ZIpOutputStream可分别把数据压缩成GZIP和ZIP格式。
  13. 向量和数组相似,都可以保存一组数据(数据列表),但是数组的大小是固定,一旦制定,就不能改变。而向量却提供了一种类似于“动态数组”的功能,向量与数组的重要区别之一就是向量的容量可变。可以在向量的任意位置插入不同类型的对象,无需考虑对象的类型,也无需考虑向量的容量。向量只能存储对象,不能直接存储简单数据类型。
  14. 一个Hashtable中的所有关键字都是唯一的。
  15. 在写GUI程序时,Swing和AWT都能作用。更建议使用Swing。一个基于Swing的应用程序在任何平台上都会有相同的外观和风格,AWT不是。
  16. TCP/IP分为四个层次:
    网络接口层:负责接收和发送物理帧;
    网络层:负责相邻节点之间的通信;
    传输层:负责起点到终点的通信;
    应用层:提供诸如文件传输、电子邮件等应用程序。

  17. java.net包中有InetAddress类的定义,用于IP地址和域名。统一资源定位符URL是www客户机访问Internet时用来标识资源的名字和地址。超文本链路由统一资源定位符URL维持。一个URL对象可以表示一个网络资源。程序利用URL能实现Internet寻址,网络资源的定位连接,在客户机与服务器之间直接访问等。URLConnection对象相当于完成对指定URL的一个HTTP连接。
  18. 多态性是指允许不同子类型的对象对同一消息做出不同的响应方法重载(overload)实现的是编译时的多态性(前绑定),方法重写(override)实现的是运行时多态性(后绑定)。实现运行时多态:①方法重写(子类继承父类并重写父类中已有的或抽象的方法);②对象造型(用父类型引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)重写Overriding是父类与子类之间多态性的一种表现,重载Overload是一个类中多态性的一种表现。
  19. Interface和abstract:接口比抽象类更加抽象,因为抽象类中可以定义构造器,可以有抽象方法和具体方法,而接口中不能定义构造器而且其中的方法全部都是抽象方法。抽象类中的成员可以是private,默认,protected,public,而接口中的成员全都是public
  20. 直接for循环效率最高,其次是迭代器和forEach操作。
  21. java反射机制:运行时取得类的方法和字段相关信息;创建某个类的新实例;取得字段引用直接获取和设置对象字段,无论访问修饰符是什么;用处:观察或操作应用程序的运行时行为;调试或测试程序,因为可以直接访问方法,构造函数和成员字段;通过名字调用不知道的方法并使用该信息来创建对象和调用方法。
  22. 泛型:使用泛型类型可以最大限度地重用代码,保护类型的安全以及提高性能(创建集合类),在性能上不如数组快
【电力系统】单机无穷大电力系统短路故障暂态稳定Simulink仿真(带说明文档)内容概要:本文档围绕“单机无穷大电力系统短路故障暂态稳定Simulink仿真”展开,提供了完整的仿真模型与说明文档,重点研究电力系统在发生短路故障后的暂态稳定性问题。通过Simulink搭建单机无穷大系统模型,模拟不同类型的短路故障(如三相短路),分析系统在故障期间及切除后的动态响应,包括发电机转子角度、转速、电压和功率等关键参数的变化,进而评估系统的暂态稳定能力。该仿真有助于理解电力系统稳定性机理,掌握暂态过程分析方法。; 适合人群:电气工程及相关专业的本科生、研究生,以及从事电力系统分析、运行与控制工作的科研人员和工程师。; 使用场景及目标:①学习电力系统暂态稳定的基本概念与分析方法;②掌握利用Simulink进行电力系统建模与仿真的技能;③研究短路故障对系统稳定性的影响及提高稳定性的措施(如故障清除时间优化);④辅助课程设计、毕业设计或科研项目中的系统仿真验证。; 阅读建议:建议结合电力系统稳定性理论知识进行学习,先理解仿真模型各模块的功能与参数设置,再运行仿真并仔细分析输出结果,尝试改变故障类型或系统参数以观察其对稳定性的影响,从而深化对暂态稳定问题的理解。
本研究聚焦于运用MATLAB平台,将支持向量机(SVM)应用于数据预测任务,并引入粒子群优化(PSO)算法对模型的关键参数进行自动调优。该研究属于机器学习领域的典型实践,其核心在于利用SVM构建分类模型,同时借助PSO的全局搜索能力,高效确定SVM的最优超参数配置,从而显著增强模型的整体预测效能。 支持向量机作为一种经典的监督学习方法,其基本原理是通过在高维特征空间中构造一个具有最大间隔的决策边界,以实现对样本数据的分类或回归分析。该算法擅长处理小规模样本集、非线性关系以及高维度特征识别问题,其有效性源于通过核函数将原始数据映射至更高维的空间,使得原本复杂的分类问题变得线性可分。 粒子群优化算法是一种模拟鸟群社会行为的群体智能优化技术。在该算法框架下,每个潜在解被视作一个“粒子”,粒子群在解空间中协同搜索,通过不断迭代更新自身速度与位置,并参考个体历史最优解和群体全局最优解的信息,逐步逼近问题的最优解。在本应用中,PSO被专门用于搜寻SVM中影响模型性能的两个关键参数——正则化参数C与核函数参数γ的最优组合。 项目所提供的实现代码涵盖了从数据加载、预处理(如标准化处理)、基础SVM模型构建到PSO优化流程的完整步骤。优化过程会针对不同的核函数(例如线性核、多项式核及径向基函数核等)进行参数寻优,并系统评估优化前后模型性能的差异。性能对比通常基于准确率、精确率、召回率及F1分数等多项分类指标展开,从而定量验证PSO算法在提升SVM模型分类能力方面的实际效果。 本研究通过一个具体的MATLAB实现案例,旨在演示如何将全局优化算法与机器学习模型相结合,以解决模型参数选择这一关键问题。通过此实践,研究者不仅能够深入理解SVM的工作原理,还能掌握利用智能优化技术提升模型泛化性能的有效方法,这对于机器学习在实际问题中的应用具有重要的参考价值。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值