java匿名类序列化问题
Pagination已经继承Serializable,并且具有如下两个属性
private int page;private int pageSize;
变量Integer pageNo, Integer pageSize然而在duboo服务中如下的写法会造成序列化错误
Pagination pagination =new Pagination() {{setPage(pageNo);setPageSize(pageSize);}};
但是正常的set赋值则不会发生序列化错误。
产生这个问题的核心在于java双括号用法的机制
第一层括号定义一个内部匿名类,第二层括号时一个设立初始化块。
因为双括号的在产生的时内部匿名类对象,在执行序列化时会执行构造匿名对象,那么会存在一个拆箱转化的过程,正常来说不应该有问题,赋值,然后序列化。但是匿名内部类的对象会伴随主对象的整个生命周期,并且匿名类必然不会继承序列化接口支持序列化,所以在执行序列化时会发生无法序列化外部类的情况,因为匿名类对象也是一个需要序列化的成员。
java匿名类序列化问题相关推荐
- java匿名类_Java匿名类
java匿名类 Java anonymous class are like local class or inner class without a name. We can use java ano ...
- 解决内存泄漏更加清楚的认识到Java匿名类与外部类的关系
1.事件起因 在做项目的时候,通过Android Studio的Memory Monitor窗口观察程序内存使用情况,发现当程序退出的时候,有一部分应该释放掉的内存没有释放掉,知道程序中应该有内存泄漏 ...
- Java 匿名类(匿名内部类)
Java 匿名类(匿名内部类) 学习的参考博文:无恨之都 1. 初识 匿名类 标准说法: 内部类包括:成员类.局部类.匿名类(匿名内部类). 匿名类概念: 匿名类可以使你的代码更加简洁 (JDK8之后 ...
- 1.18 Java匿名类,匿名内部类
匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类.其语法形式如下: new <类或接口>() {// 类的主体 }; 这种形式的 new 语句声明一个新的匿名类,它对一个 ...
- java匿名类的用法
1.Java允许我们直接使用一个类的子类的类体创建一个子类对象 2.有时候创建子类对象时,除了使用父类的构造方法外还有类体,这个类体被认为是一个子类去掉类声明后的类体,称作匿名类. 3.匿名类是一个子 ...
- java 匿名类_浅谈Java的匿名类
在实际的项目中看到一个很奇怪的现象,Java可以直接new一个接口,然后在new里面粗暴的加入实现代码.就像下面这样.那么问题来了,new出来的对象没有实际的类作为载体,这不是很奇怪吗? 思考以下代码 ...
- java 匿名类调用方法_Java匿名内部类使用与示例
首先说为什么有匿名类(产生的使命) 两个原因 1.简化代码编写 某种情况下,类只需要扩展一个方法,没必要为了一个方法单独去写一个子类,然后然后调用子类,此时需要匿名类 2.在不同的包内的类内调用类的p ...
- java匿名类构造方法_Android(Java) | 你知道吗?Java匿名内部类其实是有“名字”和构造方法的!...
要点 匿名类的概念和用法 语言规范以及语言的横向对比等 内存泄漏的切入点 总结 没有人类认知意义上的名字 只能继承一个父类或实现一个接口 父类是非静态的类型,则需父类外部实例来初始化 如果定义在非静态 ...
- java自定义类序列化_【java】面试官问我,如何实现一个自定义序列化
通常离开内存的东西,如果需要存储或传输是需要序列化的,在java中要序列化是要实现Serializable的(或其子类),那不实现Serializable,如何实现一个自定义的序列化呢,我首先想到的是 ...
最新文章
- R语言glm模型预测(predict)过程及Error in eval(predvars, data, env) 错误原因
- 【深度学习】LSTM神经网络解决COVID-19预测问题(一)
- TensorFlow学习笔记之二(使用TensorFlow实现神经网络)
- Apriori 使用说明
- Linux中修改weblogic默认IP,Weblogic 12c ip 地址改变如何配置
- 在WildFly的REST Web服务中与Jackson的双向关系
- [BFS]JZOJ 4672 Graph Coloring
- Oracle PGA参数
- TortoiseGit的安装使用
- maven引入hadoop_如何在maven中引用hadoop v2.3.0 jar?
- JHipster中文官网
- Ubuntu 汉化及kate汉化和使用自带终端的解决方式
- java to vb converter_VBto Converter
- DASCTF2022.07赋能赛 - Pwn easyheap
- 便携式CAN分析仪与毫米波雷达搭配使用
- sun java认证考试大纲_SUN认证JAVA程序员考试大纲
- 如何用adb命令启动安装的APK
- CMakeLists.txt文本编辑工具
- InstallShield Premier,复杂的多服务器应用程序
- 【Golang】golang开发微信公众号网页授权功能
热门文章
- 西安交大城市学院计算机怎么,西安交大城市学院计算机系召开调研汇报会
- In aggregated query without GROUP BY
- cics for linux,cics 5.1 for AIX 故障ERZ080035E的分析
- 世界首富比尔·盖茨怎样对待金钱
- 智能楼宇实训室建设方案
- 敏捷项目管理5大工具
- 嵌入式课程设计总结(八)
- 7-207 孔融分梨(函数实现)
- 语音卡开发系列: LightweightCTI架构设计(作者:东成西就)
- 模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)...