网站友情链接与排名网页制作与网站建设ppt

张小明 2026/3/12 21:01:56
网站友情链接与排名,网页制作与网站建设ppt,电子商城有哪些,网站服务内容网站建设流#xff08;Stream#xff09;是什么#xff1f;流#xff08;Stream#xff09;是 Java 中用来处理输入和输出#xff08;I/O#xff09;操作的基本抽象#xff0c;它可以用来读取和写入数据。流分为两种#xff1a;字节流#xff08;Byte Stream#xff09;Stream是什么流Stream是 Java 中用来处理输入和输出I/O操作的基本抽象它可以用来读取和写入数据。流分为两种字节流Byte Stream用于处理原始二进制数据如文件、图片等。字符流Character Stream用于处理字符数据支持对字符数据的编码和解码。在序列化和反序列化的过程中我们主要使用字节流。特别是在将对象写入到文件、网络或数据库时会用到ObjectOutputStream和ObjectInputStream这两个类它们分别属于字节流的一部分。什么时候会用到流在实际开发中流常用于以下几个场景1.文件操作读取和写入文件在开发中常常需要将对象保存到文件中或者从文件中读取对象数据。这时我们就会用到流结合序列化来实现对象的持久化。示例将对象写入文件import java.io.*; public class FileExample { public static void main(String[] args) throws IOException { Person person new Person(Alice, 30); // 序列化将对象写入文件 FileOutputStream fileOut new FileOutputStream(person.ser); ObjectOutputStream out new ObjectOutputStream(fileOut); out.writeObject(person); // 对象序列化到文件 out.close(); fileOut.close(); // 反序列化从文件读取对象 FileInputStream fileIn new FileInputStream(person.ser); ObjectInputStream in new ObjectInputStream(fileIn); Person deserializedPerson (Person) in.readObject(); in.close(); fileIn.close(); System.out.println(deserializedPerson); } }在这个例子中ObjectOutputStream用来将person对象序列化并写入文件而ObjectInputStream用来从文件中读取并反序列化回原始对象。2.网络传输客户端与服务器之间的数据传输在分布式系统中客户端和服务器之间需要通过网络传输数据。如果传输的是对象那么对象必须先序列化为字节流才能通过网络发送。接收端收到数据后再反序列化还原为对象。示例假设有一个简单的客户端和服务器客户端将对象发送给服务器// 客户端发送对象 Socket socket new Socket(localhost, 8080); ObjectOutputStream out new ObjectOutputStream(socket.getOutputStream()); Person person new Person(Bob, 25); out.writeObject(person); // 序列化对象并发送 out.close(); socket.close(); // 服务器接收对象 ServerSocket serverSocket new ServerSocket(8080); Socket clientSocket serverSocket.accept(); ObjectInputStream in new ObjectInputStream(clientSocket.getInputStream()); Person receivedPerson (Person) in.readObject(); // 反序列化对象 System.out.println(Received person: receivedPerson); in.close(); clientSocket.close(); serverSocket.close();这个例子演示了如何通过ObjectOutputStream将一个对象通过网络发送给服务器并使用ObjectInputStream从网络读取并反序列化对象。3.数据库存储持久化对象持久化在一些情况下我们需要将对象的数据存储到数据库中。这时候我们可能会使用流通过序列化来将对象转化为二进制数据并存入数据库的 BLOB 字段大二进制对象。当需要读取对象时再从数据库中获取二进制数据通过反序列化将其恢复为 Java 对象。示例假设我们需要将一个Person对象存储到数据库中的 BLOB 字段// 将对象序列化并存储到数据库 String sql INSERT INTO persons (data) VALUES (?); PreparedStatement statement connection.prepareStatement(sql); ByteArrayOutputStream byteArrayOut new ByteArrayOutputStream(); ObjectOutputStream out new ObjectOutputStream(byteArrayOut); out.writeObject(person); byte[] personData byteArrayOut.toByteArray(); statement.setBytes(1, personData); statement.executeUpdate();读取时我们可以通过ObjectInputStream将字节流反序列化回对象// 从数据库中读取对象并反序列化 String sql SELECT data FROM persons WHERE id ?; PreparedStatement statement connection.prepareStatement(sql); ResultSet rs statement.executeQuery(); if (rs.next()) { byte[] personData rs.getBytes(data); ByteArrayInputStream byteArrayIn new ByteArrayInputStream(personData); ObjectInputStream in new ObjectInputStream(byteArrayIn); Person person (Person) in.readObject(); System.out.println(person); }4.会话管理在 Web 应用中使用HttpSession来保存用户的会话信息。在某些情况下如保存用户对象你可能需要将 Java 对象序列化成字节流存入会话中或者从会话中读取并反序列化。例如存储用户登录信息HttpSession session request.getSession(); User user new User(john, password123); session.setAttribute(user, user); // 将对象存入会话自动序列化当需要使用该信息时可以从会话中取出对象User user (User) session.getAttribute(user); // 获取并反序列化对象总结流主要用于以下几种场景文件操作将对象存储到文件或从文件读取。网络传输通过网络发送和接收对象。数据库存储将对象序列化为字节流并存入数据库或从数据库中读取字节流并反序列化。会话管理在 Web 应用中将对象存储到用户会话中。在这些场景中使用流是为了处理数据的输入输出操作而序列化和反序列化则是将 Java 对象转换为字节流的关键技术。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

金融网站开发方案wordpress 一句话木马

Windows on Arm运行PyTorch-DirectML体验 在轻薄本续航动辄突破20小时的今天,越来越多开发者开始把目光投向搭载高通骁龙芯片的Windows on Arm(WOA)设备。像Surface Pro X、ThinkPad X13s这类产品,凭借出色的移动办公能力&#x…

张小明 2026/3/5 5:21:42 网站建设

奉贤集团公司网站建设湛江企业网站

3步轻松配置AMD平台Flash-Attention:突破AI算力瓶颈的实用指南 【免费下载链接】flash-attention Fast and memory-efficient exact attention 项目地址: https://gitcode.com/GitHub_Trending/fl/flash-attention 还在为AI大模型训练时GPU内存不足而烦恼吗&…

张小明 2026/3/5 5:21:44 网站建设

南宁哪些公司专业做网站网站主要功能

SpringBoot游戏代练服务订单管理系统 摘 要 在当前游戏产业蓬勃发展的浪潮下,游戏代练作为一种新兴的服务模式,逐渐在游戏玩家群体中获得了广泛认可。随着代练需求的日益增长,市场对高效、规范的游戏代练服务管理系统的渴望愈发强烈。[3]本 S…

张小明 2026/3/5 5:21:45 网站建设

中国建设银行网站网上银行南山做网站的公司

千万不能错过!太原智慧社区文化建设,选对了才能真正受益!引言随着城市化进程的不断推进,智慧社区建设已成为提升居民生活质量、促进社会和谐的重要手段。在太原,智慧社区文化建设更是备受关注。如何在众多方案中选择最…

张小明 2026/3/5 5:21:45 网站建设

网站建设和维护工作金堂企业网站建设

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个电商订单管理系统的核心模块,要求:1. 实现订单(Order)和订单项(OrderItem)的一对多关系 2. 使用MyBatis collection处理订单详情查询 3. 包含分页查…

张小明 2026/3/5 5:21:47 网站建设

网站建设各部门职责策划多久可以拿证

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个基于C# Socket的多用户聊天室系统。要求实现以下功能:1) 用户登录和身份验证;2) 多用户同时在线;3) 消息广播功能;4) 私聊功…

张小明 2026/3/5 5:21:48 网站建设