摘要:
1) I/O:这个东西其实比较没什么意义,不过java的流概念跟C#的流概念其实都差不多,继承体系都差不多,只是Java中是Input,Output,而C#中是Read和Write.其实各自支持类中的方法名大部分都相同.当然,C# 除了流支持外,还兼容原来的一些文件读写.2)序列化:对象的序列化两者都有支持,做法都差不多,当然,C# 中除了二进制序列化外,还可以序列化成XML格式(Java中有不有还有待更进一步了解).序列化的用途其实也差不多(主要是RMI).3)反射机制:两者的反射机制差不多,当然,在这个方面C#的要完善一些,还加入了元属性(Attribute)的概念(Java中有不有类似的 阅读全文
随笔分类 - 6、编程感悟
F#学习过程中的一点看法
2012-04-13 08:56 by java线程例子, 236 阅读, 收藏,
摘要:
接触F#其实已经很久,因为没有用,也就没有仔细去学,现在在公司的一部分工作也是负责新技术的研究,在弄VS2011过程中发现MVC4中有模型层直接用F#的模板,看来微软有点要实际推F#的感觉,于是决定系统的学习一下F#。下面聊聊这几天学习F#的一些感觉:1)函数式编程其实并不是什么新的玩意,可以看做是一种过程式语言,属于结构化编程,面向过程。这其实也符合我原来对面向过程和面向对象编程的一些看法(可以参考我原来的博文),其实面向过程很适合哪些问答式,来料加工式应用场景的应用编程(比如Web编程,数据库编程),面向对象和面向过程也是相互可以替代,辩证统一的。2)F#的语法在进行函数式编程时很多地方确 阅读全文
C#的新特性体验(异步方法的同步调用)
2012-03-27 14:01 by java线程例子, 327 阅读, 收藏,
摘要:
异步编程出现已经很早了,微软在silverlight中的(RIA Service)将这个发挥到了极致,其实就是只提供异步远程服务调用,说起来也是非常美好的事情,但实际上却未必如此美好,因为很多应用,特别是带有业务性质的,都需要一定程度上的同步,在这种情况下如果用异步编程就会非常的复杂,需要用异步模拟同步,这个工作量是非常大的,特别是在业务逻辑比较复杂的情况下,需要调用一系列异步方法来组合,而调用在业务上要求有先后的情况下,就是一个灾难,非常复杂,而且代码的可读性和维护性极差(用silverlight做过企业应用的应该能体会那种痛苦),当然异步编程由于其处理方式比起同步编程来讲,对程序员的要求. 阅读全文
一点小预测(纯娱乐)
2012-03-23 21:04 by java线程例子, 128 阅读, 收藏,
摘要:
感觉经济的寒冬要来了,老百姓的日子估计难过了,但人还是需要积极向上,因此对技术的发展做个小预测,以10年计:1)云计算将会深入企业应用;2)现有的电商模式将会被淘汰或者被融入;3)云计算后很快就会形成云集群,这将会颠覆现有的很多商业模式和软件应用模式;4)很多新技术,新服务模式将会在云平台下相互渗透和融合,并将自己发挥得淋漓尽致;5)云计算下的安全技术将会需求强劲;6)你可以将云平台看作是一种融合(技术的,商业的),一种汇集(超级大都市);7)虚拟社会现实的影子将会不断出现,但离黑客帝国的描述还是会差很远。云计算是一种梦想,一种统一的梦想,一种融合的梦想云是一种乌托邦式的梦想有梦想就会有未来, 阅读全文
关于分布式流水作业架构的一点浅见(领导者压力和瓶颈的解决方法和思路)
2012-01-21 10:31 by java线程例子, 216 阅读, 收藏,
摘要:
这段时间其实一直在思考Hadoop的东西,主要是我准备用Dotnet来模拟玩一下,这两天刚好看到 http://blog.csdn.net/cenwenchu79/article/details/7206804这篇文章,看来对hadoop的架构有看法的不止我一个,当然,别人都是牛人,有牛人敢怀疑,我也跟着说点看法。首先,坦率的讲,我没有用过hadoop,我只是了解过其机制,根据上面那位牛人的看法,hadoop的master会成为瓶颈,因为其担当的Reducer职责,就是最后归并结果。因为我没有实际用过hadoop,我没有发现这个问题,只是我在准备模拟hadoop的思考过程中,我觉得maste. 阅读全文
被神化的海量数据处理和高并发处理
2012-01-10 23:00 by java线程例子, 16020 阅读, 收藏,
摘要:
其实任何简单的问题,只要规模大了都会成为一个问题,就如中国人口多,很多小问题都会变成大问题一样。但处理这种海量数据的方法无非就是分治和”人海”战术。使用人海战术的前提是问题的划分能够支持这种人海战术,其手段无非是切割(纵向,横向)和负载均衡。纵向分隔主要是按业务(功能)来分,也就是所谓面向服务架构,横向分隔方式比较多,主要依赖于所处理的对象属性,比如时间属性或者特定业务数据属性划分(比如铁路客票的车次(每个车次的操作基本上是独立的));负载均衡则可以是镜像(部署)分布(同样的功能部署几份)和计算分布(一个问题分几个子问题在不同的机器上运行,然后合并结果)。当然,这些手段是可以综合利用的,最终可 阅读全文
剖析云计算技术及架构(1)
2011-12-08 14:23 by java线程例子, 254 阅读, 收藏,
摘要:
我希望能有这样一台计算机:运算能力可大可小,存储空间也可大可小,我需要多少就配多少,只需要通过参数配置就达到计算机系统的升级和降级。其实云计算就是要提供给每个网络用户这样的一种逻辑上的计算机。我前面的博文已经讲了云计算的一些概念和我的理解,其实我觉得要把握为什么会有云计算,只要把握住两个地方,一是资本的逐利性,二是充分资源共享。资本的逐利性是云计算的根本动力,降低成本,提高效率,实现利润最大化是其根本目标,而资源充分共享是云计算的达到这个目标的根本手段,这是由资源的最根本特性--稀缺性决定的,如果某个资源是非常充足,比如空气,除非用特殊手段控制或者武力逼迫人们去购买,否则是没有人愿意去花钱的, 阅读全文
闲谈计算机系统(2)
2011-11-30 07:36 by java线程例子, 148 阅读, 收藏,
摘要:
1)逻辑计算与处理部分与数据存储部分交互叫数据库访问,有:ODBC,BDE,JDBC,ADO,ADO.NET,DAO....2)系统之间或客户端与应用服务器之间的通信有:HTTP(s),SOAP(WS,WCF,NetRemoting,WCF RIAService),Cobra(JRMI...)3)几个人同时要用一个东西,叫资源竞争,对这种情况进行处理叫并发处理,保证大家按一定词序处理叫同步;4)按照做的事情不同的划分叫做功能划分;把做要做的事情分为几个步骤就叫流程;如果很多事情的过程都一样,相同步骤的处理放在一起就叫分层;5)把与客户交互的放在一起,把处理交互及业务逻辑的放在一起,通过一个中间 阅读全文
闲谈计算机系统(1)
2011-11-29 22:50 by java线程例子, 215 阅读, 收藏,
摘要:
1)可以将系统抽象为5个部分:输入,输出,存储,计算(处理),通信网络;2)其实这也是计算机的基本体系架构,也是人本身的模型抽象;3)系统作为一个整体向用户提供服务,这种模型可以称作面向系统,当然把系统看做是一个对象,就可以叫面向对象,如果你把关注点放在系统的输入,输出,进行运算和处理的过程,这叫面向过程;如果系统专门用来向其它系统提供某种服务,你可以叫它面向服务,而如果你的系统是由这样的子系统集成的就是面向服务的架构。4)5个部分可以构成一台物理计算机,当然也可以是一台逻辑的计算机,可以叫做计算机系统;5)5个部分如果在一台物理计算机上,可以叫单机系统;6)5个部分分别在不同的物理计算机上, 阅读全文
编程思想的理解(POP,OOP,SOA,AOP)
2011-11-29 09:15 by java线程例子, 1107 阅读, 收藏,
摘要:
1)POP--面向过程编程(Process-oriented programming ):面向过程编程是以功能为中心来进行思考和组织的一种编程方法,它强调的是系统的数据被加工和处理的过程,在程序设计中主要以函数或者过程为程序的基本组织方式,系统功能是由一组相关的过程和函数序列构成。面向过程强调的是功能(加工),数据仅仅作为输入和输出存在。这种过程化的思想是一种很朴素和普遍的思想和方法,人类很多活动都是这种组织模式,比如工厂生产,企业服务等。面向过程以数据的加工处理过程为主线,忽略了过程的所属、边界和环境,混淆了服务功能和自我功能(比如人可以砍树,这就是一种服务功能,有输入也有输出;它可以提供给 阅读全文
我眼中的云--暂告一个阶段
2011-10-31 21:56 by java线程例子, 144 阅读, 收藏,
摘要:
感觉写这个系列的博文很累人,这些天也在比较系统的学习这个方面的知识,有些东西跟我原来的预感一样,概念多于实际,但云计算的出现,也阐释了一个基本的商业法则:利润=收入-成本,增加收入降低成本是企业活动的基本目的--赚取更大的利润。云计算通过网络共享来充分利用资源,同时保证应用和数据的安全和可靠来降低成本,同时,提高可靠性和性能(服务响应)也可以增加收入。因此,云计算的发展也许会遇到波折,但肯定会向前。要做到云计算的终极按需服务的目标,应该说,现有的平台和技术都还很难满足,我看了几个大公司的云计算,也只能说在一定程度上能够实现。至于一统天下的云,也基本上不会出现,需求和现实环境的差异性,以及社会发 阅读全文
WPF架构关键技术剖析(4)--总结
2011-09-21 23:36 by java线程例子, 147 阅读, 收藏,
摘要:
结合这个系列博文,加上我前面的对依赖属性模拟的博文,如果大家仔细看过,应该收获很大,可以讲Silverlight的页面交互机制应该是非常的清楚了,而这篇博文的Action实现,其实就是一个简易的交互框架。Silverlight本身提供的Triggers,Behaviors也是这个原理,当然,他们做得更细更好些。理解了这种交互机制,其实我们可以很轻松的增加一些巧妙功能来加快silverlight页面开发。比如,我们多采用MVVM,我们就可以直接执行VM中的公共方法,而不必用什么Command.将你的目标指向页面的ViewModel,怎么访问,自己定义一个规则即可。虽然因为时间关系,我没有按原来的 阅读全文
WPF架构关键技术剖析(2)--XAML、对象序列化、类动态实例化
2011-09-18 22:39 by java线程例子, 370 阅读, 收藏,
摘要:
我们知道对于界面元素的描述,WPF的XAML不是第一个,HTML就要早很多,delphi的dfm也是一种。界面描述和界面交互逻辑的分离是有很多好处的,比如有利于可视化设计,有利于界面复用等。微软总是想一统天下,WPF的出现也是这种理想。当然,这种理想的出现也是有实际需求支持的。对于应用程序架构来说,传统的CS和BS都在相互融合,所以整合这两种模式下的界面设计也有其需求,并有利于两种模式的转换和融合。WPF采用XAML作为UI呈现的描述语言,而作为一种语言,XAML本身并没有什么需要特别关注的东西,我们只要去遵循这种规则即可。XAML语言的基本思想更HTML并无太大的区别,只是采用XML格式,依 阅读全文
WPF架构关键技术剖析(1)--序言
2011-09-18 11:01 by java线程例子, 146 阅读, 收藏,
摘要:
技术的发展其实都是有迹可寻的.无论多高超,多神秘的技术都是在实践->经验->理论->再实践->...的过程中发展起来的。今天之所以写这个系列的文章,不是为了炫耀我有多牛,当然更不是为了装B,“天外有天,人外有人”的自知自明我还是有的。我的目的其实很简单: 1)对我两个多月来学习和应用Silverlight做一个总结,以此纪念我为此耗费的青春; 2)给那些和我一样奋战在Coder战线,已经涉足或准备涉足Silverlight,WPF开发的新老同志一些经验,并通过这种交流来减少我们花费在技术跟踪上的成本(时间和精力),多点时间做更有意义的事情,比如多陪陪家人等; 3) 如果 阅读全文
WPF的原理与MVVM模式的思考
2011-09-17 09:02 by java线程例子, 332 阅读, 收藏,
摘要:
对于一般程序语言,执行分为3种:1)编译成二进制机器代码,由操作系统调用执行;典型的如C,C++,Delphi等.2)编译成中间语言,由虚拟机解释来执行或及时编译后执行(前者的典型是java,后者的典型是DotNet).3)不进行编译,有解释器边解释边执行,比较典型的是VB和HTML,Javascript.等上边这些与WPF有关系么?其实是有的,至少原理上非常相似.我们来看看WPF的XAML的执行机制:1)首先是实例化页面类;2)然后构建界面元素(控件树),这里很关键,因为xaml文件里有界面元素的描述性信息,对于一个界面元素E: A)首先实例化E,知道界面元素的类名,利用反射机制很容易实例化 阅读全文