基于反射实现简单的ORM
面向对象语言的一个优势在于抽象,将现实的业务需求抽象和构造成为程序的可用实体对象,使程序员在编程时候的思考方式更加贴近现实业务的运转方式。另一方面数据在使用过程中又经常会需要持久化,一般可以简单理解成将数据存储到数据库中。现在流行的关系数据库(NoSQL另做讨论)主要以表(具有行和列)为对外提供展示和保存数据的基础结构,行表述存储的数据量,列标识数据的模式(Schema)。如果使用面向对象语...
面向对象语言的一个优势在于抽象,将现实的业务需求抽象和构造成为程序的可用实体对象,使程序员在编程时候的思考方式更加贴近现实业务的运转方式。另一方面数据在使用过程中又经常会需要持久化,一般可以简单理解成将数据存储到数据库中。现在流行的关系数据库(NoSQL另做讨论)主要以表(具有行和列)为对外提供展示和保存数据的基础结构,行表述存储的数据量,列标识数据的模式(Schema)。如果使用面向对象语...
在Java并发工具包java.util.concurrent中,高级的工具分成三类:Executor Framework 、并发集合Concurrent Collection以及同步器Synchronizer。其中的Executor Framework 通过控制Thread的启动,执行和关闭,简化了线程管理。内建对异步并发管理,允许线程异步返回。典型的Executor使用方法如下 Exec...
jQgrid是一个基于jQuery实现的表格插件,提供了十分丰富的API以供开发者使用,不过也由于版本更迭和本身支持的原因,在网络上查找一些相关资料的时候,总是会有许多种不同的解决方案。下面描述一个使用jQgrid3.8.2来实现的行内编辑功能。 下面为进行行内编辑的Grid代码,可用的编辑单元格为’useCount’和’loadRate’. 单元格光标移除之后,将数据保存到本地Table。...
在递归调用中,可能会有一些数据会被重复计算。这时候可以考虑使用记忆化搜索或者动态规划将其中的一些值保存起来,避免后续的调用重复计算。例如在计算斐波那契和的时候,任何一个值在拓展后都可能被重复计算多次,并且每次的值都是一样的。因此采用这种方法可以进行优化。 //用于存储已经计算过的斐波那契数列 private static int[] mem; //一般版本 public static i...
Ruby是一门脚本语言,默认是按照语句出现的顺序进行执行,通过控制结构可以变化行为,比如循环等。 Ruby与C等编译语言相比,没有一个main方法可以作为执行的入口,而是接受一个待执行语句的脚本,然后从第一行代码执行到最后一行。Ruby解释器现在文件中扫描BEGIN语句,然后执行该语句所包含的代码,执行BEGIN代码块之后,会回到第一行代码开始顺序执行。 ...
综述 超文本传输协议(HyperText Transfer Protocol,HTTP),是互联网应用最广泛的网络协议。最初的HTTP协议设计用于发送和接收HTML。经过发展演变成为客户端和服务器进行请求(Request)和响应(Response)的标准协议。要了解HTTP的运行过程,需要了解大体OSI模型 由下到上,OSI模型描述了整个网络架构中从基础设置到上层应用的框架。 HT...