前言
遇到了就总结!理解本质,不能存在仅仅知道
什么是xml
是可扩展标记语言(EXtensible Markup Language)他的宗旨是传输数据和存储数据,xml的焦点是数据的内容,而html他的焦点时显示数据的外观
Where xml
数据存储和信息配置的时候用到了xml,可以将不同数据源的数据组装成xml文件,然后将xml文件压缩打包加密通过网络进行传输给接收者,然后接收者对xml进行还原,当我们在做B/S系统的时候有的时候就是返回的xml的类型
what 序列化,反序列化
序列化按照字面的意思就是把这一排数字进行排列然后进行流化,后者是挨个的进行处理
序列化就是一种用来处理对象流的机制,对象流指的是把内容进行流化,也就是进行读写操作,为什么我们要进行流化,是因为我们要在网络之间进行通信,所以我们要进行流化!
Why 序列化
1.举一个例子,前提,B类中含有一个指向A类的对象的引用。加入A a =new A();B b= new B,在这过程中我们内存中在堆上分配了两块内存空间,存储a与b,如果这个时候我们要在另一个文件中写入b类,系统会自动把a类赋值到b类,这样我们现在有三个存储空间,而a类在两个空间中都有,这个时候就会导致冗余!(跟数据库是是一样的,更新会导致a类的信息不一致问题)
这个时候我们就使用序列化来解决这个问题:
1.保存存盘上所有的对象并且都赋予序列号
2.当保存一个对象的时候庞大那给对象是否已经保存
3如果已经保存,那么就让它使用相同的序列号进行标记,这样就解决了对象引用的问题
2. 再举个例子,假如现在QQ上A要与B进行通信,在通信的过程中A对B说美女约吗?在这个过程中 有一个很重要的前提的是A的程序使用C#写的B的程序是用javaEE写的,如果想让B接受到A的信息那是不可能的,因为他们的语言根本不一样!但是如何让他们通信?我们可以使用序列化和反序列化!
how序列化
把对象的状态信息转换为可以存储或者传输的过程,在传输的过程中对象把临时或者持久存储区,以后可以通过读取或者使用反序列进行使用,序列化能把堆内存中的对象的生命周期延长,做持久化操作.当下次再需要这个对象的时候,我们不用new了,直接从硬盘中读取就可以了.
where序列化
使用序列化必须实现Serializable接口,只有实现了Serializable的接口才可以实现序列化,实现这个接口两个作用:1.java的RMI:RMI允许在本机上一样操作远程机器上的对象,当发送消息给远程对象时,就会用到序列化机制中的发送参数和接受返回值。2javaBean:其实就是保持状态信息,为什么要保存,因为可以恢复到原来的程序运行时能恢复的状态信息
jsp与aspx的区分
jsp的全名叫做java Server Pages 中文名字叫做java服务器页面,其实就是一个简化的Servlet设计,(Servlet设计表示:一个小型的服务器程序,主要功能就是与交互式浏览器和修改数据)
why jsp
因为java不可以直接写在浏览器上,所以我们需要使用jsp,相同点:.aspx是asp.net动态扩展名,jsp是jsp中动态也的扩展,
比较
服务器端运行的动态网页文件,通过iis解析执行好偶可以得到的动态页面,
2.平台的支持:JSP具有平台独立性,只要是一般的Java程序可以运行的平台,都支持JSP程序。Windows平台可以很好的支持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于移植到其它平台上。
3.组件模型:JSP是建立在可重用的、跨平台的组件(如:JavaBeans、Enterprises JavaBeans和用户定制的标签库等组件)之上的,而ASP使用的是基于Win32的COM组件模型。
partial
C#是中局部类的概念,partial是对编译器有用,编译器在编译时看到的类都是部分的,但是他回去找其他的地方收集其他的类没然后组合成一个完整的类,再进行编译,
如何宏观把控?
无论学习什么东西,我都会进行宏观把控,可是自认为的宏观把控做的一塌糊涂,因为看见多就瞅瞅,不去了解,想着用到了再去查,t通过这次bill讲的从最开始的界面到最后的发布和部署,从起点到根源让你知道了如何去了解一个东西,当我们看见知识复杂和庞大的东西时候。我们要进行分类和抽象,然后去做总结,与旧的知识进行对比式学习,让自己的知识形成知识网,如果不知道如何进行宏观把控一定要看百度百科,看官网,看别人写的宏观把控!无论学习什么都要在最开始的时候进行宏观把控!这是最近我体会最深的地方。如果要视觉体现一定要化思维导图!
为什么我每次都做不了宏观把控,因为我每次都太着急进行!总想着赶紧的去了解这个知识点!但是没有想到的是,你只知道这一个点!你并不是他的全貌!你只能在他的某个小区域内打转!你图什么??既然已经知道更好的解决方案那就去做!很简单!我不想只了解一小块区域!我想要宏观把控!就这么简单!我也要简单的去完成这件事情!学!不能白学!花的时间不能白花!既然可以知道全部为什么只知道一部分!
学习悖论
人们在学习的时候面临两种状态1不知道要学习的内容,2 已经知道了要学习的内容。前者是没有学习目标,后者是学习没有必要,破解的他得悖论是知其然知其所以然,知道他是这样的,更知道他为什么是这样的!更简单的说:知道事物的表面现象,也要知道事物的本质及其产生的原因。
面对不知道学习什么:我建议多做宏观总结,看看自己还有什么地方不熟悉
已经知道要学习的内容:访问自己是否可以跟别人讲出来,并且通俗易懂。底层的代码你是知道?为什么会有他,它是从哪里来?的历史是什么?他能为你带来什么好处?
总结
收获很多,也反思了自己以前的学习态度和良好的编码习惯,不过现在还不晚!知识网很重要~