序列化的概念_序列化的对象可以通过网络传输
Ja高手请进
处理流:是“连接”在已经存在的流(流或者处理流)之上,通过对数据的处理为程序提供更为强大的读写功能的流。找了半天。终于找到原来的笔记了。。。
序列化的概念_序列化的对象可以通过网络传输
序列化的概念_序列化的对象可以通过网络传输
6.推理即如果……可能……,前后有一个因果关系,有一个推理的过程。举个例子:……其实数学不是数的问题,更多的是一种思维能力的问题。
送你~(≥▽≤)/~啦啦啦
祝你好运!!!
常联系。
流的分类:
(1)流 处理流(过滤流、装饰流)
流是通道,文件和进程是。
跟文件相连的流叫流,不跟文件相连的叫通道流。
其实都想象成管子就行。
读取数据终还是读到程序中去,流只是通道而已。
端和客户端都可以建立流,只要两个流的接口名相同,数据就可以传递,也就是所谓连接上了。
流:是可以从一个特定的数据源()读写数据的流。(如:文件、内存)
基础是四个:InputStream OutputStream Reader Writer
流的类型:
File(文件) FileReader FileInputStream
FileWriter FileOutputStream
Memory Array CharArrayReader ByteArrayInputStream
CharArrayWriter ByteArrayOutputStream
Memory String StringReader ---
StringWriter ---
Pipe PipedReader PipedInputStream
PipedWriter PipedOutputStream
处理流的类型:
类型 字符流 字节流
Buffering BufferedReader BufferedInputStream
(缓冲流) BufferedWriter BufferedOutputStream
Filtering FilterReader FilterInputStream
(过滤流) FilterWriter FilterOutputStream
Converting between InputStreamReader
bytes and character OutputStreamWriter
(转换流)
Object --- ObjectInputStream
Serialization --- ObjectOutputStream
(序列化和反序列化)
Data conversion --- DataInputStream
(数据转换流) --- DataOutputStream
Counting LineNumberReader LineNumberInputstream
Peeking ahead PushbackReader PushbackInputStream
(2)输入/输出流 字节流/字符流(2个字节)
(8bit/16bit)
字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer
字节流与字符流主要的区别
字节流与字符流主要的区别是他们的的处理方式
字节流是基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的unicode来处理,也就是要进行字符集的转化
这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联
在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的
在从字节流转化为字符流时,实际上就是byte[]转化为String时,
public String(byte bytes[], String charsetName)
有一个关键的参数字符集编码,通常我们都省略了,那系统就用作系统的lang
而在字符流转化为字节流时,实际上是String转化为byte[]时,
byte[] String.getBytes(String charsetName)
也是一样的道理
ja-流
1、三种基本类型的:
文件、内存和管道(从一个进程或线程式到另外一个进程或线程的通道)
2、
类型 字符流 字节流
文件 FileReader FileInputStream
FileWriter FileOutputStream
内存:数组 CharArrayReader ByteArrayInputStream
CharArrayWriter ByteArrayOutputStream
内存:字符串 StringReader N/A
StringWriter
管道 PipedReader PipedInutStream
PipedWriter PipedOutputStream
3、这些流处理起来容易出错,提供了一些处理流的一种流,这种流专门处理流,可以一次一行地读取一个流,比如BufferedReader读,BufferedWriter写
1)
BufferedReader bufinput=new BufferedReader(input);
String line;
line=bufinput.readLine();
2)
FileWriter output=new FileWriter(args[1]);
BufferedWriter bufoutput=new BufferedWriter(output);
String line;
line=bufouput.newLine();
bufoutput.write(line,0,line.length);
ja-处理流
1、在另一个流上执行某种类型的转换,也称过滤流,当尝试从过滤输入流对象读数据时,该对象能提供源自其他输入流对象的字符。
2、处理流类型列表
类型 字符流 字节流
缓冲 BufferedReader BufferedInputStream
BufferedWriter BufferedOutputStream
过滤 FilterReader FilterInputStream
FilterWriter FilterOutputStream
字节和字符间转换 InputStreamReader
OutputStreamWriter
执行对象序列化 ObjectInputStream
ObjectOutputStream
执行数据转换 DataInputStream
计算 LineNumberReader LineNumberInputStream
向前查看 PushbackReader PushbackInputStream
打印 PrintWriter PrintStream
1)
字节和字符间转换 InputStreamReader
OutputStreamWriter
转换规则是缺省的平台字符编码字节和UNICODE之间转换,也可以指定如:new InputStreamReader(System.in,"ISO-8859-1")
2)StringReader和StringWriter处理JAVA技术String对象的字符流
字节流,顾名思义就是按照一个一个字节去传输,对于字节流而言,它看不到在其内部传输的数据是什么编码,它只认识010101这样构成的字节数据。
字符流,既然叫字符了,肯定有编码了,所以字符流是一种拥有某种格式的数据,这样我们就能安全地用它传输汉字等字符了,当然传英文字符更是可以了。
字节流之所以容易出现乱码,主要是传输的两端对原始数据的编解码格式不一致造成的,与流本身无关,换句话说,并不是流把原本好好的数据弄成乱码了,是程序员在流的接收端拿到数据后,不知道它是什么编码了,就给弄错了。
举个例子,你可以先把一串汉字按照某个字符集解码成010101,即byte[]。然后通过字节流传过去,接收的时候,前提是你已知了它的字符集,那么你就按照当初解码的这个字符集再编码回去,就还原了那一串汉字。
但是你不可能总是预料到对方的编码方式(字符集),所以Ja就推出了一个叫字符流的东西,说,既然你们两个都不确认该用什么进行编解码,那就都用我给你们定义的这个东西吧(字符流),你们都用我这个东西,就达成一致了,就不会乱码了。
所有的字符流终都是转换为字节流来存储,那么,简单就是所有文件都是字节存储
如何在小学数学教学中体现新课改理念
FileReader input=new FileReader(args[0]);体现新的课程理念,落实新一轮课程改革要求的核心环节是课堂教学的改革。作为一名课程改革的一线教师,我认为我们工作的主阵地是在课堂,工作的核心应是转变自己的教学行为和学生的学习方式。我们的课堂教学应不断向数学课堂标准提出的“人人学有价值的数学,人人都能获得必需的数学,不同的人在数学上得到不同的发展”这一目标迈进。老师们也都知道,课程改革在课堂教学层面遇到的挑战就是无效和低效问题。所以说,提高课堂教学效率是当前深化课程改革的关键。
序列化空间组织对象征建筑象征意义的传达,严格来说必须引入主体性的因素。只有通过制度文化的规定,我们才能比较确切的了解一系列看似重复的空间有什么不同的含义。而如果仅从几何空间的构图出发,那么多个空间之间的“界面”(门或堂等)就成为研究的重点。不同“界面”的处理方式,不同“界面”所限定的空间尺度,不同“界面”之间的关系,等等在古建筑中都有其象征意义。这里必须强调的是,“界面”对象征意义的传达是要通过一系列“界面”的异性来体现的。如何在把握新课标理念下,提高数学课堂教学效率这是新课程改革需要重点研究的问题。下面结合自己的课改实践,浅谈几点体会:
一、教学观念现代化
传统的教学观认为:教学就是教师教,学生学,教师讲,把学生当作消极、被动地接受知识的容器。现代的教学观认为:教学就是教师有效、合理地组织学生的学习活动,使所有的学生都能学好,学得主动、生动活泼。我在教学小学数学北师大版第四册“长方形和正方形的特征”时,为学生提供了一系列富有情趣的作:“说一说”,根据长方形和正方形的图形说出它们的名称,以培养学生的空间观念;“数一数”,在数的过程中,知道长方形和正方形都有4条边和4个角;“量一量,比一比”,是在量和比的过程中,得出长方形对边相等,正方形的四条边都相等;“摆一摆”,请学生用小棒摆出长方形和正方形,以进一步加深对长方形和正方形特征的认识。
同时,这里的“说一说”、“数一数”、“量一量”、“比一比”、“摆一摆”等作活动,对于低年级的学生来说就是一种智力游戏,很有力。一位教育家曾经说过:“教学法一旦触及到学生的精神需要,这种教学法就能发挥高度有效的作用。”课堂教学中适当运用游戏教学,让学生在游戏中学知识,能使学生身心愉悦,精神振奋,收到事半功倍的效果。以往的教材直接给出长方形和正方形的特征,这样就束缚了学生的思维,而新教材要求学生通过动手作,因此学生要主动参与到动手作中,在动手作中发展学生的思维,自己总结出长方形和正方形的特征,这样在今后的应用中才能灵活。教材不断地变革,我们的教学观念也相应要跟上时代的步伐。实践证明:教学观念直接影响课堂教学效率,教学观念不解决,再好的教材,再完善的教学方法,使用起来也会 "走样 "。我们教师要清醒地认识到要提高数学课堂教学效率,必须转变传统的教学观念,建立符合现代教学观的崭新体系,努力做到“五个转变”和确立“四种教学观”。
“五个转变”是指:①由单纯的“应试教育”转变为全面的素质教育;②由“填鸭式”的教学方法转变为启发式的教学方法;③由局限于课堂的封闭教学转变为课堂内外相结合的开放性教学;④由单纯传授知识的教学转变为既传授知识,又发展能力的教学;⑤由教学方法的“一刀切”转变为因材施教。
“四种教学观”是指在数学教学过程中要确立如下四种观念:①整体观。即是用整体观点指导课堂教学,从整体上进行数学教学改革,充分发挥课堂教学中各种因素(教师、学生、教材等)的积极性,使它合理组合,和谐发展,实现课堂教学整体优化;②重学观。就是要求教者重视学法指导,积极地把“教”的过程转化为“学”的过程;③发展观。不但要学生有效地学习,更重要的要培养能力,发展智力;④愉快观。要把愉快因素带进课堂,让学生在轻松愉快的课堂氛围中获取知识。
二、教学目标明确化
教学目标是教学大纲的具体化,是教材所包含的知识因素和能力训练的具体要求,是评估教学质量的依据。教学目标决定着教学活动的方向,决定着教学内容、方法、途径的选择,决定着教学效率的提高。
在数学课堂教学中,如果目标制定明确,便能发挥如下功能:对指引师生的教与学,有定向功能;对教改程序的有效进行,有控制功能;对知识与能力的双向发展,有协调功能;对减轻学生因题海战术而盲目训练所造成的负担,功能;对教改工作的科学评价和管理,有竞争功能;对统一标准大面积提高教学质量,有稳定功能。
由此可见,要提高数学课堂教学效率,就应制定完整、明确的课堂教学目标,注意根据教材内容定出基础知识、基本能力、思想感情教育等项的达标要求。例如教学第四册《认识角》的第二课时时,可制定如下教学目标:①基础知识方面:结合生活情景,认识到生活中处处存在着不同的角,体会到数学与生活的联系,能通过“找一找”、“比一比”、“折一折”等活动辨认直角、锐角和钝角;②基本能力方面: 能用三角板上的直角来判断直角、锐角和钝角,能从给出的图案中准确地找到直角、锐角和钝角; ③思想情感教育方面:培养学生学习兴趣、通过小组合作学习,在动手作的过程中提高学生自觉性和克服困难的意志。并且把这些相互促进、相互制约的各项要求组成一个整体,做到在教基础知识的同时培养学生能力,发展智力。这样就能使学生在知识、能力、思想情感教育三个方面得到协调发展,全面完成课堂教学任务,收到良好的教学效果。
教学有法,但无定法,贵在得法。教法制约学法,并给课堂教学效率带来重要影响。因此,教师选择教学方法要科、合理。在教学中我采用多的是课前预习法,课前预习可以分层进行,有能力的预习后,掌握方法可以做练习题,稍一点的要把有关概念或公式先记住,第二天教师再讲解时把不会的在质疑,这种方法我感觉不错。
此外,导入的方法也有很多,如游戏法、情景法、迁移法、故事法、比较法等。俗话说,良好的开端是成功的一半,因此好的课堂导入是上好一节课的良好开端。良好的新课导入,能迅速激发学生的学习兴趣,从而使学生进入的学习状态。在数学教学中要将各种教法进行组合,做到灵活多样、富有情趣,具有实效,并能体现时代的特点和教者的风格。只有这样才能使教学方法科学化,提高教学效率。
四、教学手段多样化
多媒体教学体现了教学手段的多样化。因为它合理地继承了传统的教学媒体(如课本、教师课堂语言、板书、卡片、小黑板等),恰当地引进了现代化教学媒体(如幻灯、投影、录音、电视、磁性黑板、电脑图象等),使二者综合设计、有机结合,既能准确地传导信息,又能及时地反馈调节,构成优化组合的媒体群。
这样能使学生视、听触角同时并用,吸收率高,获得的知识灵活、扎实,从而提高了课堂教学效率。例如:在教学北师大教材第四册《角的认识》课时时,我设计了找角、摸角、折角、画角、玩角五个环节,从学生观察实物开始,逐步抽象出所学几何图形。特别是在画角这一环节上,我改变了以往的教学形式,我首先利用电脑演示画角的步骤和方法。演示前,教师提出“注意观察画角时先画什么,再画什么,画什么?”的要求,让学生带着问题观察,电脑演示步骤。由于是电脑来画,学生注意力集中,给学生留下的表象非常深刻。然后教师再在黑板上画角,进一步明确画角的步骤,渗透角的形成,让学生画角。这样的教学设计,让学生主动参与,了解知识形成过程,符合学生的心理需求,学生不仅掌握了画角的方法,而且数学课堂也是动静交融,充满了勃勃生机。
五、师生关系化
平等的教学氛围是师生关系化的体现。在学习面前,人人平等。在学校,老师成了学生亲近的人,一般来说,学生往往因为喜欢哪位老师,也就喜欢他所教的那一科,正所谓 "亲其师,信其道 "。 对于低年级学生来说要学生亲其师,信其道,教师首先要尊重、信任每一位学生,不放弃任何一个学生。尤其是学困生,对他们要多鼓励,从而建立和谐的教学气氛;要及时帮助他们弥补数学知识上的缺陷,使他们有了对学习数学的胜任感,才能产生学习数学的兴趣。其次,教师还要善于发现学生的点滴进步,善于用亲切的眼神、细微的动作,和蔼的态度、幽默的语言,热情的赞语等来缩短师生心灵间的距,使学生获得精神上的满足,培养学习数学的自信心。比如在一节混合运算课上,一个学生口算题的后面莫名其妙的加上了单位名称“元”,我笑着说:你是不是就想买东西吃呀?结果学生们会心地笑了。相信这样和谐的气氛会比严厉的指责取得的效果好的多。如某学生完成了一道思考题,我会说:“你讲得太好了,和老师想得一样。”如一性格内向的孩子,终于举手发言了,我会说:“你的声音真好听,真希望以后能经常听到你的声音。”再次,教师应以精深渊博的知识,娴熟的教学技巧博得学生的信任和喜爱。
六、基本训练序列化
小学数学课堂教学中一条成功的经验是加强双基(基础知识教学、基本能力训练),什么时候加强双基,教学质量就高;什么时候削弱双基,教学质量就下降。加强基本能力的训练应注意如下问题:①首先应确定哪些是基本训练的内容,然后根据各年级的教学要求,由浅入深地安排,形成一个符合小学数学特点和儿童特点的基本训练序列;②训练的时间多长,数量多少,都要根据教材内容和学生的实际来确定,以便在不增加学生学习时间的条件下,取得的训练效果;③习题的编排应做到低起点、小步子、快节奏、大容量,使每个学生都能得到成功的喜悦;④应针对学生存在的问题,精心选编习题。例如:为引人新课,选编知识衔接题;为巩固概念,选编基础变式题;为纠正错,选编判断题、选择题;为拓宽思路,选编多变、多解题,等等,从而实现训练目标。
综上所述,提高小学数学课堂教学效率应该是教学观念现代化、教学目标明确化、教学方法科学化、教学手段多样化等方面优化的一个有机的整体组合。其实现的关键是教师,教师的基本素质、教学水平与课堂教学效率的提高有着直接的关系。要提高教师自身的素质,归根到底是要树立起 "终身学习 "的理念,教师要坚持在自己的工作岗位上,不断地更新教育观念,提高业务水平,勇于实践,敢于创新,才能胜任二十一世纪赋予我们的光荣而艰巨的历史使命。
Ja串行化怎么理解?什么是串行化?谁能通俗地给我讲讲?
序列化空间组织的构图和“明堂式”构图的关系并非完全不相容。直观的表现就是在序列化空间组织的一些上仍采用类似“明堂式”构图方式(即主体建筑在院落的中心)。这在大量的宫殿、寺庙实例中都可以见到。这正反映了“礼教”对“宗教”的兼容性,或者说,反映了等级制度中,“尊者”对“卑者”关系的性。而在这种交叉关系中,序列化空间组织无疑是根本的。首先,这个概念的原文是 Serialization,而串行化这个翻译并不是很好,个人倾向于序列化这个翻译,下面我都会用序列化这个名词。
所谓序列化是指把一个对象通过某种规则转化为一串二进制串,字符串就是一种二进制串。但为何要把对象转化为二进制串呢?因为我们需要保存或者在网络上传输它们,而存在于 JVM 内存中的对象并没有使用者可见的二进制形式。虽然内存中的所有东西仍然是二进制的,但 JVM 向我们屏蔽了内存作相关的信息,我们不一定能确定某个 JVM 实现是如何在内存中存储和组织一个 Ja 对象的内容的(C/C++ 就可以直接获取内存块来作为序列化的二进制串)。
当然,光序列化是不够的,我们还需要反序列化,也就是如何从二进制串重新转回对象。这样当我们从文件中读取或者在网络的另一头收到某个对象的二进制串之后,我们才能重新还原回那个对象。
Ja 默认类似code和decode实现了自己的序列化,就是使用的内存数据。然而除了 Ja 自己的序列化,我们还有很多中序列化方式,例如 hessian。或者说将 Ja 对象转成 json、xml 也是一种序列化。
举一个非常简单的例子,例如我们有一个对象 Integer v = 1;。当我们使用 hessian 对其序列化的时候,我们可能会拿到 I1 这样的字串(并不确定 hessian 生成的串是不是真的是这样,但是也不多),其中 i 表示类型是 Integer,而 1 就是这个变量的值,而 I1 就是序列化后的二进制串(一个字符串)。
古代建筑空间的观念及理论(二)
四、序列化空间组织
1.关于“序列化空间组织”的说明
序列化空间组织指的是建筑主要动线上的多个空间的一种组合方式。这里主要动线一般是建筑的南北轴线(也有例外,如园林);序列化指的是多个空间以明确的“界面”(门或堂等)来分隔和联系,从而形成一系列空间的层次和秩序。
正如通常情况下被普遍认为的,古建筑的单体形象有很大的相似性,这正反映了建筑象征意义的传达主要通过序列化空间组织的整体进行,而单体形象,作为序列化空间组织中的一个“界面”,往往缺乏一个的、完整的建筑象征意义。
古代哲学对日常人伦世务的重视,使得思想和学在整个理论意识形态中占有重要的地位。因而“儒家学说”可以被后人称为“儒教”,“礼制”也可以被称为“礼教”。“礼”本来就是对人的行为的制度规定,而人的行为是在一定程度上可以通过空间形式反映的。因此本文把以“礼制”为中心的儒家学说的发展,等级制度的形成和确立和建筑主要动线上的序列化空间组合方式的发展相联系,作为对应因素来考察。
即使仅从几何空间的构图出发,对序列化空间组合中的 “界面”进行研究,也仍然是一个复杂的课题。本文只从序列化空间组织和“明堂式”构图的消长关系作一简单的分析。
2.序列化空间组织的发展以及和“明堂式”构图的交叉关系
西周宗法制度的确立,以现世的秩序取代了殷商的尊神重巫的宗教文化,同时在古籍中也有周天子“三朝”,“五门”的记载,成为早期建筑空间纵深布局的典型例证。正如儒家学说占据统治地位要迟至东汉以后一样,“三朝”、“五门”制度的整理也- (void)setInstance:(id)instance{得益于东汉的儒生。从单一的“明堂”式空间分化出不同的仪式空间,是一个连续的逻辑过程,从汉代的东西厢到六朝的东西堂一直到后期的纵三朝制度,可以看成是世俗礼仪逐渐加强的缓慢过程。而典型的“五门” 制度只有在明南京和明清才形成。
寺院的布局变化是一个例证。早期传入汉地的偏重于小乘教理,这种具有较强的超越现实的宗教色彩伴随随着的是佛塔中心式的构图。 “南朝四百八十寺,多少楼台烟雨中。”可见在传入初期,楼台的营造之盛。只有在大乘教理盛行以后,入世的修炼,现世的秩序才被重视,纵深布局的序列化空间组织也才在佛寺中流行起来。而后世的寺庙和宫殿、官府在空间布局方面也就很相似了。
皇家陵墓的陵体布局从唐到明清也体现了构图方式从中心对称到轴线的变化。唐代在山陵四周筑以正方形墙,四面辟门,四角建角楼。明清陵体放弃了方形布局,采用前方后园,圆形宝顶,四周围以墙,仅南向辟门。
这种序列化空间组织中的采用类似“明堂式”构图方式,在一定程度上还反映了制度文化中的细微的部分。例如以唐代的《戒坛图经》的律宗寺院格局作为当时庭院组合方式的典型代表,可以看到每一个小庭院当中都有一个作为构图中心的小殿堂。从这里仿佛可以看到当时林立的藩镇割据现象。这里需要进一步解释的是,藩镇割据是“封建”制度的遗存,而“封建”制度起源就是宗族的分封制度。宗族间关系同时也反映在大家族的聚居生活形态上,终落实为庭院的组合方式及其体现出来的控制关系。
五、两个引申的问题
1.“明堂式”构图对形成“殿堂式”结构类型的作用
《营造法式》的殿堂式结构形式的形成,在技术上是井干式的影响,这一点已经为许多研究者指出;在功能上和多层楼阁有关,这一点没有得到充分的说明;在文化背景上的研究更少。如果考虑到“明堂式”构图在高等级建筑中的延续性,尤其是在古代木构架发展的早期阶段,也就是汉魏北朝时期楼阁作为高等级建筑的普遍性,对殿堂式形成的几个因素可以得到一个较完整的解释:
(2)汉代画像砖中的建筑形象,已经出现了穿斗、井干、三角架等多种形式。民间建筑并没有太多的高层的需要,只有在皇家建筑中才采用并发展了井干式。而井干式的技术,一方面满足了高层的需要,另一方面又吻合了皇家建筑在早期(更富有原始宗教色彩的时期)对“明堂式”构图的需要。
(3)《营造法式》的殿堂式结构形式,实际上保留了 “明堂式”构图的中心对称模式,因此它不是用只有一个维度的侧架图来反映,而是用整体式的分槽形式来反映。换句话说,象金厢斗底槽这样的例子,在草架以下,它的平面、正立面和侧立面只有间数的区别,几乎没有实质性的不同。在这个意义上,佛宫寺释迦塔的例子更明显。
(4)井干式构架的中心对称性,使得纵架和横架的划分只有相对的意义。对每一个立面而言,看到的都是纵架的表现。因此不难理解为什么在东汉崖墓、南北朝石窟的局部建筑形象中(它们都属于当时的高等级建筑),看到的都是纵架的显著效果。
2.“四合院式”构图的反思
古代建筑群体的组合方式,以庭院的使用为突出特征之一。三千多年前的河南偃师二里头的一号、二号宫殿遗址都出现了庭院,可见庭院的历史很久远。当史前庭院遗址和明清四合院被联系起来时,“四合院式”构图往往被看作古代建筑形态的基本特征。这里的“四合院式”指建筑物周边布置,中心为庭院的构图方式。很明显,这种构图方式和前述的“明堂式”构图是有矛盾的。
要澄清这一问题并不容易。这是因教学手段是实现教学目标的主要措施。传统的数学教学,从概念到概念,教师单靠粉笔和黑板讲解,势必影响大面积提高小学数学教学质量和学生的素质提高。因此,要提高课堂教学效率,必须注意教学手段的多样化。为四合院式建筑本身有它在功能上的合理性,因此早在汉代画像砖中就出现了四合院式的建筑形象。但是如果以“四合院式”构图作为古代建筑形态的基本特征,还需要加以讨论。笔者在对闽粤交界区的“从厝式”民居的研究中,提出了早期庭院的“堂庑式”及“堂厢式”的模式,其特点是庭院的构图中心是实体形态的“堂”;在庭院的组合秩序上提出了从“向心围合式”到“单元重复式”的演进,并结合家族制度的变迁和人口迁移对现存“从厝式”民居现象作了初步解释 .本文在此基础上对“四合院式”构图的形成和发展试作如下解释:
(1)就单合院而言,四合院式建筑有可能出现得很早,但是它的普遍性是可以怀疑的。一方面大量的乡村民居可能并没有严格建筑意义上的院落;另一方面类似“明堂式”构图的堂屋居于院落的例子也可能在历史前期长期存在,典型的例子可见于敦煌晚唐85窟壁画的一个住宅形象中。
(2)古代建筑形态的基本特征更主要的在建筑群的整体中表现出来。因此考察“四合院式”构图在建筑群中的地位更为重要。
在当代的一些文献中,古建筑群体组合方式常常被简约为一种“单元式”的网格扩展的方式。李允的观点或可作为代表。这是一种从四合院为单元的,向纵横两个方向(进、路)平均展开的均质的网格状平面扩展模式。这是一种有强烈功能主义色彩的观点。古建筑群体是一个有开始、、收尾不同处理的序列化空间组织,把它看成均质的平面网格是不合适的。即使忽略建筑形象的具体处理方式,古建筑群体也不能看成是四合院空间的叠加。
前文论述序列化空间组织的发展以及和“明堂式”构图的交叉关系时,已经指出序列化空间组织的一些上仍采用类似“明堂式”构图方式(即主体建筑在院落的中心),在大量的宫殿、寺庙实例中都可以见到。本文把序列化空间组织的从采用类似“明堂式”构图方式到“四合院式”构图方式的转化称为“构图中心的虚化”,这种“构图中心的虚化”在宫殿、寺庙等建筑中是有一定限度的,因为这种高等级建筑始终要保留一定的神化色彩。
只有在大型民居建筑群中,才可以见到四合院简单叠加的例子,但这并不是从来就有的。由于缺乏早期民居建筑的实例,此问题还难以得到确证。考虑到古代建筑在功能上的通用性以及早期民居建筑和寺庙建筑的通用性,大型民居建筑群中“构图中心的虚化” 应该是历史发展的结果。而作为一个反证,在现存闽粤交界区的大量“从厝式”民居的中,群体的组织完全不是四合院的简单叠加。
六、小结
建筑空间的观念解释是可能的,简单的模式有利于对历史的宏观把握。在此基础上完善理论解释模式,引进历史演进的因素,把研究引向深入则是必须的。从文学家们发出“南朝四百八十寺,多少楼台烟雨中”的感慨,到 “庭院深深深几许”的喟叹,是一个漫长的历史过程。本文对“明堂式”构图(楼台)和序列化空间组织(深院)的论述只是对这个历史过程的一种简化。
如何让孩子学习国学?
public static void main(String[] args) throws IOException,导语:时下,国学教育成为热议话题,家长对孩子的国学教育也越来越重视。那么,家长如何结合国学来教育自己的孩子呢? 一、提高家长对国学的认识 孩子学习国学,首先要有家长的支持。专家们认为,对国学的热爱首先应来自家长,如果家长对国学没有热情,孩子自己是很难坚持学下来的。国学教育在6岁前的坚持对孩子后来的学习十分重要。 在幼儿阶段,作为家长可以每天抽出10分钟左右的时间陪孩子温习诵读过的篇目,讲解内容,通过一个个小故事让孩子了解做人的道理。比如《三字经》中有“昔孟母,择邻处,子不学,断机杼”的句子,家长可以找来《孟母三迁》、《断机杼教子》的故事讲给孩子听,让孩子懂得环境影响人和做事要有始有终,不能半途而废的道理。再比如读“如囊萤,如映雪,家虽贫,学不辍”时,家长可以给孩子讲讲孙康、车胤刻苦读书的故事,使孩子懂得勤学苦练才能有建树。这种通过故事熏陶学国学的方法非常适合低年段的孩子。 此外,家长之间还可建立起国学经典学习的组织,帮助家长和孩子共同学习、共同坚持、共同热爱,以期给孩子的人生发展奠定坚实的`国学精神财富。家长可以经常与、学校沟通,把孩子将要学习的国学内容先学习一遍,有了感性认识后,就可以和督促孩子学习。心理学认为,孩子的学习是由于信任教师和家长而产生的,如果教师和家长都能把国学知识作为基本修养,言谈举止间能够合理熟练地引用国学语句,孩子学习国学的热情就会大大提高并为之努力。 二、 培养孩子对国学的兴趣 要想对孩子进行良好的国学教育,家长首先要做的就是培养孩子对国学的兴趣。家长可以以故事的形式,让孩子体会到国学的博大精深,每天的同一时间给孩子展示一些关于国学的内容,并且让孩子通过自己的了解,给大家讲国学故事,这样孩子对国学的兴趣就可以慢慢提升。 中小学语文课本中要求孩子必背的古诗文,家长如果有时间不妨和孩子一起来读诵。有些家长只是一味地督促孩子背课文,自己却全然不通,很难让孩子心服口服。相反,如果家长熟练掌握了这些国学经典,孩子一定佩服不已,会更加信服家长,愿意同家长一起切磋。 三、为孩子创设国学学习环境 给孩子进行国学教育,选择合适的国学书籍很关键。家长可以根据孩子的喜好和特点,和孩子一起挑选自己喜欢的国学书籍,这样的话,孩子在进行国学书籍阅读的时候,就会比较感兴趣。此外还可为孩子购买图文并茂的国学知识挂图,把这些内容挂在孩子的房间,按老师的要求每天在家和孩子一起诵读儿童经典,巩固孩子的记忆效果。 定期为孩子播放经典光盘。每天早晨孩子起床时给他放一段诵读国学经典的光盘,让孩子在愉快的空间里听经典诵读,孩子玩的时候、开车外出的时候,可以把诵读cd做背景音乐和孩子一起欣赏。 多鼓励和表扬孩子学习国学的成就。对孩子在学习中取得的点滴成果要及时表扬,每天孩子回家时用鼓励的方式调动孩子的记忆,让孩子回忆学到的国学知识,这样既可以巩固学习效果,又锻炼孩子的记忆力。也可以让孩子当父母的老师,增强孩子的自信心和兴趣。 四、国学教育的方法很关键 专家们同时也提醒,对孩子进行国学教育,不可以采取强制的手段,家长可以采用灵活的方式和方法,常见的国学教育方法有:家长陪孩子每天读国学书籍;给孩子播放国学教育的视频;每天让孩子诵读国学经典;家长给孩子讲国学小故事。 实践证明,国学经典诵读在教育孩子的同时,也教育了家长。很多家长在孩子诵读《规》等经典的过程中,不仅对中华传统文化有了更深的认识,教育孩子也更加得心应手了。 当然,国学经典并不仅仅是用来读诵的,生活中的应用难得。比如,在学习《规》的时候,家长对待自己的父母时应该按照规相关的道理去做,还有很多生活中的小事,都可以引经据典给孩子看。这样,国学经典对孩子的影响才会入脑入心,学以致用。 比如,有的学生前特别焦虑,家长就用《后汉书班超传》里的“不入虎穴焉得虎子”的句子激励孩子,让孩子直面;比如孩子取得一点成绩沾沾自喜时,家长可以用“谦受益,满招损”或“骄兵必败”的故事提醒孩子;当孩子犯错误不敢面对时,家长可以用《论语》里“人非圣贤孰能无过,过而能改,善莫大焉”的句子去孩子。 当家庭出游时,看到某一处美景,可以和孩子一同回顾历来文人对这美景的描绘。如能和孩子一同吟咏出某些篇目,那也大大提高了出游的层次。
4、实体类国学听起来唬人,使人避之犹恐不及,正如对经典的描述:大多数人想看而没有看过的书。亲近国学,概因有二:其一、今人想过和没有想过的问题,古人早已给出了,若不去找,自取其辱;其二、白话文读着不过瘾、不解渴、琢磨头少,不像经、史、子、集,常读常新,意韵无穷,营养丰富,能量充沛。一个人的阅读根系,一定要根往下扎,不必被奇花异果吸引,要从根部去找营养。奇花异果,美则美矣,一旦追根溯源,恍然大悟,不再吃惊羡叹。找到根了,则“不受惑”。胡适当年在北大学生毕业典礼上说,我要告诉年轻人的,就三个字,“不受惑”。
/来自中华网社区 club.chin/
读书择其善者而从之。再追究,择其信者而从之。若不信,则不辩善恶。所以,书字头上一把刀,信。有言,“尽信书,则不如无书”。没错。不是教你不信书,而是要“择而信之”。今人则矫枉过正,搞成了“怀疑主义”,怀疑一切。什么都不信。挑出一点小毛病,放大若干倍,唾弃之。这不是读书法。这是扔书法。真正读书种子,坏书也能看出好,好书看出知来,知书而达礼,达礼而笃行。非如此,则像俗话所说:“读书读到牛里去了”。所谓打通任督二脉,只是神通,是把戏。打通没打通,并不重要,打通了,也只是得些神通,此神通解决不了世间问题,也只是让别人赞叹一下而已。刀枪不入又如何?一颗就把你干掉。所以,此等神通不重要。法力再大,也是一具肉身。肉身也是现世的象,此象能否“一叶而知秋,而知四季,而知八荒”,这就是学习,就是修行。
在家族中,我从来不以对待弟弟们,我一强大了,他们都很尊敬我;我一强大了,长辈们也会放心,再也不耳提面命了。有时我想听他们的训诫,但他们再也不肯多指指点点了,这是我难受的地方,又要靠我一个人去摸索。的反抗,就是把自己搞强大了。只有弱者才。强者不叫,强者叫顺理成章。真正的强大是不需要“示强”的。待弟弟们,我一强大了,他们都很尊敬我;我一强大了,长辈们也会放心,再也不耳提面命了。有时我想听他们的训诫,但他们再也不肯多指指点点了,这是我难受的地方,又要靠我一个人去摸索。的反抗,就是把自己搞强大了。只有弱者才。强者不叫,强者叫顺理成章。真正的强大是不需要“示强”的。 李健的歌《故乡山川》我很喜欢,他把故乡吟唱得很唯美。小镇,小环境;大城市,大环境。要是大环境不好,只得去营造一个小环境了,是谓明哲保身。孔子说:不入危邦,不居乱邦;孔子还说:天下有道则见,无道则隐。老祖宗把都告诉你了,你还在想问题?可笑。是否回小镇隐居,我喜欢一句官腔:一切视情况而定。 在这样的大城市生活需要时刻绷紧一根弦,要有留点时间给自己的意识。这样才能在本职工作之外,拥有看书、写作、思考的独处时间,让人得到心灵的安宁。人每时每刻都在起念头,但我们要做到只存一念。其实,在达到“只存一念”状态时,人是特别舒坦的,进入一种单纯的忘我境界。人要保存单纯的念头,杂念妄生则后患无穷。但我们也要克服自己,因为人一刹那间会闪现很多念头,我们要从这么多念头中提取一个出来,不被其他念头所干扰,并不容易做到。金刚经说“善护念”,就强调了的重要性。我们要护持好自己的念头,清楚明白哪一个是自己的念头。 以前觉得人人要为我,对我有帮助的人就交往,活在一种比较急功近利的状态中,后来慢慢醒悟过来了。因果规律很强大,如果没有看到果,是因还没
李健的歌《故乡山川》我很喜欢,他把故乡吟唱得很唯美。小镇,小环境;大城市,大环境。要是大环境不好,只得去营造一个小环境了,是谓明哲保身。孔子说:不入危邦,不居乱邦;孔子还说:天下有道则见,无道则隐。老祖宗把都告诉你了,你还在想问题?可笑。是否回小镇隐居,我喜欢一句官腔:一切视情况而定。
在这样的大城市生活需要时刻绷紧一根弦,要有留点时间给自己的意识。这样才能在本职工作之外,拥有看书、写作、思考的独处时间,让人得到心灵的安宁。人每时每刻都在起念头,但我们要做到只存一念。其实,在达到“只存一念”状态时,人是特别舒坦的,进入一种单纯的忘我境界。人要保存单纯的念头,杂念妄生则后患无穷。但我们也要克服自己,因为人一刹那间会闪现很多念头,我们要从这么多念头中提取一个出来,不被其他念头所干扰,并不容易做到。金刚经说“善护念”,就强调了的重要性。我们要护持好自己的念头,清楚明白哪一个是自己的念头。
以前觉得人人要为我,对我有帮助的人就交往,活在一种比较急功近利的状态中,后来慢慢醒悟过来了。因果规律很强大,如果没有看到果,是因还没有到。我们种善因得善果,种恶因就得恶果。因果循环屡试不爽。所以说要存善念存善心,因为因果循环会展现出来。永远不要有敌人,不要有事物的对立面。一定要化解,将对立面化开。有到。我们种善因得善果,种恶因就得恶果。因果循环屡试不爽。所以说要存善念存善心,因为因果循环会展现出来。永远不要有敌人,不要有事物的对立面。一定要化解,将对立面化开。 我们以前想过的和没有想过的,前人都给了我们。我们现在不是没有,而是对视而不见。虽然我们改变不了世界,但我们可以把小环境营造好了,比如办公室和家里。现代人很喜欢装修,其实我们的心灵需要装修。将自己从内到外装修成一个整洁的状态,让自己随时可以容纳新鲜事物。现在很多人心里只容得下自己,心里摆满了杂物没有打扫干净,更别提装修了。
持久化类的特点?
首先,这个做法应Printing PrintWriter PrintStream该说不是标准的,序列化的前提,就是要相同类进行序列化与反序列化.但是你所提的需求在某些特殊的场合,的确会碰到,我这里有一个变通的做法,采用 XmlSeriliazer 序列化成xml,在另一端反序列化回来。通过XML,取出类和命名空间的指定。1.对象:
持久化是一种对象服务,就是把内存中的对象保存到外存中,让以后能够取回。需要实现至少3个接口:
void Se(object o) 把一个对象保存到外存中
Object Load(object oid) 通过对象标识从外存中取回对象
boolExists(object oid) 检查外存中是否存在某个对象
2.市场:
既然持久化服务在看得到的未来还有市场,我们就来看看如何构建一个好的持久化框架,框架是否真的好在于如何在扩展性、缩放性、重用性上取得良好的平衡:
扩展性,如果一个持久性框架不能支持用户定义的类型,显然不是一个好的框架。
缩放性,保存和取回对象都需要耗费cpu、带宽、时间资源,哪一个消耗太多都不能接受。
重用性是我们建立框架的初衷,就是通过框架能够减少一些编码和测试的工作量。
3:序列化
我们先跳开一下,看看另一个类似的有用概念:序列化也是一种对象服务,就是把内存中的对象序列化成流、或者把流反序列化成对象。需要实现2个接口:
void Serialize(Stream stream,object o) 把对象序列化到流中
object Deserialize(Stream stream) 把流反序列化成对象
序列化和持久化很相似,有些人甚至混为一谈,其实还是有区别的,序列化是为了解决对象的传输问题,传输可以在线程之间、进程之间、内存外存之间、主机之间进行。我之所以在这里提到序列化,是因为我们可以利用序列化来辅助持久化,可以说凡是可以持久化的对象都可以序列化,因为序列化相对容易一些(也不是很容易),所以主流的软件基础设施,比如和ja,已经把序列化的框架完成了。
持久化方案可以分为关系数据库方案、文件方案、对象数据库方案、xml数据库方案,现今主流的持久化方案是关系数据库方案,关系数据库方案不仅解决了并发的问题,更重要的是,关系数据库还提供了持久化服务之外的价值:统计分析功能。刚才我说到,凡是可以序列化的对象都可以持久化,极端的说,我们可以只建立一个表Object(OID,Bytes),但基本上没有人这么做,因为一旦这样,我们就失去了关系数据库额外的统计分析功能。
关系数据库和面向对象之间有一条鸿沟,因为2中模式不匹配,所以就存在一个OR映射问题。
为什么需要rpc
ClassNotFoundException {首先要明确两个概念,rpc的中文全称是远程进程调用,意思就是一个机器调用另外一个机器的进程。更像是作系统里的概念,而是网络传输协议。
所以这个问题应该是,为什么用自定义的tcp而不是?
rpc只是对底层协议的封装,对具体使用什么通信协议没有太多的要求
rpc主要包含两个方面,一个是传输协议,一个是序列化协议。
关于序列化协议,其实大家说的rpc支持的二进制编码的序列化,用htrpc更像是一个作系统的概念,或者说是一个思想,那就是程序员只管像调用本地的函数一样取调用一个远程函数,而不用管IO。tp也能实现,当然头还是需要字符编码,但body可以用二进制编码。
所以主要的原因在传输协议上。传输有一个缺陷就是header在一个包中的占比会大,并且是字符编码的,所以会增加了很多无用的噪比。而tcp的报文头只有16byte相对来说要更小一些。
至于负载均衡和服务发现,其实用也可以实现。但单纯地使用调用则少了这些特性。
ja socket 如何发送一个结构体消息,ja中结构体是个什么概念...
3、数据源socket只能发送2禁止文件
:selector是一个方法的名字,mod是一个组合体,包含了名字和实现.结构体打一个比方
就是class a{
public string b;
public int c;
public double d;
}a就是一个结构体
我是这里理解的
socket只能发送2禁止文件
结构体打一个比方
就是class a{
public string b;
public int c;
public double d;
ObjectInputStream
ObjectOutputStream
你的意思是把一个类通过socket发送 给远端的socket吗,这些称作类的序列化,你去学一下,上面两个类的用法吧
就是类吧, 只要实现serializable接口, 可序列化, 就可以以二进制传输
package test;
import ja.io.Serializable;
public class Bean implements Serializable{
//
private static final long serialVersionUID = 37822241416086189L;
private String name = null;
private String value = null;
public String getName() {
return name;
}public void setName(String name) {
this.name = name;
}public String getValue() {
return value;
}public void setValue(String value) {
this.value = value;
}}
package test;
import ja.io.IOException;
import ja.io.ObjectInputStream;
import ja.Socket;
import ja.Socket;
public class {
Socket server = new Socket(9999);
Socket socket = server.accept();
ObjectInputStream ois=new ObjectInputStream(socket.getInputStream());
Bean bean = (Bean) ois.readObject();
System.out.println(bean.getName());
System.out.println(bean.getValue());
socket.close();
}}
}客户端
package test;
import ja.io.IOException;
import ja.io.ObjectOutputStream;
import ja.Socket;
import ja.UnknownHostException;
public class {
public static void main(String[] args) throws UnknownHostException, IOException{
bean.setName("HELLO");
bean.setValue("WORLD");
Socket socket = new Socket("127.0.0.1", 9999);
ObjectOutputStream os = new ObjectOutputStream(socket.getOutputStream());
os.writeObject(bean);
socket.getOutputStream().flush();
socket.close();
}}
iOS面试题有哪些
(1)陈明达先生对早期木结构技术的研究指出,在铺作形成和大量早期建筑形象中,都有井干式的影响。本文在此基础上进一步推测,秦汉以后,高台建筑向楼阁式建筑发展,木结构的多层建筑采用了井干式的木构架体系,在此基础上促成了铺作层的产生的抬梁式的出现。而楼阁的应用首先是在皇家的建筑中,在各种充满象征意味的“中天台”、“神明楼”乃至后来的佛塔中。皇家的建筑活动了楼阁技术的进步,反过来又使这种技术形式获得特殊的等级象征性。iOS 面试题
1.Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?
答:不可以,可以实现多个接口;category是分类,,一般情况下分类好,用category重写只会影响到分类本身,不影响其他类和原有类的关系。
2.#import 跟#include 又什么区别 #import> 跟 #import""又什么区别?
答:#import 是oc导入头文件的关键字,#include是c/c++导入头文件的关键字,#import会自动导入一次,不会重复导入,不会引起交叉编译,@class告诉编译器某个类的声明,当执行是才去查看类的执行文件,当两个类文件有循环依赖关系(A引用B,B引用A)时,需要用@class,
在intece中引用一个类,就用@class,它会把这个类作为一个类型来使用,而在实现这个intece的文件中,如果需要引用这个类的实体变量或者方法之类的,还是需要import这个在@class中声明的类。
#import>引用系统文件,它用于对系统自带的头文件的引用,编译器会在系统文件目录下去查找该文件.
#import"":用户自定义的文件用双引号引用,编译器首先会在用户目录下查找,然后到安装目录中查
2.1重复引用(
ClassA 与 ClassB同时引用了ClassC,不做重复引用处理的时候在ClassD中同时引用ClassA,ClassB编译会提示对ClassC重复引用的错误.
#import解决了这个问题
答:变量的作用域不同,@protected 该类和所有子类中 的方法可以直接访问这样的变量,这是默认的,
@private 该类中的方法可以访问这样的变量,子类不可以。
@public除了自己和子类方法外,也可以被其他类或者其他模块中的方法访问
@package
4.id 声明的对象有什么特性?
答:
Id 声明的对象具有运行时的特性,即可以指向任意类型的objcetive-c的对象
5.MVC是什么?有什么特性?为什么在iPhone上被广泛运用?
答:是一种设计模式,将代码按照视图,模型的结构来设计
6.对于语句NSString testObject = [[NSData alloc] init];testObject 在编译时和运行时分别时什么类型的对象?
答:nsstring,nsdata
7.什么是安全释放?
答:[_instance release],_instance = nil;
8.为什么有些4.0的objective-c 函数在3.1上运行时会报错.而4.0的类在3.1上分配内存时不会报错?分配的结果是什么?
运行时因为 3.1的sdk 里没有对应的函数实现.所以会找不到对应的 @selector 指针. 错误.
而分配内存.应该是涉及到类的创建的机制上
9.为什么4.0的c函数在3.1的机器上运行不会报错(在没有调用的情况下?)而4.0的类名在3.1的机器上一运行就报错?
10.异常exception 怎么捕获?不同的CPU结构上开销怎样?C中又什么类似的方法?
11.property中属性retain,copy,assgin的含义分别是什么?有什么区别?将其转换成get/set方法怎么做?有什么注意事项?
if (_instance != instance) {
[_三、教学方法科学化instance release];
_instance = [instance retain];
}}
copy
代码
if (_instance != instance) {
[_instance release];
_instance = [instance copy];
}}
assgin
代码
if (_instance != instance) {
_instance = instance;
}}
12.委托是什么?委托的property声明用什么属性?为什么?
delegate assgin
13.浅拷贝和深拷贝区别是什么?
:浅层:只指向对象的指针,而不引用对象本身。
深层:引用对象本身。
14.Cocoa中与虚基类的概念么?怎么简洁的实现?
没有 delegate
15.自动释放池跟GC有什么区别?iPhone上有GC么?[pool release] 和[pool drain]有什么区别?
没有GC
16.
?1
23
45
67
for(int index = 0; index < 20; index ++){
NSString tempStr = @”tempStr”;
NSLog(tempStr);
NSNumber tempNumber = [NSNumber numberWithInt:2];
NSLog(tempNumber);
}这段代码有什么问题.?会不会造成内存泄露(多线程)?在内存紧张的设备上做大循环时自动释放池是写在循环内好还是循环外好?为什么?
17.内存管理的几条原则时什么?按照默认法则.那些关键字生成的对象需要手动释放?在和property结合的时候怎样有效的避免内存泄露?
答:谁申请谁释放。
18.在一个对象释放前.如果他被加到了notificationCenter 中.不在notificationcenter中remove这个对象可能会出现什么问题?
19.怎样实现一个 singleton的类.给出思路。
20.什么是序列化或者Acrchiving,可以用来做什么,怎样与copy结合,原理是什么?.
21.线程是什么? 有哪些注意事项.?
22.在iphone上有两件事情要做,请问是在一个线程里按顺序做效率高还是两个线程里做效率高?为什么?
23.runloop是什么?在主线程中的某个函数里调用了异步函数,怎么样block当前线程,且还能响应当前线程的timer,touch等.
24.ios平台怎么做数据的持久化?coredata和sqlite有无必然联系?coredata是一个关系型数据库吗?
25.阐述一个nil对象从intece bulider产生,到载入程序运行空间,被释放时所经历的生命周期.
26.notification是同步还是异步? kvo是同步还是异步?notification是全进程空间的通知吗?kvo呢?
28.响应者链是什么?
29.unix上进程怎么通信?
30.timer的间隔周期准吗?为什么?怎样实现一个精准的timer?
32如果要开发一个类似eclipse的软件,支持插件结构。且开放给第三方开发。你会怎样去设计它?(大概思路)
33.Objective-C如何对内存管理的,说说你的看法和解决方法?
Objective-C的内存管理主要有三种方式ARC(自动内存计数)、手动内存计数、内存池。
34. Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么?
线程创建有三种方法:使用NSThread创建、使用的dispatch、使用子类化的NSOperation,然后将其加入NSOperationQueue;在主线程执行代码,方法是performSelectorOnMainThread,如果想延时执行代码可以用performSelector:onThread:withObject:waitUntilDone:
35.What are KVO and KVC?
:kvc:键 - 值编码是一种间接访问对象的属性使用字符串来标识属性,而不是通过调用存取方法,直接或通过实例变量访问的机制。
很多情况下可以简化程序代码。
kvo:键值观察机制,他提供了观察某一属性变化的方法,极大的简化了代码。
具体用看到嗯哼用到过的一个地方是对于按钮点击变化状态的的。
比如我自定义的一个button
[self addObserver:self forKeyPath:@"highlighted" options:0 context:nil];
#pragma mark KVO
- (void)observeValueForKeyPath:(NSString )keyPath ofObject:(id)object change:(NSDictionary )change context:(void )context
{if ([keyPath isEqualToString:@"highlighted"] ) {
[self setNeedsDisplay];
}}
对于系统是根据keypath去取的到相应的值发生改变,理论上来说是和kvc机制的道理是一样的。
对于kvc机制如何通过key寻找到value:
36.Difference between mod and selector?
方法和选择器有何不同?
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。