首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏函数式编程语言及工具

    Akka(33): Http:Marshalling,to Json

    通过Marshalling类型可以在数据实际产生之前获取或修改数据属性: /** * Describes one possible option for marshalling a given value . */ sealed trait Marshalling[+A] { def map[B](f: A ⇒ B): Marshalling[B] /** * Converts this marshalling to an opaque marshalling, i.e. a marshalling result that * does not take part in content (charset: HttpCharset): Marshalling[A] } object Marshalling { /** * A Marshalling to a specific [A] = this } } 我们可以在Marshalling类型里对消息内容类型(message-content-type)进行操作。

    2.3K100发布于 2018-01-05
  • 来自专栏CBeann的博客

    Netty(二)之整合Marshalling传输实体类

    -- https://mvnrepository.com/artifact/org.jboss.marshalling/jboss-marshalling-serial --> <dependency > <groupId>org.jboss.marshalling</groupId> <artifactId>jboss-marshalling-serial -- https://mvnrepository.com/artifact/org.jboss.marshalling/jboss-marshalling-river --> <dependency > <groupId>org.jboss.marshalling</groupId> <artifactId>jboss-marshalling-river .*; import org.jboss.marshalling.MarshallerFactory; import org.jboss.marshalling.Marshalling; import

    26910编辑于 2023-12-25
  • 来自专栏程序那些事

    netty系列之:netty对marshalling的支持

    简介 在之前的文章中我们讲过了,jboss marshalling是一种非常优秀的java对象序列化的方式,它可以兼容JDK自带的序列化,同时也提供了性能和使用上的优化。 netty中的marshalling provider 回顾一下jboss marshalling的常用用法,我们需要从MarshallerFactory中创建出Marshaller,因为mashaller Marshalling编码器 上面的章节中我们获取到了marshaller,接下来看一下如何使用marshaller来进行编码和解码操作。 CompatibleMarshallingEncoder很简单,因为不需要对象的实际长度,所以直接使用marshalling编码即可。 本文已收录于 http://www.flydean.com/17-1-netty-marshalling/

    40920编辑于 2022-07-27
  • 来自专栏程序那些事

    netty系列之:netty对marshalling的支持

    简介 在之前的文章中我们讲过了,jboss marshalling是一种非常优秀的java对象序列化的方式,它可以兼容JDK自带的序列化,同时也提供了性能和使用上的优化。 netty中的marshalling provider 回顾一下jboss marshalling的常用用法,我们需要从MarshallerFactory中创建出Marshaller,因为mashaller Marshalling编码器 上面的章节中我们获取到了marshaller,接下来看一下如何使用marshaller来进行编码和解码操作。 CompatibleMarshallingEncoder很简单,因为不需要对象的实际长度,所以直接使用marshalling编码即可。 本文已收录于 http://www.flydean.com/17-1-netty-marshalling/ 最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!

    39620编辑于 2022-05-20
  • 来自专栏程序那些事

    使用Jboss Marshalling来序列化java对象

    当然,也有其他的比较出名的序列化工具,比如Kryo和JBoss Marshalling。 今天想给大家介绍的就是JBoss Marshalling,为什么要介绍JBoss Marshalling呢? 第二个优点就是JBoss Marshalling完全是可插拔的,这样就提供了对JBoss Marshalling框架进行扩展的可能,那么一起来看看JBoss Marshalling的使用吧。 添加JBoss Marshalling依赖 如果想用JBoss Marshalling,那么第一步就是添加JBoss Marshalling的依赖。 如果仔细观察JBoss Marshalling的maven仓库,可以看到JBoss Marshalling包含了4个依赖包,分别是JBoss Marshalling API,JBoss Marshalling JBoss Marshalling River Protocol和JBoss Marshalling Serial Protocol是marshalling的两种实现方式,可以根据需要自行取舍。

    94610编辑于 2022-07-27
  • 来自专栏程序那些事

    netty系列之:使用Jboss Marshalling来序列化java对象

    当然,也有其他的比较出名的序列化工具,比如Kryo和JBoss Marshalling。 今天想给大家介绍的就是JBoss Marshalling,为什么要介绍JBoss Marshalling呢? 第二个优点就是JBoss Marshalling完全是可插拔的,这样就提供了对JBoss Marshalling框架进行扩展的可能,那么一起来看看JBoss Marshalling的使用吧。 添加JBoss Marshalling依赖 如果想用JBoss Marshalling,那么第一步就是添加JBoss Marshalling的依赖。 如果仔细观察JBoss Marshalling的maven仓库,可以看到JBoss Marshalling包含了4个依赖包,分别是JBoss Marshalling API,JBoss Marshalling JBoss Marshalling River Protocol和JBoss Marshalling Serial Protocol是marshalling的两种实现方式,可以根据需要自行取舍。

    1K20编辑于 2022-05-18
  • 来自专栏函数式编程语言及工具

    Akka(40): Http:Marshalling reviewed - 传输数据序列化重温

    高级数据类型与byte之间的相互转换就是marshalling和unmarshalling过程了。这个我们在前几篇讨论里提及过,在本篇再重温加强印象。 这个类型包嵌了个类型转换函数:A => Future[List[Marshalling[B]]],最终目的是A=>B的转换。 增加了一层Marshalling类型是为了更方便对B类型目标进行筛选、修改操作。我们看看类型Marshal的转换函数to[???] * If the marshalling is flexible with regard to the used charset `UTF-8` is chosen. */ def to Marshaller[A,B]隐式实例存在,Marshalling提供筛选,最后Marshaller的包嵌函数marshal进行了具体的类型转换。

    1.5K80发布于 2018-01-05
  • 来自专栏函数式编程语言及工具

    Akka-CQRS(11)- akka-http for http-web-service: Marshalling-数据序列化

    前面几篇讨论了关于gRPC方式的前后端连接集成方式。gRPC也是一个开放的标准,但讲到普及性就远远不及基于http/1.1协议的web-service了。特别是gRPC的前端编程还是有一定的门槛,所以作为一种开放的网络大平台还是必须考虑用web-service方式的集成。平台服务api可以有两样选择:一种是传统web-service方式,新的一种是rest api款式。rest api比较适合数据库表的crud操作。在2017年我曾经写了一系列博客介绍akka-http,这里就不再叙述它的细节了。这篇我们只聚焦在解决当前问题上。在POS控制平台例子里不会涉及到POST操作,应该全部是GET类型的,如:

    88360发布于 2019-06-24
  • 来自专栏JavaEdge

    “超越极限 - 如何使用 Netty 高效处理大型数据?“ - 掌握 Netty 技巧,轻松应对海量数据处理!

    在JBoss Marshalling官网对其定义:JBoss Marshalling 是一种序列化 API,它修复 JDK 序列化 API 所发现的许多问题,同时保留与 java.io.Serializable 2.2 使用 JBoss Marshalling 进行序列化 Netty 通过下表所示的两组解码器/编码器对为 Boss Marshalling 提供支持: 第一组兼容只使用 JDK 序列化的远程节点 第二组提供最大性能,适用于和使用 JBoss Marshalling 的远程节点一起使用 JBoss Marshalling编解码器: 名称 ; import io.netty.handler.codec.marshalling.MarshallingDecoder; import io.netty.handler.codec.marshalling.MarshallingEncoder ; import io.netty.handler.codec.marshalling.UnmarshallerProvider; import java.io.Serializable; /**

    1.5K41编辑于 2025-05-18
  • 来自专栏程序编程之旅

    Java序列化框架性能比较

    3949 286 188 fst 81 2075 2041 4116 316 203 jboss-marshalling-river-ct 13917 501 313 jboss-serialization 83 9529 8508 18036 932 582 jboss-marshalling-river 43547 889 514 stephenerialization 59 8396 37359 45756 1093 517 jboss-marshalling-serial 81 4057 2810 6867 298 199 jboss-marshalling-river-manual 81 2967 23842 495 278 xml/xstream+c-woodstox 80 7326 18877 26203 525 273 jboss-marshalling-river

    1.9K10发布于 2021-01-21
  • 来自专栏函数式编程语言及工具

    Akka(34): Http:Unmarshalling,from Json

    * If you expect the marshalling to be heavy, it is suggested to provide a specialized context for Unmarshal(HttpRequest(method = HttpMethods.GET, entity = HttpEntity("hello"))) } 以上都是已知类型之间转换,可能没什么实际用途,不像marshalling :中间层Marshalling有实际转换的需要。 * * @group marshalling */ def as[T](implicit um: FromRequestUnmarshaller[T]) = um 这需要把FromRequestUmarshaller Unmarshaller[T,B]的别名:  type FromRequestUnmarshaller[T] = Unmarshaller[HttpRequest, T] 在上篇讨论我们介绍了Akka-http的Marshalling

    1K70发布于 2018-01-05
  • 来自专栏WeTest质量开放平台团队的专栏

    Unity3d底层数据传递分析

    二 封送 在C#中的string,通过内部调用传给C++时,会使用MonoString* ,它是指向托管堆对象的字符串类型指针,这个转换就是封送(Marshalling)。 通过__Internal关键字可以令Mono在当前执行的非托管代码中查找函数,通过自扩展的Marshalling,可以适配大量的数据类型,是最简单的Interop方式。 通过MonoString和mono_string_new,即完成了字符串的Marshalling过程。 四 内存分配 类与结构体 对于托管代码与非托管代码,类与结构体有不一样的传递方法。 反过来说,如果结构体中包含不可比特化的类型,例如:System.Boolean,System.String,或者array,就需要自己完成Marshalling了。 五 GC安全 由于Marshalling是通过数据拷贝实现的,仔细看来其实不太靠谱。如上面所说,通常会用IntPtr和unsafe特性来处理封送拷贝问题。

    1.8K20发布于 2018-10-29
  • 来自专栏WeTest质量开放平台团队的专栏

    Unity3d底层数据传递分析

    [1.png] 二、封送 ---- 在C#中的string,通过内部调用传给C++时,会使用MonoString* ,它是指向托管堆对象的字符串类型指针,这个转换就是封送(Marshalling)。 例如: [2.png] 然后在C#层添加下面的声明即可: [3.png] 通过__Internal关键字可以令Mono在当前执行的非托管代码中查找函数,通过自扩展的Marshalling,可以适配大量的数据类型 [4.png] 然后在C#中声明下面的函数: [5.png] 最后实现在C++中实现这个函数: [6.png] 通过MonoString和mono_string_new,即完成了字符串的Marshalling 反过来说,如果结构体中包含不可比特化的类型,例如:System.Boolean,System.String,或者array,就需要自己完成Marshalling了。 例如: [13.png] 或者: [14.png] 需要注意的是,如此使用必须保证托管代码中有内存分配,例如: [15.png] 五、GC安全 ------ 由于Marshalling是通过数据拷贝实现的

    4K21发布于 2018-03-22
  • 来自专栏程序那些事

    netty系列之:netty中的懒人编码解码器

    netty内置的基本codec netty中基本的codec有base64、bytes、compression、json、marshalling、protobuf、serialization、string marshalling Marshalling的全称叫做JBoss Marshalling,它是JBoss出品的一个对象序列化的方式,但是JBoss Marshalling的最新API还是在2011-04

    1.2K30发布于 2021-08-20
  • 来自专栏Harmony学习之路

    HarmonyOS学习路之开发篇—多媒体开发(视频开发 三)

    marshalling(Parcel parcel) 将一个AVDescription对象写入到Parcel对象。 AVDescription对象,可以将媒体的描述信息写入Parcel对象,代码示例如下: Parcel parcel = Parcel.create(); boolean result = avDescription.marshalling marshalling(Parcel in) 将一个AVMetadata对象写入到Parcel对象。 getAVDescription() 获取媒体的简要描述信息。 开发步骤 1. 

    33430编辑于 2023-10-14
  • 来自专栏函数式编程语言及工具

    Akka(43): Http:SSE-Server Sent Event - 服务端主推消息

    服务端是通过complete以SeverSentEvent类为元素的Source来进行SSE的,如下: import akka.http.scaladsl.marshalling.sse.EventStreamMarshalling fileToSync: String = "" } private def route = { import Directives._ import akka.http.scaladsl.marshalling.sse.EventStreamMarshalling fileToSync: String = "" } private def route = { import Directives._ import akka.http.scaladsl.marshalling.sse.EventStreamMarshalling

    1.3K90发布于 2018-01-05
  • 来自专栏全栈程序员必看

    netty编解码器_netty编程实战

    目录 ​1 Java序列化的缺点 2 业界主流的编解码框架 2.1 Google的Protobuf介绍 2.2 Facebook的Thrift介绍 2.3 JBoss Marshalling介绍 --- serializable cost time is : 135 ms 2 业界主流的编解码框架 2.1 Google的Protobuf介绍 2.2 Facebook的Thrift介绍 2.3 JBoss Marshalling

    36110编辑于 2022-11-10
  • 来自专栏写代码和思考

    Spring Framework 学习笔记(1) 简介

    数据访问 Transactions, DAO Support, JDBC, R2DBC, O/R Mapping, XML Marshalling.

    37130发布于 2021-07-08
  • 来自专栏区块链实战

    SpringMVC XStream 返回Xml时完美支持List,Map输出 顶

    supportedClass.isAssignableFrom(clazz)) { return true; } } return false; } } // Marshalling *

    * A boolean flag is used to indicate whether this exception occurs during * marshalling * * @param ex * XStream exception that occured * @param marshalling * indicates whether the exception occurs during marshalling ( * true), or unmarshalling ) { return new MarshallingFailureException("XStream marshalling exception", ex); } else

    2.8K20发布于 2019-03-26
  • 来自专栏程序猿声

    深度学习结合树搜索求解集装箱预翻箱问题

    01 container pre-marshalling problem (CPMP) 对集装箱进行预翻箱整理,使得集装箱的堆放顺序符合取箱顺序,以尽量减少取箱装船过程中的翻箱次数。 Deep Learning Assisted Heuristic Tree Search for the Container Pre-marshalling Problem[J].

    1.2K60发布于 2021-07-20
领券