首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏01二进制

    深入浅出序列化2)——Kryo序列化

    前一篇文章我们介绍了 Java 中的两个常见的序列化方式,JDK 序列化和 Hessian2 序列化,本文我们接着来讲述一个后起之秀——Kryo 序列化,它号称 Java 中最快的序列化框架。 Kryo 序列化 Kryo 是一个快速序列化/反序列化工具,依赖于字节码生成机制(底层使用了 ASM 库),因此在序列化速度上有一定的优势,但正因如此,其使用也只能限制在基于 JVM 的语言上。 Fluo Recipes)•Apache Hive[2] (query plan serialization)•Apache Spark[3] (shuffled/cached data serialization 其实对于序列化框架来说,API 基本都差不多,毕竟入参和出参通常都是确定的(需要序列化的对象/序列化的结果)。 如果你觉得本文对你有帮助的话,不要吝啬你的关注和点赞,也欢迎读者在评论区留言讨论,一起进步啊~ References [1] Apache Fluo: https://fluo.apache.org/ [2]

    2.6K40发布于 2021-09-03
  • 来自专栏程序技术知识

    java之序列化机制(2

    序列化机制中的序列化算法 一、序列化算法的描述            1、当程序试图序列化一个对象的时候,程序会先检查该对象是否已经被序列化过,如果已经从未被序列化过,则将此对象序列化成流               2、如果已经被序列化,那么程序直接输出一个序列化编号,而不再重新序列化该对象 二、对序列化算法的理解        上面的第二条当对象被程序检查到已经序列化过,就不在序列化此对象,而只是向输出流中输出序列化编号 ObjectOutputStream对象序列化这个A对象,就是把这个A对象写入ObjectOutputStream输出流中,那么只会输出一个序列化编号        2、假设用一个ObjectOutputStream 以后的序列化只            是输出序列化编号而已。 public int getAge() {    return age;   }   public void setAge(int age) {    this.age = age;   }   } 2

    53020编辑于 2022-05-07
  • 来自专栏明丰随笔

    运行时序列化 2

    Product { Name = "Hello" }; formatter.Serialize(stream, product); stream.Position = 0; var product2 2. 某类型一旦实现ISerializable接口,便不能删除它,否则会失去与派生类型的兼容性。所以密封类实现ISerializable接口是最让人放心的。 3. 否则对象是不能正确序列化和反序列化的。如果你的派生类中没有任何额外的字段,因而没有特殊的序列化/反序列化需求,就完全不必实现ISerializable。 ISerializable接口功能非常强大,运行类型可以完全控制如何对类型的实例进行序列化序列化。 myDerived = new MyDerived(); formatter.Serialize(stream, myDerived); stream.Position = 0; var myDerived2

    71820发布于 2019-07-17
  • 来自专栏一个安全研究员

    yii2序列化后续

    昨天早上上班前,我无意间看到其它师傅们挖的yii2利用链,其中有一个是我之前忽略了的,就想着赶紧分享给大家,但是昨天恰了个饭(文末有福利),发不了文章,只有今天发了 这是一条利用__wakeup魔术方法作为入口的利用链 > yii2真是一个练习反序列化连挖掘的好靶场,我们可以通过它来练习各种魔术方法在反序列化链构造中的使用 php所有的魔术方法如下: __construct(),类的构造函数 __destruct()

    1.5K30发布于 2020-09-27
  • 来自专栏Linux技术资源分享

    Apache2服务器代理配置

    前言:对于代理这个词呢,总会想到nginx服务器,然而今天想让apache与nginx在同一个端口跑,不知道是我玩挂了还是nginx不稳定,时而正常时而~~,由于weblogic在多model的情况下 url总是带有war_exploded的,然而我就尝试用apache2代理到内网weblogic服务器。 ---- ****Step-One:使用a2enmod命令加载proxy模块**** sudo a2enmod proxy proxy_balancer proxy_http ---- ****Step-Two :修改主机站点配置文件**** path:/etc/apache2/sites-enabled/000-default.conf <VirtualHost *:80> #自定义域名 表示开启正向代理 ProxyRequests Off ProxyMaxForwards 100 ProxyPreserveHost On #代理要解析的

    1.2K30发布于 2018-06-08
  • 来自专栏JavaEdge

    无主复制系统(2)-读修复和

    如图-10,User 2345获得来自R3的版本6,而从副本1、2得到版本7。客户端判断可知:副本3是过期值,然后将新值写入该副本。这适用于读密集场景。 ② 熵过程(Anti-entropy process) 一些数据存储有后台进程,不断查找副本之间数据差异,将任何缺少的数据从一个副本复制到另一个副本。 不同于基于主节点复制的复制日志,该熵过程不保证任何特定顺序的复制写入,并且会引入明显的同步滞后。 并非所有系统都实现了这俩方案。如Voldemort目前无熵过程。 若无熵过程,由于【读修复】只在发生读取时才可能执行修复,那些很少访问的数据可能在某些副本中已丢失而无法再检测到,从而降低写的持久性。

    43220编辑于 2022-09-14
  • 来自专栏yulate的网络安全技术分析

    CommonsCollections2序列化链分析

    CommonsCollections2序列化链分析 一、前言 CC链复现的第二篇,CC2存在有好几条链子,这里就分别来进行调试分析一下具体流程 二、前置知识 1、PriorityQueue PriorityQueue ; System.out.println(priorityQueue.poll()); } result: 1 2 2、getDeclaredField getDecalaredField是 ("comparator");//获取PriorityQueue的comparator字段 field2.setAccessible(true);//暴力反射 field2.set(queue, 四、利用链调试 在入口readObject方法出打上断点,就可以看见反序列化过程中调用的readObject方法是PriorityQueue类中的。 newInstance() Runtime.exec() 五、总结 经过这次的分析对java反序列化的利用链构建理解更上一层。

    57050编辑于 2023-05-02
  • 【详解】RedisTemplate序列化、反序列化扩展支持FastJson:GenericFastJson2JsonRedisSerializer

    RedisTemplate序列化、反序列化扩展支持FastJson: GenericFastJson2JsonRedisSerializer在使用Spring Data Redis进行数据存储时,默认的序列化方式可能无法满足所有业务需求 本文将介绍如何使用​​FastJson​​来扩展​​RedisTemplate​​的序列化和反序列化功能,通过实现一个通用的​​GenericFastJson2JsonRedisSerializer​​ FastJson​​是一个非常流行的高性能JSON库,它提供了快速的序列化和反序列化能力,非常适合用于Redis中的数据存储。2. -- 请根据实际情况选择最新版本 --></dependency>2. 创建FastJson序列化器接下来,我们需要创建一个基于FastJson的序列化器。 这里提供一个示例实现,名为​​GenericFastJson2JsonRedisSerializer​​,它可以用于​​RedisTemplate​​的键值对序列化和反序列化

    68710编辑于 2025-01-26
  • 来自专栏全栈程序员必看

    三角函数求解matlab,关於三角函数atan2的使用 使用Matlab计算三角函数atan2

    三角函数中atan2是如何计算的atan2(y,x)返回的是弧度值,两者如果相同则是0.785……,既45度 我想问的atan2(y,x)是表示X-Y平面上所对应的(x,y)坐标的角度,它的值域范围是( -π,π) 用数学表示就是:atan2(y,x)=arg(y/x)-π 当y0时,其值为正. 使用Matlab计算三角函数atan2 各位好: 小弟在使用matlab计算三角函数atan2处理资料时,不知道是不是matlab中计算反正切的话用atan. atan2是计算四象限反正切,即: 另外 matlab三角函数(atan2)使用unwrap校正 大家好: 我在计算由角速度资料(b)与角位移资料(c)所成组的相位图(phase 跑出来没有问题啊,本来不连续的相位。 关於三角函数atan2的使用 以上就是四十五资源网为大家整理的关於三角函数atan2的使用 使用Matlab计算三角函数atan2内容,如果觉得本站更新的资源对您有帮助 不要忘记分享给您身边的朋友哦

    2.1K20编辑于 2022-07-23
  • 来自专栏Naraku的专栏

    Java安全-反序列化-2-CC

    在实际反序列化漏洞中,需要将 上⾯最终⽣成的outerMap对象变成⼀个序列化流。 在前面Demo中,需要向修饰过的Map类的实例中添加新元素才能触发漏洞。 手动添加新元素->触发利用链->触发漏洞 而在实际反序列化中,则需要找到一个类,并且在它进行反序列化时,**readObject**方法中也存在类似的操作 反序列化->触发readObject方法-> 因为Class类实现了Serializable接口,所以可以被序列化。 new Object[] {"/System/Applications/Calculator.app/Contents/MacOS/Calculator"} ), }; 完整代码2 ,但是反序列化时仍然没弹出计算器。

    50430编辑于 2022-04-14
  • VFP AI 插件开发花絮12:JSON序列化和反序列化(2)

    之前的文章介绍了在VFP中对原生JSON对象的序列化和反序列化。但是,在应用时,有时我们需要依据一定的条件来构造JSON。 "序列化:" ? m.loJSONHelper.stringify(loRoot, .T.) ? m.loRoot.姓名 = [李四] m.loRoot.年龄 = 35 m.loRoot.tags. _set(0, "Visual FoxPro") m.loRoot.tags.item(2).姓名 = "xxxxxx" ? "修改后:" ?

    5310编辑于 2026-04-15
  • 来自专栏BAT的乌托邦

    【小家Spring】Redis序列化、RedisTemplate序列化方式大解读,介绍Genericjackson2jsonredisserializer序列化器的坑

    所以不太推荐使用 后面两种序列化方式是重点 Jackson2JsonRedisSerializer 从名字可以看出来,这是把一个对象以Json的形式存储,效率高且对调用者友好 优点是速度快,序列化后的字符串短小精悍 :为我们提供了两个构造方法,一个需要传入序列化对象Class,一个需要传入对象的JavaType: public Jackson2JsonRedisSerializer(Class<T> type) 因为GenericJackson2JsonRedisSerializer本来处理序列化的都是与类型无关的,所以都转换为Object进行处理。因此出现此种现象也是在情理之中的。 替换默认序列化(备注,此处我用Object为例,各位看官请换成自己的类型哦~) Jackson2JsonRedisSerializer jackson2JsonRedisSerializer (objectMapper); // 设置value的序列化规则和 key的序列化规则 redisTemplate.setValueSerializer(jackson2JsonRedisSerializer

    8.8K41发布于 2019-09-03
  • 来自专栏若梦博客

    利用nginx爬虫-UA

    Nginx配置 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } # UA if ($http_user_agent ~ "Bytespider|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|Apach

    2K10编辑于 2022-04-01
  • 来自专栏OneTS安全团队

    Java安全--反序列化之Jython链(2

    调用链分析 对于反序列化的gadget而言,source点通常是确定的:如果反序列化的触发点是ObjectInputStrem,则gadget的source点是xxx.readObject; 如果反序列化的触发点是 本链的整体思路可以简单概述为: 1.JDK原生反序列化触发PriorityQueue.readObject方法,并使用动态代理修改PriorityQueue类的校验器 2.使用修改后的校验器触发compare 第二部分 - 通过动态代理修改代码逻辑 由于反序列化进来后是一个队列,我们需要将队列的反序列化逻辑引导到python代码执行中。而动态代理的实现要求是: 1. 代码逻辑中某个对象的类型是接口 2. 反序列化逻辑中使用该对象调用方法 debug下PriorityQueue类的反序列化方法,发现了个非常巧妙的点: 这里调用了comparator.compare方法,comparator对象的类型是Comparator 代码逻辑中某个对象的类型是接口 2.反序列化逻辑中使用该对象调用方法 因此便找到了PriorityQueue类,部分poc如下: _args.put("rs", new PyString("import

    28110编辑于 2025-02-07
  • 来自专栏前端技术江湖

    Web 爬虫实践与爬虫破解

    因为当时也有一些爬机制,但都是比较容易被绕过的。所以这次做了下升级,采用自定义字体的方式来爬。 本文就简单分享下如何用自定义字体来实现爬虫。 下面为一个参考,具体的编码规则可以自定义,比如将1变为2,将2变为3,将a变为b等

    Ԕq;端抐眯屟 目前谁在用 看下目前谁在用这种爬方案,使用者较多,只列2个大家比较熟悉的吧 大众点评 对详情页面的敏感的数字和评论内容做了爬 ? 猫眼 ? 爬虫破解 上面介绍的爬虫方案也不能100%防止页面内容不被爬,而是提高了爬虫爬取的难度。 说说如何破解? 总结 本文主要是介绍下自己实际中如何进行爬虫以及爬虫的实施方案。 目前Headless Browser这货这么牛逼,一般的反扒基本上都是纸老虎。

    2.8K22发布于 2020-03-17
  • 来自专栏菩提树下的杨过

    rpc框架之 avro 学习 2 - 高效的序列化

    同一类框架,后出现的总会吸收之前框架的优点,然后加以改进,avro在序列化方面相对thrift就是一个很好的例子。 借用Apache Avro 与 Thrift 比较 一文中的几张图来说明一下,avro在序列化方面的改进: 1、无需强制生成目标语言代码 ? 类似刚才的List集合这种情况,这部分信息也需要重复存储到2进制数据中,反序列化时,也不需再关注schema的信息,存储空间更小。 byte数组长度:" + byte2.length); //反序列化 DatumReader<GenericRecord> reader2 = new GenericDatumReader Avro Generic二进制序列后的byte数组长度:2 与前一篇thrift中的序列化结果相比,存储占用的空间比thrift的TCompactProtocol还要小,确实在序列化方面avro做得更好

    2.1K60发布于 2018-01-18
  • cell2location空转卷积分析流程测试详解

    cell2location是一款非常流行的用于空转卷积的基于python的库。文章发表在Kleshchevnikov, V., Shmatko, A., Dann, E. et al. (四):发子刊好思路之方法测试-卷积RCTD(spacexr)流程完整版)】,也是需要reference的一种方法,能够在空间转录组数据中解析精细的细胞类型。 第五点:这是所有卷积方法的共通点,参考数据集最好是sample一一对应的,效果肯定最好,如果没有只能从公共数据库来了,也是可以的! 现在的数据储存在anndata,后续卷积只需要每种celltype的特征。 sample,不涉及batch 接下来才是cell2location正式的卷积过程,它的前期处理步骤很多,主要的目的是给予用户更多的调整和选择,而不是设定固定参数,可能对部分数据效果一般。

    45920编辑于 2026-01-13
  • 来自专栏玖叁叁

    Python序列化-序列化和反序列化

    使用 JSON 模块将 Python 对象转换为 JSON 格式的字符串非常简单,只需调用 json.dumps() 函数并传递要序列化的 Python 对象即可。

    1.2K40编辑于 2023-04-18
  • 来自专栏纯洁的微笑

    转 ! ! !

    2 微信的大反转 据路透社刚刚发布的报道,美国商务部针对WeChat在美国地区运营的禁令被美国一名法官宣布搁置。 这是怎么回事? 2、Tiktok总部继续留在美国,新成立一家 TikTok Global 公司,新公司最多在当地创建2.5万个工作岗位。 2 张一鸣要感谢国家,在特殊时刻推了他一把! 曾经一度要将五眼联盟国家的Tiktok都要出售给微软,并且在谈判的过程中,特朗普不断的威胁压价!

    64710发布于 2020-09-24
  • 来自专栏光城(guangcity)

    实战爬虫

    python爬虫系列之Senium爬虫 0.说在前面1.爬虫方案2.实现 2.1 导库 2.2 selenium 2.3 BS处理图片3.作者的话 0.说在前面 本周更新了机器学习 1.爬虫方案 说在前面:爬取的是国家地理中文网上最新一栏的三张图片,点击查看更多又会出现三张图片,总共六张。 import matplotlib.pyplot as plt import matplotlib.image as mping 2.2 selenium # 爬虫应对代码 driver = webdriver.Chrome ''' key = cookie.split('=')[0] value = cookie.split('=')[-1] ''' dict.update(dict2) /img/%s' % image_name) if i==1: plt.figure() plt.subplot(2,3,i) # 2行三列显示在第

    1.3K31发布于 2019-09-20
领券