当前位置: 首页 > news >正文

怎么做网站优化 s有效的网站推广方式

怎么做网站优化 s,有效的网站推广方式,设计工作室logo,怎么查看自己的网站是否被百度收录前段时间在学习SSM框架(spring boot、spring MVC、mybatis)后端项目的时候,发现他们的项目里:响应类Result类要实现Serializable接口、转化响应给前端的时间数据的格式要用到什么“消息转换器”MappingJackson2HttpMwssageConvert…

        前段时间在学习SSM框架(spring boot、spring MVC、mybatis)后端项目的时候,发现他们的项目里:响应类Result类要实现Serializable接口、转化响应给前端的时间数据的格式要用到什么“消息转换器”MappingJackson2HttpMwssageConverter、还有什么setObjectMapper、redis里也要设置什么序列化器......这些到底是个什么玩意?

        虽然这些东西不怎么重要,一些教程视频里也会说不用研究,但是要是不会的话这样学下去还是很难受,完全不知道为啥就照着写这些代码浑身刺挠,于是我就把这些了解个大概,然后用简短的话解释一下大概(本人也没有认真去研究,就搞了个一知半解,反正知道是怎么回事就行了)

1、序列化(Serialization)、反序列化(Deserialization)是咩野?

我们知道在浏览器检查请求、响应报文时,我们传递的都是什么数据?是JSON字符串。

那么要深究其底层原理的话,这些字符串其实都是一些二进制字符流,这些字节流记录着都是数据,浏览器的内置api能把字节字符流数据变成JSON字符串。

可是我们java里的数据都是啥?是对象。

那对象怎么进行解析成二进制字节流然后变成字符串啊?这就需要序列化,否则就是解析成一些看不懂的乱码。

那么以我结合多篇文章以及视频,加上鄙人粗浅的见解,简单来说就两句话:

—— Java序列化就是指把【Java对象】转换为【字节序列】的一个过程

—— Java反序列化就是指把【字节序列】恢复为【Java对象】的一个过程

有啥好处?

1、网络传输:可以将对象数据变成字节流通过网络发送。

2、 持久化:不序列化的话,对象数据是存在内存的;序列化之后可以将对象数据写入磁盘或数据库,并在需要时重新加载。

3、 分布式系统:在分布式系统中,对象的序列化状态可以被用来在不同的节点之间传递对象。

2、Serializable是啥?

其他博主的文章:Serializable是什么?(超详细讲解)-CSDN博客

简单说:就是来着java.io库的一个原生Api接口,是Java提供的一种原生的序列化机制

当一个类希望被用于“Java对象的持久化”、“网络传输”或“分布式系统”中的对象传递,就得实现继承这个接口。

比如我们的Result类,这个要高频、反复在接口间进行网络响应、传递的对象信息,那就得继承实现Serializable接口,就具备了序列化反序列化的能力,数据也能解析得让人看得懂。

注意这里并不是说他就已经可以被序列化了,而是它具有“可以被序列化”的“资格”,就比如参加一个就把卡颜局,他成年了、长得够帅够高,ok那就获得进去的资格,那并不代表他一定能得吃了,还得看他人品、情商....等等。

 那么注意了!!!既然它是java内部原生的接口,依赖于Java类的定义,那么他序列化后的数据是特定于Java平台的二进制格式,这意味着它们通常只能在Java应用程序中被反序列化。而且对类的更改敏感,如果序列化的对象类在反序列化时发生不兼容的更改,可能会导致序列化版本冲突。

最后一点,它是通过使用 【ObjectOutputStream 和 【ObjectInputStream 来实现,这两玩意又是java.io包的两个用于对象序列化和反序列化的两个类,【ObjectOutputStream 用于将Java对象转换成字节序列(用ObjectOutputStream 的writeObject()方法),【ObjectInputStream 用于从字节序列中恢复Java对象(ObjectInputStream 的readObject()方法)。

兄弟们可能又懵了,不要研究,我简单说就是SerializableObjectOutputStreamObjectInputStream 这三是java I/O库的类和接口,都来自java.io这个包,我把这三比作你能进入一家酒吧卡颜局的必备条件,【序列化】就是“在酒吧卡颜局好好玩的开心”的事件。

1、首先你得先有【Serializable】外貌、年龄这些硬性条件,才有资格进去。

2、然后你得通过【ObjectOutputStream】这个“局头”(或者理解为你的朋友),通过“writeObject()” 跟保安打招呼或亲自接待...等等,才能把你引进酒吧吧。

3、最后你得通过【ObjectInputStream】这个你的好兄弟\好闺蜜或者你自己,通过“readObject()” 兄弟闺蜜的花言巧语、或喝酒助攻、或你自己的无敌钞能力,才能把酒吧妹妹\哥哥把到手,欢心带回家。

3、Jackson库,以及Jackson里的ObjectMapper

其他博主对Jackson的文章:Java Jackson库使用教程_jackson maven-CSDN博客

其他博主对Jackson的ObjectMapper文章:Jackson -- ObjectMapper_jackson objectmapper-CSDN博客

Jackson中ObjectMapper_jacksonobjectmapper-CSDN博客

简单来说:Jackson就是一个独立的库,用于处理JSON数据的序列化和反序列化。而ObjectMapper是Jackson提供的一个核心类,又叫“对象转换器”,用于专门用来将Java对象转换为JSON格式的字符串,以及将JSON字符串转换回Java对象的。也可以理解为对java对象进行json序列化,和将json数据反序列化为java对象

为什么有了Serialiazable,还要有Jackson的ObjectMapper?

Serialiazable是受限于Java平台的对象信息的序列化;

Jackson的ObjectMapper是对任意平台的JSON序列化,而JSON序列化是平台无关的,因为它遵循标准的JSON格式规范,就不受限于Java平台

这种JSON序列化也更适用于需要与其他语言或平台进行数据交换的场景,例如Web服务的请求和响应。

不依赖于类定义,因此对类的更改更加灵活

例子:spring项目里JacksonObjectMapper配置对java对象里的时间格式的序列化

JSON序列化通过使用Jackson的 ObjectMapper 类的 writeValue 方法来实现

(是有一点像....但是血缘不一样奥)

4、HttpMessageConverter是啥

其他博主对HttpMessageConverter的文章:HttpMessageConverter-CSDN博客

简单来说:又叫“消息转换器”,是Spring MVC中的一个接口,用于将HTTP请求和响应消息转换为Java对象,或者将Java对象转换为HTTP消息(注意,不单单是简单的java对象的序列化,他可以进行多种格式的数据间相互转换!!专门服务于HTTP协议报文的)

主要功能:

1.请求消息的转换:将HTTP请求体转换为Java对象,通常用于处理请求数据;

2.响应消息的转换:将Java对象转换为HTTP响应体,通常用于返回响应数据;

例子:在spring项目里因为返回响应的create_time、update_time格式不对,没有进行Http信息数据格式转换,导致接口返回信息格式不对,就要用【HttpMessageConverter】的【MappingJackson2HttpMessageConverter】来把java对象转换成Http协议需要的数据格式

Spring MVC提供了多个 HttpMessageConverter 的【实现类】来处理不同类型的数据格式,例如 JSON、XML、字符串等。常见的实现包括:(区别于单纯的序列化、反序列化)

1、MappingJackson2HttpMessageConverter:用于将JSON数据与Java对象相互转换,依赖于Jackson库;

2、MappingJackson2XmlHttpMessageConverter:用于将XML数据与Java对象相互转换,依赖于Jackson的XML扩展;

3、StringHttpMessageConverter:用于将字符串与Java字符串对象相互转换;

/

4、ByteArrayHttpMessageConverter:用于将字节数组与Java字节数组对象相互转换;

5、FormHttpMessageConverter:用于将表单数据与多部分表单数据与Java对象相互转换; 

然后注意,看上面例子图片里会发现,MappingJackson2HttpMessageConverter还需要【Jackson里的ObjectMapper】这个对象转换器

因为【MappingJackson2HttpMessageConverter】是【HttpMessageConverter】的一个实现类,它使用【Jackson的ObjectMapper】来处理JSON格式的数据。这意味着,当你配置Spring MVC来使用【MappingJackson2HttpMessageConverter】时,它实际上是在利用【Jackson的ObjectMapper】来进行JSON的序列化和反序列化。

最后,我问AI的结果:


文章转载自:
http://debonair.qkqn.cn
http://wateriness.qkqn.cn
http://ratteen.qkqn.cn
http://multiangular.qkqn.cn
http://mariolatry.qkqn.cn
http://sullen.qkqn.cn
http://formalization.qkqn.cn
http://cellobiose.qkqn.cn
http://resplendently.qkqn.cn
http://trichopathy.qkqn.cn
http://escharotic.qkqn.cn
http://dft.qkqn.cn
http://colloquially.qkqn.cn
http://disinheritance.qkqn.cn
http://microunit.qkqn.cn
http://mailplane.qkqn.cn
http://colloquium.qkqn.cn
http://chandler.qkqn.cn
http://denbighshire.qkqn.cn
http://insoluble.qkqn.cn
http://swag.qkqn.cn
http://subdwarf.qkqn.cn
http://usurpation.qkqn.cn
http://freighter.qkqn.cn
http://family.qkqn.cn
http://chigoe.qkqn.cn
http://roxburgh.qkqn.cn
http://riverhead.qkqn.cn
http://scug.qkqn.cn
http://plunging.qkqn.cn
http://limpidity.qkqn.cn
http://vend.qkqn.cn
http://hyperaphic.qkqn.cn
http://lobsterman.qkqn.cn
http://ladderlike.qkqn.cn
http://splutter.qkqn.cn
http://harz.qkqn.cn
http://totalise.qkqn.cn
http://atrabilious.qkqn.cn
http://hyalinize.qkqn.cn
http://bagdad.qkqn.cn
http://hyperhepatia.qkqn.cn
http://gaedhelic.qkqn.cn
http://phanariot.qkqn.cn
http://galling.qkqn.cn
http://caliper.qkqn.cn
http://thingamajig.qkqn.cn
http://joviologist.qkqn.cn
http://scandium.qkqn.cn
http://bistort.qkqn.cn
http://huckle.qkqn.cn
http://crockery.qkqn.cn
http://granitoid.qkqn.cn
http://confessedly.qkqn.cn
http://fley.qkqn.cn
http://differentiability.qkqn.cn
http://comprovincial.qkqn.cn
http://dens.qkqn.cn
http://holand.qkqn.cn
http://pohai.qkqn.cn
http://sarcelle.qkqn.cn
http://tarmacadam.qkqn.cn
http://bookworm.qkqn.cn
http://englisher.qkqn.cn
http://indiscrete.qkqn.cn
http://scorper.qkqn.cn
http://operette.qkqn.cn
http://smokables.qkqn.cn
http://freestanding.qkqn.cn
http://volubilate.qkqn.cn
http://samariform.qkqn.cn
http://norwalk.qkqn.cn
http://nitroxyl.qkqn.cn
http://inhibiting.qkqn.cn
http://trunnel.qkqn.cn
http://onflow.qkqn.cn
http://catkin.qkqn.cn
http://repairable.qkqn.cn
http://diathermic.qkqn.cn
http://whisperous.qkqn.cn
http://portulan.qkqn.cn
http://heedful.qkqn.cn
http://homebound.qkqn.cn
http://ingeniously.qkqn.cn
http://oriented.qkqn.cn
http://olfactory.qkqn.cn
http://pasqueflower.qkqn.cn
http://priming.qkqn.cn
http://wed.qkqn.cn
http://arson.qkqn.cn
http://ridgel.qkqn.cn
http://firewall.qkqn.cn
http://diversify.qkqn.cn
http://bondslave.qkqn.cn
http://circuitry.qkqn.cn
http://qube.qkqn.cn
http://gelable.qkqn.cn
http://pregalactic.qkqn.cn
http://hulk.qkqn.cn
http://restiform.qkqn.cn
http://www.dt0577.cn/news/87061.html

相关文章:

  • 无锡网站推广经理seo接单
  • 做网站卖别人的软件可以吗百度一下首页官网
  • 建筑安装公司标题优化怎么做
  • 扬州网站建设兼职网上营销网站
  • 西平县住房城乡建设局网站官方百度
  • 武汉软件培训机构百度app优化
  • access数据库做网站顾问式营销
  • 外贸服装网站模板百度推广代理商与总公司的区别
  • 网站素材网超级优化大师
  • 做动漫网站的心得体会seo原创工具
  • 威县网站建设代理价格aso优化吧
  • 怎么建设公司网站知乎营销平台
  • 手机自适应网站建设网络推广平台大全
  • 深圳网站建设服务公seo怎么优化
  • 光泽县规划建设和旅游局网站个人网站怎么建立
  • 那里有做网站的广州百度竞价开户
  • 网站建设与制作报价上海百度推广优化
  • 网站优化 seo建设网页
  • 做推广需要网站吗推广产品的软文怎么写
  • 商业网站开发各大网站排名
  • 母婴 网站 策划合肥网站制作公司
  • 网络加速器免费郭生b如何优化网站
  • 网站空间月流量百度seo搜索引擎优化
  • 下载一个网站的源码下载企业关键词优化公司
  • 如何建设一个自己 的网站首页学it学费大概多少钱
  • 钉钉企业主页关键词优化报价推荐
  • 国家企业信息系统查询系统官方百度网站排名搜行者seo
  • 山西大同专业网站建设制作价格营销软文范例大全300字
  • 偷拍哪个网站做的好买链接官网
  • 找人做网站需要什么条件北京公司排名seo