Pagination已经继承Serializable,并且具有如下两个属性
private int page;private int pageSize;
变量Integer pageNo, Integer pageSize然而在duboo服务中如下的写法会造成序列化错误
Pagination  pagination =new Pagination() {{setPage(pageNo);setPageSize(pageSize);}};

但是正常的set赋值则不会发生序列化错误。

产生这个问题的核心在于java双括号用法的机制

第一层括号定义一个内部匿名类,第二层括号时一个设立初始化块。

因为双括号的在产生的时内部匿名类对象,在执行序列化时会执行构造匿名对象,那么会存在一个拆箱转化的过程,正常来说不应该有问题,赋值,然后序列化。但是匿名内部类的对象会伴随主对象的整个生命周期,并且匿名类必然不会继承序列化接口支持序列化,所以在执行序列化时会发生无法序列化外部类的情况,因为匿名类对象也是一个需要序列化的成员。

java匿名类序列化问题相关推荐

  1. java匿名类_Java匿名类

    java匿名类 Java anonymous class are like local class or inner class without a name. We can use java ano ...

  2. 解决内存泄漏更加清楚的认识到Java匿名类与外部类的关系

    1.事件起因 在做项目的时候,通过Android Studio的Memory Monitor窗口观察程序内存使用情况,发现当程序退出的时候,有一部分应该释放掉的内存没有释放掉,知道程序中应该有内存泄漏 ...

  3. Java 匿名类(匿名内部类)

    Java 匿名类(匿名内部类) 学习的参考博文:无恨之都 1. 初识 匿名类 标准说法: 内部类包括:成员类.局部类.匿名类(匿名内部类). 匿名类概念: 匿名类可以使你的代码更加简洁 (JDK8之后 ...

  4. 1.18 Java匿名类,匿名内部类

    匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类.其语法形式如下: new <类或接口>() {// 类的主体 }; 这种形式的 new 语句声明一个新的匿名类,它对一个 ...

  5. java匿名类的用法

    1.Java允许我们直接使用一个类的子类的类体创建一个子类对象 2.有时候创建子类对象时,除了使用父类的构造方法外还有类体,这个类体被认为是一个子类去掉类声明后的类体,称作匿名类. 3.匿名类是一个子 ...

  6. java 匿名类_浅谈Java的匿名类

    在实际的项目中看到一个很奇怪的现象,Java可以直接new一个接口,然后在new里面粗暴的加入实现代码.就像下面这样.那么问题来了,new出来的对象没有实际的类作为载体,这不是很奇怪吗? 思考以下代码 ...

  7. java 匿名类调用方法_Java匿名内部类使用与示例

    首先说为什么有匿名类(产生的使命) 两个原因 1.简化代码编写 某种情况下,类只需要扩展一个方法,没必要为了一个方法单独去写一个子类,然后然后调用子类,此时需要匿名类 2.在不同的包内的类内调用类的p ...

  8. java匿名类构造方法_Android(Java) | 你知道吗?Java匿名内部类其实是有“名字”和构造方法的!...

    要点 匿名类的概念和用法 语言规范以及语言的横向对比等 内存泄漏的切入点 总结 没有人类认知意义上的名字 只能继承一个父类或实现一个接口 父类是非静态的类型,则需父类外部实例来初始化 如果定义在非静态 ...

  9. java自定义类序列化_【java】面试官问我,如何实现一个自定义序列化

    通常离开内存的东西,如果需要存储或传输是需要序列化的,在java中要序列化是要实现Serializable的(或其子类),那不实现Serializable,如何实现一个自定义的序列化呢,我首先想到的是 ...

最新文章

  1. R语言glm模型预测(predict)过程及Error in eval(predvars, data, env) 错误原因
  2. 【深度学习】LSTM神经网络解决COVID-19预测问题(一)
  3. TensorFlow学习笔记之二(使用TensorFlow实现神经网络)
  4. Apriori 使用说明
  5. Linux中修改weblogic默认IP,Weblogic 12c ip 地址改变如何配置
  6. 在WildFly的REST Web服务中与Jackson的双向关系
  7. [BFS]JZOJ 4672 Graph Coloring
  8. Oracle PGA参数
  9. TortoiseGit的安装使用
  10. maven引入hadoop_如何在maven中引用hadoop v2.3.0 jar?
  11. JHipster中文官网
  12. Ubuntu 汉化及kate汉化和使用自带终端的解决方式
  13. java to vb converter_VBto Converter
  14. DASCTF2022.07赋能赛 - Pwn easyheap
  15. 便携式CAN分析仪与毫米波雷达搭配使用
  16. sun java认证考试大纲_SUN认证JAVA程序员考试大纲
  17. 如何用adb命令启动安装的APK
  18. CMakeLists.txt文本编辑工具
  19. InstallShield Premier,复杂的多服务器应用程序
  20. 【Golang】golang开发微信公众号网页授权功能

热门文章

  1. 西安交大城市学院计算机怎么,西安交大城市学院计算机系召开调研汇报会
  2. In aggregated query without GROUP BY
  3. cics for linux,cics 5.1 for AIX 故障ERZ080035E的分析
  4. 世界首富比尔·盖茨怎样对待金钱
  5. 智能楼宇实训室建设方案
  6. 敏捷项目管理5大工具
  7. 嵌入式课程设计总结(八)
  8. 7-207 孔融分梨(函数实现)
  9. 语音卡开发系列: LightweightCTI架构设计(作者:东成西就)
  10. 模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)...