志在指尖
用双手敲打未来

JAVA数据处理的常用技术

背景
在实践开发中,数据的处理有五种:获取、传输、存储、剖析、转化。每种各对应一些常用的技能。
序列化和反序列化
序列化是将方针的信息转化为可传输或可存储方式的过程。反序列化便是反过来让这些可传输的、可存储的信息变回方针。
传输的序列化除了安全性的考虑,因为涉及到和第三方通讯,所以还有重要的一点是可读性和不变性。而存储的链路短,可控,所以更考究效率。
传输最常用的序列化手段是JSON这样人眼可读的。而存储会运用protostuff这种将key值映射成编码来传输的。因为1,2,3比one、two、four更省空间更高效。但是传输中都用编码,解析时就很难判断它的意义。两边还要进行额定的约好。原本3代表four,中心加了一个three,3代表three的话,对方没有及时被通知,那么解析传输过来的消息便是错的。java
反射
Java反射是在运行时,关于任何一个类,都能够知道这个类有哪些办法和特点。关于任何一个方针,都能对它的办法和特点进行调用。
常用数据转化东西,比方Spring的RequestParam、RequestBody、ResponseBody内部就用了反射机制。还有Jackson等东西类。甚至在业务代码中直接运用反射也是很常见的。比方设计一个AI帮手问答机。想完成:
小A:我要查找美人”冰冰”AI帮手:OK,查找”冰冰”小A:想知道她的”年纪”AI帮手:21岁
上面这个JAVA完成是这样的:
Fieldfield=美人.class.getDeclaredField(年纪);field.setAccessible(true);returnfield.get(冰冰).toString();
动态署理
署理模式是为了供给增强的或不同的操作,而插入来代替实践方针的方针。这些操作涉及到与实践方针的通讯,所以称为署理。
Spring首要的两大思想IoC和AOP。关于IoC,利用的是反射机制。而AOP运用了动态署理,当然底层也是反射。
JDK动态署理只能给有接口的类署理。实质是经过反射获取要履行的办法,并在履行前或许后加入一些署理处理操作。cglib实质上用承继的办法完成的,是经过动态生成一个子类去掩盖所要署理的类。用final修饰的不能被掩盖的就不署理了。spring动态署理是优先运用JDK动态署理,假如方针没有完成任何接口,则创建一个cglib署理。假如几个类完成了都完成了一个通用接口,比方Runnable,而且加了Component请spring来担任其生命周期。这时候会抛出一个Proxy署理反常。说希望加载一个Bean,实践上完成却不只一个。这时候能够在这个类上加下面标签强制运用cglib署理来处理。

未经允许不得转载:IT技术网站 » JAVA数据处理的常用技术
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载