#总结#

本文深入探讨I/O框架的基本概念,包括流的分类、字节流与字符流的特性,以及字符编码的理解。同时,文章详细介绍了网络编程的基础,如网络模型、TCP/UDP协议和IP协议的工作原理,以及基于TCP的Socket编程方法。

 

 

周总结
又经历了一周努力的学习总结一下


I/O框架
1、什么是流
I.内存与存储设备之间传输数据的通道
2、流的分类
I.方向(重点)
(1)输入流:将<存储设备>中的内容读入到<内存>中
(2)输出流:将<内存>中的内容写入到<存储设备>中
II.单位
(1)字节流:以字节为单位,可以读写所有数据 。
(2)字符流:以字符为单位,只能读写文本数据
III.功能
(1)节点流:具有实际传输数据的读写功能
(2)过滤流:在节点流的基础之上增强功能。
3、字节流
I.字节流的父类
InputStream(抽象类):字节输入流
public int read(){}
public int read(byte[] b){}
public int read(byte[] b,int off,int len){}

OutputStream(抽象类):字节输出流
public void write(int n){}
public void write(byte[] b){}
public void write(byte[] b,int off,int len){}
II.字节节点流
FileOutputStream:
public void write(byte[] b) //一次写多个字节,将b数组中所有字节,写入输出流。
FileInputStream:
public int read(byte[] b) //从流中读取多个字节,将读到内容存入b数组,返回实际
读到的字节数;如果达到文件的尾部,则返回-1
III.字节过滤流
(1)BufferedOutputStream 传入字节输出流对象,创建对象
(2)BufferedInputStream	传入字节输入流对象,创建对象
(3)提供了IO效率,减少访问磁盘的次数。数据存放在缓冲区中。flush刷新缓冲区,提交数据

IV.对象流
(1)ObjectOutputStream 传入字节输出流对象,创建对象
(2)ObjectInputStream	传入字节输入流对象,创建对象
(3)增强了读写8种基本数据类型和字符串功能
(4)读写对象,实现对象的持久化存储
(5)增强了读写对象的功能:
①readObject() 从流中读取一个对象
②writeObject(Object obj) 向流中写入一个对象,对象中的属性必须是实现Serailizable接口
V.序列化/反序列化
(1)必须实现Serializable接口。 标识序列化功能
(2)必须保证所有属性均支持序列化。
(3)Transient修饰的为临时属性,不参与序列化
(4)读取到文件末尾时:java.IO.EOFException

4、字符编码
I.GBK 简体中文、扩展
II.UTF-8 针对Unicode的可变长度字符编码
III.GB2312 简体中文
IV.当编码和解码方式不一致时,会出现乱码

5、字符流
I.字符流的父类
(1)Reader字符输入流
①public int read(){}
②public int read(char[] c){}
③public int read(char[] b,int off,int len){}
(2)Writer字符输出流
①public void write(int n){}
②public void write(String str){}
③public void write(char[] c){}
II.字符节点流
(1)FileWriter:
public void write(String str) //一次写多个字符,将b数组中所有字符,写入输出流
(2)FileReader:
public int read(char[] c) //从流中读取多个字符,将读到内容存入c数组,返回实际
读到的字符数;如果达到文件的尾部,则返回-1。
III.字符过滤流
(1)BufferedWriter:
支持输入换行符。
可一次写一行、读一行
(2)PrintWriter
封装了print() / println()方法,支持写入后换行。
(3)BufferedReader
(4)支持写一行、读一行

6、字符节点流
I.桥转换流
(1)InputStreamReader
(2)OutputStreamWriter
(3)可将字节流转换为字符流,可设置编码方式(编码与解码要一致)
II.使用步骤
(1)创建节点流
(2)[创建过滤流,设置字符编码集]
(3)封装过滤流
(4)读写数据
(5)关闭流
7、File
I.FileFilter接口
public interface FileFilter
boolean accept(File pathname)
当调用File类中的listFiles()方法时,支持传入FileFilter接口接口实现类,
对获取文件进行过滤,只有满足条件的文件的才可出现在listFiles()的返回
值中。
II.File常用方法:
file.canExecute();//所有可以打开的文件或文件夹,都是可执行的!
file.canWrite();//能不能修改文件
file.canRead();//能不能执行文件
file.createNewFile();//新建一个文件,如果不存在的话
file.delete());如果文件存在,则删除,返回true
file.deleteOnExit();//JVM终止时,执行删除文件
file.exists();检查当前路径是否存在传入的文件或者文件夹(file代表的)
file.getAbsolutePath();//绝对
file.getPath();//相对
file.getName();//文件名 名字.后缀 也可以获取文件夹的名字,这个是获得指定路径的最后的一个文件(名字.后缀)或文件夹名称
file.getFreeSpace() / 1024 / 1024/ 1024);//获取硬盘的空闲空间
file.getTotalSpace()/1024 / 1024 / 1024);//总空间
file.getParent();//指定文件的上一级目录获取父目录路径(不包括最低层的文件)
file.isDirectory();//判断是否为文件夹
file.isFile();//判断是否为文件
file.isHidden();//判断文件是否为隐藏
System.currentTimeMillis() - file.lastModified() / 1000 / 60);//获取文件最后一次修改的时间
file.length();//文件内容的字节
file.renameTo(File d)//讲路径下的文件冲命名为xxx,传入是File对象
//	file.mkdirs();//创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录。 请注意,如果此操作失败,它可能已成功创建一些必需的父目录。目录就是文件夹
网络编程
1.网络
(1)由点和线构成,表示诸多对象间的相互联系。
(2)为实现资源共享和信息传递,通过通信线路连接起来的若干主机(Host)。
互联网:(Internet)点与点相连
万维网:(WWW – World Wide Web)端与端相连
物联网:( IoT - Internet of things) 物与物相连 •
(3) 网络编程:让计算机与计算机之间建立连接、进行通信
2.网络模型
(1)OSI(Oper System Interconnection)开放式系统互联
第七层:应用层负责文件访问和管理、可靠运输服务、远程操作服务。(HTTP、FTP、SMTP)
第六层:表示层负责定义转换数据格式及加密,允许选择以二进制或ASCII格式传输。
第五层:会话层负责使应用建立和维持会话,使通信在失效时继续恢复通信。(断点续传)
第四层:传输层负责是否选择差错恢复协议、数据流重用、错误顺序重排。(TCP、UDP)
第三层:网络层负责定义了能够标识所有网络节点的逻辑地址。(IP地址)
第二层:链路层在物理层上,通过规程或协议(差错控制)来控制传输数据的正确性。(MAC)
第一层:物理层为设备之间的数据通信提供传输信号和物理介质。(双绞线、光导纤维)
(2)TCP/IP模型
一组用于实现网络互连的通信协议,将协议分成四个层次
第四层:应用层负责传送各种最终形态的数据,是直接与用户打交道的层,典型协议是HTTP、FTP等。
第三层:传输层负责传送文本数据,主要协议是TCP、UDP协议。
第二层:网络层负责分配地址和传送二进制数据,主要协议是IP协议。
第一层:接口层负责建立电路连接,是整个网络的物理基础,典型的协议包括以太网、ADSL等等
3.TCP/UDP协议和IP协议
TCP协议:Transmission Control Protocol 传输控制协议
是一种面向连接的、可靠的、基于字节流的传输层通信协议。数据大小无限制。建立连 接的过程需要三次握手,断开连接的过	程需要四次挥手。
UDP协议:User Datagram Protocol 用户数据报协议
是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,每个包的大小 64KB。

IP协议:Internet Protocol Address 互联网协议地址/网际协议地址
分配给互联网设备的数字标签(唯一标识)。
IP地址分为两种:
IPV4:4字节32位整数,并分成4段8位的二进制数,每8位之间用圆点隔开,每8位 整数可以转换为一个0~255的十进制整数。 格式:D.D.D.D 例如:255.255.255.255
IPV6:16字节128位整数,并分成8段十六进制数,每16位之间用圆点隔开,每16 位整数可以转换为一个0~65535的十进制数。 格式:X.X.X.X.X.X.X.X 例如:FFFF.FFFF.FFFF.FFFF.FFFF.FFFF.FFFF.FFFF

I.IPV4的应用分类
A类:政府机构,1.0.0.1 ~ 126.255.255.254
B类:中型企业,128.0.0.1 ~ 191.255.255.254
C类:个人用户,192.0.0.1 ~ 223.255.255.254
D类:用于组播,224.0.0.1 ~ 239.255.255.254
E类:用于实验,240.0.0.1 ~ 255.255.255.254
回环地址:127.0.0.1,指本机,一般用于测试使用。
查看IP命令:ipconfig • 测试IP命令:ping D.D.D.D
II.Port(端口)
端口号:在通信实体上进行网络通讯的程序的唯一标识。
端口分类:
公认端口:0~1023
注册端口:1024~49151
动态或私有端口:49152~65535
常用端口:
MySql:3306
Oracle:1521
Tomcat:8080
SMTP:25
Web服务器:80
FTP服务器:21
4.InetAddress类
概念:表示互联网协议(IP)地址对象,封装了与该IP地址相关的所有信息,构造方法私有化,无法创建对象 并提供获取信息的常用方法。
方法:
public static InetAddress getLocalHost() 获得本地主机地址对象
public static InetAddress getByName(String host) 根据主机名称获得地址对象
public static InetAddress[] getAllByName(String host) 获得所有相关地址对象
public String getHostAddress() 获取IP地址字符串
public String getHostName() 获得IP地址主机名
5.基于TCP的网络编程(Socket)
I.Socket编程:
Socket(套接字)是网络中的一个通信节点。
分为客户端Socket与服务器ServerSocket。
通信要求:IP地址 + 端口号
II.开发步骤
• 建立通信连接(会话):
• 创建ServerSocket,指定端口号
• 调用accept等待客户端接入
• 客户端请求服务器:
• 创建Socket,指定服务器IP + 端口号
• 使用输出流,发送请求数据给服务器
• 使用输入流,接收响应数据到客户端(等待)
• 服务器响应客户端:
• 使用输入流,接收请求数据到服务器(等待)
• 使用输出流,发送响应数据给客户端

反射
1.类对象
类的对象:基于某个类 new 出来的对象,也称为实例对象。
类对象:类加载的产物,封装了一个类的所有信息(类名、父类、接口、 属性、方法、构造方法)
2.类对象的获取(创建)
通过类的对象,获取类对象
Student s = new Student();
Class c = s.getClass();
通过类名获取类对象
Class c = 类名.class;
通过静态方法获取类对象 ,常用的
Class c=Class.forName(“包名.类名”);
3.类对象的常用方法
• public String getName() 获取类对象的全限定名
• public Package getPackage() 获取类对象的包名
• public Class<? super T> getSuperclass() 获取父类的Class对象
• public Class<?>[] getInterfaces() 获取接口的Class对象
• public Field[] getFields() //获取属性(自身+父类的公开属性)
• public Field[] getDeclaredFields()//获得Class对象的自身所有属性(包括私有)
• public Method[] getMethods() 获取方法(自身+父类的所有公开方法)
• public Method[] getDeclaredMethods()//获得Class对象的自身所有方法(包括私有)
• public Constructor<?>[] getConstructors() 获得构造方法
• public T newInstance()//用Class对象创建实例对象

 

**高校专业实习管理平台设计与实现** 本设计项目旨在构建一个服务于高等院校专业实习环节的综合性管理平台。该系统采用当前主流的Web开发架构,基于Python编程语言,结合Django后端框架与Vue.js前端框架进行开发,实现了前后端逻辑的分离。数据存储层选用广泛应用的MySQL关系型数据库,确保了系统的稳定性和数据处理的效率。 平台设计了多角色协同工作的管理模型,具体包括系统管理员、院系负责人、指导教师、实习单位对接人以及参与实习的学生。各角色依据权限访问不同的功能模块,共同构成完整的实习管理流程。核心功能模块涵盖:基础信息管理(如院系、专业、人员信息)、实习过程管理(包括实习公告发布、实习内容规划、实习申请与安排)、双向反馈机制(单位评价与学生反馈)、实习支持与保障、以及贯穿始终的成绩评定与综合成绩管理。 在技术实现层面,后端服务依托Django框架的高效与安全性构建业务逻辑;前端界面则利用Vue.js的组件化特性与LayUI的样式库,致力于提供清晰、友好的用户交互体验。数据库设计充分考虑了实习管理业务的实体关系与数据一致性要求,并保留了未来功能扩展的灵活性。 整个系统遵循规范的软件开发流程,从需求分析、系统设计、编码实现到测试验证,均进行了多轮迭代与优化,力求在功能完备性、系统性能及用户使用体验方面达到较高标准。 **核心术语**:实习管理平台;Django框架;MySQL数据库;Vue.js前端;Python语言。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
在电磁散射与雷达技术的研究中,涉及粗糙表面电磁特性模拟的核心概念包括统计参数化建模方法、不同电场矢量方向的极化模式、特定方向的能量反射现象、理想化波前模型以及具有随机起伏特征的界面。以下是对这些要点的系统阐述: 统计参数化建模是一种基于表面统计特征描述其不规则性的电磁散射计算方法,尤其适用于均方根高度较小的粗糙界面在微波至毫米波频段的散射特性分析。 水平极化与垂直极化分别指电场矢量平行于地面和垂直于地面的振动状态。在雷达探测中,采用不同的极化模式有助于提升目标辨识度并抑制环境干扰。 当电磁波与物体相互作用时,部分能量沿接近入射方向返回,这种现象称为反向散射。其在雷达系统的探测灵敏度与目标特征分析中具有关键作用。 平面波是在均匀介质中传播的理想波型,其电场与磁场分布保持一致的相位关系,常作为理论简化模型用于电磁问题的解析与数值计算。 粗糙界面指具有随机起伏特征的表面,其不规则程度可通过均方根高度进行量化。这种结构特性会改变电磁波的传播路径与能量分布,进而影响信号的接收与处理。 相关压缩文件可能包含了实现上述建模方法的程序代码,通常采用数值计算语言编写,用于模拟不同极化状态下粗糙表面对平面波的反向散射响应。通过此类仿真,能够预测各类场景下的散射参数,为雷达系统设计与遥感数据解译提供理论依据。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
本资源包提供了一套针对五层办公建筑的完整毕业设计资料,总建筑面积为5324平方米,采用钢框架作为主要承重体系。该资料集整合了结构计算文档、建筑方案图及结构施工图等核心内容,可作为土木工程专业高年级学生深入理解实际工程应用的典型教学案例。以下为各组成部分的要点阐述: 1. **钢框架承重体系**:作为一种广泛应用于多层及高层建筑的结构形式,钢框架具备优异的承载能力、较轻的自重以及较高的施工效率。设计过程中需重点考量钢材的强度特性、耐久性能、防火处理及防锈措施。 2. **毕业设计任务**:此环节是土木工程专业学生在完成理论课程后进行的综合性实践训练,旨在通过模拟真实工程问题,提升其综合运用专业知识解决复杂技术难题的能力。 3. **结构计算文件**:作为设计的技术核心,该文件系统完成了各类荷载的统计与组合、整体稳定性验算、主要构件截面设计以及节点连接计算等内容,以确保结构在安全性与经济性方面达到平衡。 4. **计算机辅助设计源图**:采用CAD软件绘制的图纸源文件完整保留了建筑与结构设计的全部几何与标注信息,便于后续调整、深化及专项分析。 5. **建筑方案设计**:涵盖各层平面功能布局、立面造型设计与剖面构造详图,需综合考虑使用需求、空间组织、自然采光与通风效率以及节能设计原则。 6. **结构系统设计**:包括基础选型与布置、柱梁体系设计、楼盖系统选型,并需进行抗震设防与风荷载作用下的专项分析,以确保整体结构具有足够的刚度、强度与稳定性。 7. **工程建造设计流程**:涉及从地质勘察、施工组织设计、进度计划编制到质量与安全控制的全过程,是实现设计意图、完成实体建造的关键环节。 8. **高等教育应用**:本资料适用于高等院校相关专业的案例教学,能够帮助学生建立理论知识与工程实践之间的联系,强化其解决实际问题的综合技能。 9. **房地产开发关联**:此类设计方案在房地产项目中直接影响开发成本、产品定位与建设周期,是开发商、设计单位及施工方协同工作的重要技术基础。 通过系统研习本资料,学习者可全面掌握土木工程项目从方案构思、技术计算到施工图绘制的完整工作流程,对于深化专业认知、培养工程实践能力具有显著助益。同时,该案例亦展示了如何运用现代设计工具统筹考虑结构安全、建筑功能与经济可行性等多重目标。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值