iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java对象实例分析
  • 817
分享到

Java对象实例分析

2023-06-04 06:06:01 817人浏览 八月长安
摘要

这篇文章主要介绍“Java对象实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java对象实例分析”文章能帮助大家解决问题。1、寒冬的蛰伏这里的工作很繁忙,一年365天, 一天24小时几乎不停

这篇文章主要介绍“Java对象实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java对象实例分析”文章能帮助大家解决问题。

1、寒冬的蛰伏

这里的工作很繁忙,一年365天, 一天24小时几乎不停工。

但是我却是一个闲人, 因为我做的工作最近用的人太少了, 经常被冷落在一边。

大多数时候,我只能羡慕的看着线程反射、注解、集合、泛型这些明星员工在那里忙忙碌碌, 听着他们充满激情的的大声说笑。

他们都叫我序列化,想想也是, 我的工作就是把一个Java 对象变成二进制的字节流, 或者反过来把字节流变成Java 对象, 这有什么意思?

当大家需要一个Java 对象的时候, 直接new 出来不就得了, 对象不用了自然有令人胆战心惊的垃圾回收去处理。

但是存在即合理, 在jdk1.1的时代, 我就已经存在了。 当时人们的思想很超前: 网络就是计算机。 一个个Java 对象应该可以在网络中到处旅行 : 从一个机器出发时,就变成二进制字节流,顺着网络跨过千山万水, 到达另外一台机器,在那里摇身一变,恢复成Java 对象, 在那里继续运算。

Java对象实例分析

既然可以以二进制方式在网络中漫游, 那自然也可以把这些字节流存到硬盘中, 当JVM停机,整个世界坍塌以后, 线程,反射,注解都不复存在了, 而我的字节流还会在硬盘上默默等待, 等待下一次JVM的重生, 把对象恢复。

所以我觉得我的工作也很有价值, 从某种意义上来讲, 我可以让Java 对象跨越时间和空间而永生 !

这种永生是有代价的, 首先你必须得用Java, 这是废话, 因为我只是java对象序列化。

虽然那二进制字节流的格式是公开的, 你可以用任何语言(C,c++,python…)去解析读取, 但是解析以后又有什么用处呢? 那些字节流中会告知你这是哪个类的数据,字段的类型和值, 但是如果你没有相对应的Java 类,还是无法构建出Java 对象出来。
其次, 做序列化双方的类必须得一致, 要不然肯定出乱子。

大部分人都不知道在上个世纪末和本世纪初, 我还是随着J2EE火了一阵, 当时J2EE中有个叫RMI东西, 其实就是Java rpc。  由于我卓越的工作, 开发人员用可以轻松的调用远程服务器上的Java 方法, 就相当于调用本地方法一样, 很方便。

可惜的是这个RMI只能用在Java环境中,对于服务器来说这根本不是问题, 但是当时WEB应用正在兴起, 一个浏览器中是很难有Java环境的,  所以RMI很快就没落了, 我也随之被打入冷宫, 我也只好蛰伏下来,等待机会。

2、XML和JSON的挑战

后来我们这里来了一个叫XML的小伙子,很受大家的欢迎, 都喜欢把Java 对象序列化的工作交给他去做。

我不能坐以待毙, 我仔细的观察了几天以后, 终于发现这个家伙有个大缺点: 太复杂了!

对于我的Java 序列化,大部分情况下你只需要让你的类实现Serializable接口, 我就可以接管后续的所有工作。不用你操心了。

可是用XML, 你还得写一堆代码把一个类中的各个字段和他们的值变成XML标签/属性/值 才行。  当用来表示对象的XML字符串漫游到另外一个机器上, 还得有一堆代码把XML变成对象。

我嘲笑XML说: “小伙子, 你这也太麻烦了吧, 人类的时间多宝贵, 为了用XML做序列化,代价好高嗷!”

“老家伙,没你想的那么复杂, 你可能不知道, 我们有些类库能自动帮助把对象变成XML”    他毫不示弱。

“ 不要忘了 ”  小伙子补充道   “ 我们XML可是语言中立的, 在这里是Java对象, 到了客户端 什么语言都行 , Java/C/Python/Ruby… 都没问题, 甚至浏览器里的javascript都能处理, 这一点你不行了吧?”

这家伙戳到了我的痛处,  在浏览器中我的确需要一个Java 环境才行运行 ,  唉,真是成也Java ,败也Java。

我说: “我知道你是语言无关的, 但是你注意到没有, 你的XML标签冗余太多, 真正的数据很少。 比如有个Person类, 有两个字段name和address,  用你的XML做序列化就变成了这个样子

<person>    <name>abc</name>    <address>xyz</address></person>

, 这在网络上传输起来绝对是一种浪费! 我的java 字节流就不一样了, 二进制的,非常紧凑,一点都不浪费!“

XML小伙子沉默了, 小样, 我也抓住了你的痛点。

过了两天,这个小伙子又带来了一个叫jsON的小弟, 他得意洋洋的向我炫耀: 用了JSON以后,数据精简多了, 不信你看:{“name”:“abc”, “address”:“xyz”} , 现在我们不但语言中立,还很精简, 老家伙,这下你无话可说了吧。

Java对象实例分析

我认栽, 但是让XML也没高兴多久, 让他没有想到的是, Web时代JSON和Javascript是一对绝配, 联手统治了浏览器。 连XML自己都快没饭吃了。

3、新协议的崛起

其实我一直觉得我的二进制序列化方式能减少存储空间, 方便网络传输,只是我的硬伤是无法跨越语言。

不行, 我不能一直守着Java这一亩三分地了, 必须扩展支持多语言, 这样才能脱离Java环境。

有人说: 计算机的所有问题都可以通过增加一个中间层来解决。 我是不是也可以搞个中间层出来?

让这个中间层来定义/描述消息的格式,然后再弄一个小翻译器( 不,叫编译器显的更加高大上), 把这个程序员自定义的消息格式转换成各种语言的实现,例如java, python, c++等等。

在转换好的语言实现里边,自动包含了要被序列化的类的定义, 以及实现序列化和反序列化的代码, 当然序列化以后的数据是二进制的。

等到二进制的字节流通过网络传输到另外一台机器, 就可以反序列化为各种语言(例如Python)的对象了, 当然必须是同一个消息格式产生的Python类。

Java对象实例分析

不仅仅是Python, C++, Go, C# , 甚至Javascript 都可以用 !

关于“Java对象实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: Java对象实例分析

本文链接: https://www.lsjlt.com/news/236774.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java对象实例分析
    这篇文章主要介绍“Java对象实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java对象实例分析”文章能帮助大家解决问题。1、寒冬的蛰伏这里的工作很繁忙,一年365天, 一天24小时几乎不停...
    99+
    2023-06-04
  • JavaScript对象实例分析
    本篇内容介绍了“JavaScript对象实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! Java...
    99+
    2024-04-02
  • ES6对象实例分析
    本篇内容介绍了“ES6对象实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!对象字面量属性的简洁表示法ES6允许对象的属性直接写变量,这...
    99+
    2023-06-27
  • java对象作为key值的实例分析
    这篇文章给大家介绍java对象作为key值的实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.实现方式说明下面在---- 手写redis @ Cacheable注解支持过期时间设置   的基础之上进行...
    99+
    2023-06-22
  • Java面向对象之多态实例分析
    这篇文章主要介绍“Java面向对象之多态实例分析”,在日常操作中,相信很多人在Java面向对象之多态实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java面向对象之多态实例分析”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • Java对象结构与对象锁的示例分析
    这篇文章主要介绍Java对象结构与对象锁的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. Java对象结构Java对象结构包括三部分:对象头、对象体和填充字节,如图所示:对象头又包括三个字段:第一个字段叫...
    99+
    2023-06-29
  • Java对象复制的示例分析
    这篇文章主要介绍了Java对象复制的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、图示二、MapStructpom文件 <dependency>&nb...
    99+
    2023-06-15
  • C++临时对象实例分析
    这篇“C++临时对象实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++临时对象实例分析”文章吧。一、初探临时对象1...
    99+
    2023-06-30
  • Java类和对象的示例分析
    这篇文章给大家分享的是有关Java类和对象的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、什么是类类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实...
    99+
    2023-06-29
  • java面向对象的示例分析
    这篇文章主要介绍了java面向对象的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、Java特效1、简单性人们希望构建一个无须深奥的专业训练就可以进行编程的系统,并...
    99+
    2023-06-29
  • java中关于对象的实例比较分析
    本篇内容主要讲解“java中关于对象的实例比较分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中关于对象的实例比较分析”吧!同类型对象的比较三个维度去比较同一性相等性相似性样例引入想象...
    99+
    2023-06-26
  • C++类与对象实例分析
    这篇“C++类与对象实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++类与对象实例分析”文章吧。运算符重载C++语...
    99+
    2023-06-30
  • PHP对象基础实例分析
    这篇文章主要介绍“PHP对象基础实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP对象基础实例分析”文章能帮助大家解决问题。面向对象基础面向过程和面向对象区别面向对象关键字类:class,...
    99+
    2023-06-29
  • Java中类与对象的示例分析
    这篇文章主要介绍Java中类与对象的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!类和对象在面向对象中,类和对象是最基本、最重要的组成单元。类实际上是表示一个客观世界某类群体的一些基本特征抽象。对象就是表示一...
    99+
    2023-06-20
  • Java中类和对象的示例分析
    这篇文章主要介绍了Java中类和对象的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。类可以看成是创建Java对象的模板1、类的定义public class&...
    99+
    2023-06-25
  • VB面向对象实例化分析
    这篇文章主要介绍“VB面向对象实例化分析”,在日常操作中,相信很多人在VB面向对象实例化分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VB面向对象实例化分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-17
  • JavaScript内置对象BigInt实例分析
    本文小编为大家详细介绍“JavaScript内置对象BigInt实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript内置对象BigInt实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-07-02
  • C++对象的构造实例分析
    这篇“C++对象的构造实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++对象的构造实例分析”文章吧。一、对象的构造...
    99+
    2023-06-30
  • Java中对象比较的示例分析
    这篇文章主要介绍了Java中对象比较的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。元素比较基本类型的比较在Java中,基本类型的对象可以直接比较大小public&n...
    99+
    2023-06-29
  • JavaScript对象定义与实例分析
    本文小编为大家详细介绍“JavaScript对象定义与实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript对象定义与实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作