常见Linux命令+Java的序列化与反序列化+对Spring loC的理解

常用的Linux命令

cd         切换目录
pwd         显示当前工作目录
touch     创建空文件
mkdir     创建一个新目录
-p    创建多级目录
cp        复制文件或者目录
-r    递归处理,将指定目录下的文件与子目录一并拷贝
mv        移动文件或目录、文件或目录改名
rm         删除文件
-r    同时删除该目录下的所有文件
-f    强制删除文件或目录
cat        显示文本文件内容
more        分页显示文本内容,可前后翻页,空格向后翻页,b向前翻页
head        查看文本开头部分,默认十行
-[num]    查看文本开头部分指定行数
tail    查看文本结尾部分,默认十行
-[num]    查看文本结尾部分指定行数
-f        循环滚动读取文件并动态显示在屏幕上,根据文件属性追踪    
-F        循环滚动读取文件并动态显示在屏幕上,文件文件名追踪
wc        统计文本行数,字数,字符数
-m    字符数
-w    文本字数
-l    文本行数
find    / -name 在文件系统的指定目录下查找指定的文件
grep        在指定的文件中查找指定内容的行
ln        建立链接文件
scp  远程传输文件

Java的序列化与反序列化

序列化:对象转换为字节(包含对象的类型、数据等信息)。
通过序列化流(ObjectOutputStream)把对象以流的方式写入到文件中保存。

反序列化:字节重构为对象。
通过反序列化流(ObjectInputStream)把文件中保存的对象以流的方式读取出来使用。

对Spring IoC的理解

标准回答

IoC是控制反转的意思,是一种面向对象编程的设计思想。在不采用这种思想的情况下,我们需要自己维护对象与对象之间的依赖关系,很容易造成对象之间的耦合度过高。尤其是在一个大型的项目中,对象与对象之间的关系是十分复杂的,这十分不利于代码的维护。IoC则可以解决这种问题,它可以帮我们维护对象与对象之间的依赖关系,并且降低对象之间的耦合度。

说到IoC就不得不说DI,DI是依赖注入的意思,它是IoC实现的实现方式。由于IoC这个词汇比较抽象而DI比较直观,所以很多时候我们就用DI来代替它,在很多时候我们简单地将IoC和DI划等号,这是一种习惯。实现依赖注入的关键是IoC容器,它的本质就是一个工厂。

加分回答

在以Spring为代表的轻量级Java EE开发风行之前,实际开发中是使用更多的是EJB为代表的开发模式。在EJB开发模式中,开发人员需要编写EJB组件,这种组件需要满足EJB规范才能在EJB容器中运行,从而完成获取事务,生命周期管理等基本服务。

Spring提供的服务和EJB并没有什么区别,只是在具体怎样获取服务的方式上两者的设计有很大不同:Spring IoC提供了一个基本的JavaBean容器,通过IoC模式管理依赖关系,并通过依赖注入和AOP切面增强了为JavaBean服务于事务管理、生命周期管理等基本功能。

而对于EJB,一个简单的EJB组件需要编写远程/本地接口、Home接口和Bean的实体类,而且EJB运行不能脱离EJB容器,查找其他EJB组件也需要通过诸如JNDI的方式,这就造成了对EJB容器和技术规范的依赖。也就是说Spring把EJB组件还原成了POJO对象或者JavaBean对象,以此降低了用用开发对于传统J2EE技术规范的依赖。

在应用开发中开发人员设计组件时往往需要引用和调用其他组件的服务,这种依赖关系如果固化在组件设计中,会造成依赖关系的僵化和维护难度的增加,这个时候使用IoC把资源获取的方向反转,让IoC容器主动管理这些依赖关系,将这些依赖关系注入到组件中,这就会让这些依赖关系的适配和管理更加灵活。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值