`
lvhuiqing
  • 浏览: 253207 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

Java序列化之三: 常见实例分析

阅读更多
1,HTTPSession与Serializale

   一个很容易被人无视的事实是:保存在HTTPSession中的对象,最好要实现Serializable

接口。(当然,在大部分情况下即使不实现也不会程序也不会出错)


   根据目前的调查结果,这样做的好处有两个:

   ① 当Servlet容器重新启动或者application reload的时候,为了保存最终用户的状态,

可以将HTTP Session中的对象序列化,在启动完成或者reload完成之后,可以重新反序列

化,让终端用户感受不到服务端重启或者reload。


   源自以下网址
   http://book.geocities.jp/bits_of_java/java/io/serializable/index.html
   http://docs.oracle.com/cd/E21043_01/web.1111/b60993/sessions.htm

   ② 当Servlet容器做clustering的时候,HTTPSession中的对象序列化可以保证多台HOST上的状态同步。

   源自以下网址

   http://book.geocities.jp/bits_of_java/java/io/serializable/index.html


2,为什么Servlet实现了Serializable接口

   参见上述理由的第2点

   源自一下网址
   http://www.jguru.com/faq/view.jsp?EID=46477

3,EJB与Serializable

   为了能够远程调用EJB中的SessionBean,SessionBean在定义的时候必须要求实现了Serializable接口。

   源自以下网址
   http://www.ibm.com/developerworks/jp/websphere/library/java/ejb_intro/4.html
分享到:
评论

相关推荐

    通过实例深入了解java序列化

    通过实例深入了解 Java 序列化,可以帮助开发人员更好地理解 Java 序列化机制,避免一些常见的问题,提高开发效率。本文通过分析一些真实情境,帮助读者轻松牢记 Java 序列化中的一些高级认识。

    Java反序列化回显解决方案.docx

    Java序列化是指将对象的状态信息转换为可以存储或传输的形式的过程。相反,反序列化则是在适当的时候把这个流转换回原对象的过程。当应用程序接收来自不受信任源的数据并进行反序列化时,可能触发安全漏洞。例如,...

    Java反序列化攻击深度解析与新防御思路

    内容概要:本文详细介绍了Java反序列化的基本概念及其常见的攻击点,重点分析了反序列化过程中可能的安全风险及相应的防御方法。文中通过具体案例展示了如何利用代理模式进行反序列化攻击,探讨了高版本中利用JEP290...

    反序列化代码……备忘一下……

    2. **源码分析**:博主可能详细讲解了反序列化的源码实现,包括如何读取字节流,解析数据结构,并重建对象实例。这可能涉及到反射、类型判断以及内存管理等概念。 3. **工具**:在处理反序列化时,可能会用到一些...

    第85天:CTF夺旗-JAVA考点反编译&XXE&反序列化1

    Java的反序列化机制允许对象的状态从字节流恢复到对象实例。然而,如果序列化和反序列化过程没有正确地进行安全控制,攻击者可能注入恶意对象,触发任意代码执行。常见的利用方式包括构造特殊的序列化流,或利用不...

    实例分析java对象的序列化和反序列化

    Java对象的序列化和反序列化是编程中常见的任务,主要目的是为了持久化对象的状态或者在网络间传递对象。本文将详细解析如何在Java中实现这一过程,并探讨其具体用途。 首先,要理解序列化的基本概念。序列化是将...

    Java编程模式与范例:基础开发技巧

    - **IO流**:了解输入/输出流的基本概念,包括文件操作、网络数据传输和对象序列化。 - **多线程**:学习如何创建和管理线程,理解同步和并发控制,如synchronized关键字、wait/notify机制和并发工具类。 3. **...

    java源码包---java 源码 大量 实例

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    java实现http请求以及解析json与java对象转换 项目源代码实例

    - JSON序列化:将Java对象转换为JSON字符串,如使用Jackson的`ObjectMapper.writeValueAsString()`方法。 3. **Java对象转换**: - 数据模型(Data Model):定义Java类来表示JSON数据结构。 - 注解:如Jackson...

    java 对象与xml 相互序列化 xml4j (含源码)

    Java对象与XML之间的相互序列化是软件开发中常见的任务,特别是在数据交换、持久化或配置存储等场景。XML4J是一个用于Java对象到XML转换的工具,它提供了方便的方法将Java对象序列化为XML文档,同时也能从XML文档中...

    250个Java实例源代码

    5. **输入输出流**:文件读写,字节流和字符流,缓冲流,对象序列化等。 6. **多线程**:线程的创建、同步机制(synchronized关键字、wait()、notify()方法)、线程池等。 7. **网络编程**:Socket通信,URL连接,...

    JavaRPC框架

    在Java中,常见的序列化库有Java自带的序列化、protobuf、JSON等。 3. **服务注册与发现**:服务提供者需要将自身服务注册到一个中心注册表,服务消费者通过查找注册表获取服务地址,实现动态发现和调用。 4. **...

    JAVA 编程100个实例

    实例将涵盖字节流、字符流、缓冲流、对象序列化和反序列化等操作。 7. **网络编程**:Java提供了Socket编程接口,实例会展示如何建立客户端和服务器之间的通信,进行数据的发送和接收。 8. **设计模式**:在一些...

    DeserializeExploit.jar

    在Java编程语言中,对象序列化和反序列化是常见的数据存储和传输手段。然而,这个过程也隐藏着潜在的安全风险,尤其当涉及到不安全的反序列化操作时。本篇文章将详细探讨Java反序列化漏洞,并以"DeserializeExploit....

    JAVA实例精通源代码

    源代码可能包含文件读写、网络通信或数据序列化等场景,帮助读者掌握FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等类的使用。 6. **多线程**:Java提供了丰富的多线程支持,源码中会包含...

    Java经典源码实例

    6. **输入输出流**:了解I/O流的概念,包括文件读写、对象序列化和反序列化,以及如何使用BufferedReader和BufferedWriter进行文本处理。 7. **多线程**:学习如何创建和管理线程,理解线程同步和通信,如...

    《JAVA项目实例源码》

    另外,Java的输入输出流(I/O)和文件操作也可能在项目实例中体现,如File类的使用、数据的序列化与反序列化、网络通信的Socket编程等。这在处理数据读写和实现跨进程通信时至关重要。 除此之外,源码可能包含对Java ...

    基于Java的实例源码-一款Java网络格斗游戏源码.zip

    4. **对象序列化**:在网络传输中,游戏状态和玩家信息可能需要进行序列化和反序列化,以便在网络间传输。 5. **游戏逻辑**:包括角色的动作、技能、战斗系统等,这部分代码涉及到大量的算法和数据结构设计。 6. *...

    java2c工具(修复)

    4. **序列化/反序列化**:提供Java方法将对象序列化为C结构体,以及从C结构体反序列化回Java对象的API。 5. **接口封装**:如果需要,可以创建Java和C之间的调用接口,例如通过JNI(Java Native Interface)。 使用...

    100个Java经典开发实例源码

    10. **I/O流**:Java的I/O流处理涵盖了文件读写、对象序列化、网络数据传输等功能,实例会帮助开发者理解和应用这些功能。 通过深入研究这100个Java经典开发实例源码,开发者不仅可以巩固Java语法,还能学习到实际...

Global site tag (gtag.js) - Google Analytics