
我的朋友程序员K,说他在电力行业的一家软件公司做了八年AndroID开发,用到的各种技术,数据库,网络请求,事件传递,响应框架都很熟悉,甚至JNI/NDK/Framework,Js、Server端开发都能玩儿转,个人也是部门骨干。
因为疫情,今年公司项目锐减,已经签的项目,也迟迟不能开始,公司难以运转,就做了一些优化。K原本不在被优化之列,但他觉得留下来也意义不大,就主动申请了一个名额,拿了几个月赔偿金,出来找工作。
K对找工作本来信心满满,谁知道一面试,连“熟悉SSM吗?用它们做过项目吗?”、“微服务架构在项目中用过吗?”这些问题都难以回答,饱受打击。找了一个多月,虽然拿到了两个Offer,但是公司规模、待遇等,都还不如原来,K感到非常沮丧,严重怀疑自己做错了选择,产生了回老东家的想法,K何尝不是很多35岁以上程序员的缩影?
K的情况让我想起2018年,IBM裁员时我所接触到了几个年近四十的程序员,也是类似的情况,原本拿着高薪也不怎么加班,工作和生活都有滋有味,可是忽然间遭遇优化,被抛到市场上找工作,才发现自己竟然在技术、思维等方方面面都跟不上了,连那些自己从前瞧都懒得瞧的小公司,居然也反转过来瞧不上自己了。
我接触到的人非常有限,就遇到了这么多“放心跟着公司发展结果失去竞争力”的情况,那整个职场,还不知道有多少人,像K这样被公司圈养,结果来到自由竞争的市场,忽然发现自己失去了议价能力,面临被淘汰的命运。
Serializable的作用是为了保存对象的属性到本地文件、数据库、网络流、rmi以方
便数据传输,当然这种传输可以是程序内的也可以是两个程序间的。而AndroID的
Parcelable的设计初衷是因为Serializable效率过慢,为了在程序内不同组件间以及
不同AndroID程序间(AIDL)高效的传输数据而设计,这些数据仅在内存中存在,
Parcelable是通过IBinder通信的消息的载体。
从上面的设计上我们就可以看出优劣了
2、效率及选择Parcelable的性能比Serializable好,在内存开销方面较小,所以在内存间数据传输
时推荐使用Parcelable,如activity间传输数据,而Serializable可将数据持久化方便
保存,所以在需要保存或网络传输数据时选择Serializable,因为androID不同版本
Parcelable可能不同,所以不推荐使用Parcelable进行数据持久化。
对于Serializable,类只需要实现Serializable接口,并提供一个序列化版本
ID(serialVersionUID)即可。而Parcelable则需要实现writetoParcel、
describeContents函数以及静态的CREATOR变量,实际上就是将如何打包和解包
的工作自己来定义,而序列化的这些 *** 作完全由底层实现。
只要是程序员,不管是Java还是AndroID,如果不去阅读源码,只看api文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析
真题解析**
[外链图片转存中…(img-KuVDzpGS-1620279951810)]
总结资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图,大家可以**点击这里自行获取**。
以上是内存溢出为你收集整理的关于Flutter文本组件Widget的全面解读,架构师必备技能全部内容,希望文章能够帮你解决关于Flutter文本组件Widget的全面解读,架构师必备技能所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)