- 博客(48)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
转载 JavaScript 闭包深入理解(closure)
一、什么是闭包?“官方”的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。相信很少有人能直接看懂这句话,因为他描述的太学术。其实这句话通俗的来说就是:JavaScript中所有的function都是一个闭包。不过一般来说,嵌套的function所产生的闭包更为强大,也是大部分时候我们所谓的“闭包”。看下面这段代码:
2016-05-10 10:51:31
474
转载 理解 JavaScript(四)
第四篇拖了很久了,真是有点不好意思。实话实说,拖延很久的原因主要是没想好怎么写,因为这一篇的主题比较有挑战性:原型和基于原型的继承——啊~我终于说出口了,这下没借口拖延了==原型我(个人)不喜欢的,就是讲原型时上来就拿类做比较的,所以我不会这样讲。不过我的确讲过构造器函数,在这方面和类多多少少有共通之处。我的建议是:忘掉类。有很多观点认为“类”学的泛滥是面向对象的过度发展,是一种悲
2016-02-03 17:20:21
576
转载 理解 JavaScript(三)
JavaScript 中的构造器什么是构造器?构造器也叫构造函数,它就是一个普通的函数,只不过它的主要目的是用于和 new 操作符配合来创建特定类型的对象。(关于 new 操作符,我的理解 JavaScript(一)里有进一步描述)举例:var me = new Person('Albert', 'Yu', 32); // Person 即是构造函数
2016-02-03 17:19:33
691
转载 理解 JavaScript(二)
Scoping & Hoistingvar a = 1;function foo() { if (!a) { var a = 2; } alert(a);};foo();上面这段代码在运行时会产生什么结果?尽管对于有经验的程序员来说这只是小菜一碟,不过我还是顺着初学者常见的思路做一番描述:创建了全局变量 a,定义其值为
2016-02-03 17:06:01
527
转载 理解 JavaScript(一)
JavaScript 中的 new首先,new 是一个操作符,它可以用来创建两种对象的实例,一种是用户定义的对象类型,另一种则是拥有构造函数的内建对象类型。创建用户定义的对象需要两个步骤:通过编写函数来定义对象类型;使用 new 来创建对象实例。示例一:var Person = function(personName) { this.name = p
2016-02-03 16:53:41
547
转载 Android Activity生命周期图解
Android应用组件Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件。对于一个Android应用程序来说,可以包含一个或多个Activity,一般在程序启动后会呈现一个Activity,用于提示用户程序已经正常启动。当它不积极运行时,Activity可以被操作系统终止以节省内存。在Android常用组件生命周期一文中我们简单介绍过Act
2014-11-04 22:01:16
1155
转载 Mybatis使用经验分享之批量操作
批量删除: 注意,foreach是循环,用来读取传入的list参数。批量处理是parameterType的类型必须要注意。foreach标签中的collection属性表示传入的是什么集合类型。item表示的是集合中的一个量类似于Listlist;for(String str:list){ ……}item就相当于str的作用,用来遍历
2014-10-27 10:16:03
838
转载 ServerSocket选项的基本解析:SO_TIMEOUT选项、SO_REUSEADDR选项、SO_RCVBUF选项
1:SO_TIMEOUT选项 此选项表示等待客户连接的超时时间设置该选项:public void setSoTimeOut(int timeout) throws SocketException读取该选项:public int getSoTimeOut() throws IOException; 测试程序:[java] view
2014-10-11 11:02:16
942
转载 linux下查看TCP网络连接情况
查看TCP网络连接情况命令:netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’www.2cto.com返回结果示例:Cmd代码LAST_ACK 5SYN_RECV 30ESTABLISHED 15FIN_WAIT1 51FIN_WAIT2 5
2014-10-10 18:41:22
2313
转载 Linux中TCP连接过程状态简介
一、Linux服务器上11种网络连接状态: 图:TCP的状态机通常情况下,一个正常的TCP连接,都会有三个阶段:1、TCP三次握手; 2、数据传送; 3、TCP四次挥手注:以下说明最好能结合”图:TCP的状态机”来理解。SYN: (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效。表示一
2014-10-10 09:59:34
689
转载 MyBatis的动态SQL详解
MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。MyBatis中用于实现动态SQL的元素主要有: ifchoose(when,otherwise)trimwheresetforeachif就是简单的条件判断,利用if语句我们可以实现某些简单的条件选择。先来看如下一个例子:Xml代码
2014-09-04 11:36:38
829
转载 Mybatis3.2.1整合Spring3.1
根据官方的说法,在ibatis3,也就是Mybatis3问世之前,Spring3的开发工作就已经完成了,所以Spring3中还是没有对Mybatis3的支持。因此由Mybatis社区自己开发了一个Mybatis-Spring用来满足Mybatis用户整合Spring的需求。下面就将通过Mybatis-Spring来整合Mybatis跟Spring的用法做一个简单的介绍。MapperFactor
2014-09-03 14:02:42
981
转载 深入浅出Mybatis-与Spring集成
单独使用mybatis是有很多限制的(比如无法实现跨越多个session的事务),而且很多业务系统本来就是使用spring来管理的事务,因此mybatis最好与spring集成起来使用。前置要求版本要求项目版本下载地址说明mybatis3.0及以上https:
2014-09-03 13:51:03
757
转载 Spring学习4-面向切面(AOP)之aspectj注解方式
一、简介 1、AOP用在哪些方面:AOP能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任,例如事务处理、日志管理、权限控制,异常处理等,封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。 2、AOP中的概念: Aspect(切面):指横切性关注点的抽象即为切面,它与类相似,只是两者的关注点不一样,类是对物体特征的抽象,而切面是
2014-09-02 10:15:44
961
转载 Spring aop学习详解
程序员还是需要把基础打扎实,修炼自己的内功。” 所以赶紧把学习的东西总结一下,加深印象。 。基于代理模式,了解了jdk动态代理和cglib的用法。但是在真正的使用AOP的时候,不可能写这么厚重的方法。 Spring有两大核心,IOC和AOP。IOC在java web项目中无时无刻不在使用。然而AOP用的比较少,的确也是一般的项目用的场所不多。事务控制基本都用,但却是Spring封装的不需要我
2014-09-02 10:14:40
686
转载 JAVA 位运算符和位移运算符
java位运算符包括 &(与) AND |(或) OR ^(异或) XOR ~(非) NOT 位移运算符包括 >>(右移) >>>(右移,左边空出的位以0填充) 顾名思义,位运算符用于位运算,那就只能对整型或者字符型进行运算。而除了~(非)是一元运算符之外其他的都为二元运算符。 所有位运算都会把值转为二进制
2014-06-29 22:35:43
623
转载 Maven中的DependencyManagement和Dependencies
这里介绍一个在父项目中的根结点中声明dependencyManagement和dependencies的区别dependencyManagementMaven 使用dependencyManagement 元素来提供了一种管理依赖版本号的方式。通常会在一个组织或者项目的最顶层的父POM 中看到dependencyManagement 元素。使用pom.xml 中的dependenc
2014-06-19 18:55:17
690
转载 encode url 编码和解码处理
转自:http://hi.baidu.com/bookun/item/a92138c3ebe1eb0fad092f2bjavascript urlencode 推荐 encodeURIComponent乐其乐小站网上查到的全都是escape,和需要的编码不是一回事,好不容易找到的结果 保存下来以备以后使用js对文字进行编码涉及3个函数:escape,encode
2014-06-19 17:11:16
920
转载 Maven学习:常用mvn命令
1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2. 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName -Dartifa
2014-06-19 10:01:42
890
转载 Maven学习四:使用mvn install创建自己的repository
mvn install 这个命令会把当前项目或模块打包之后注入到本地Repository中,以供引用。我们平时做项目的时候,也常把项目编译后打成jar包,让其他项目引用。maven提供的install命令更方便快捷的实现了这个操作,并且可供maven模块化管理,mvn package 可以生成相应的jar包。 新建maven project-02 之前,要先在projec
2014-06-19 09:52:10
1294
转载 Maven学习三:使用junit测试maven project
每个开发人员都会对自己的代码进行自定义的测试,可以是把项目run起来,手动点点页面按钮,看看操作场景和步骤点是否符合业务需要,是否存在UE上的问题。也有自己写几个测试类,把service类的输入输出是否符合标准都测试一番,这两大类,其实就是包括了前后端的测试工作,分工各有不同。在maven中集成了junit测试包,应该说maven可以集成任何你想的到或者想不到工具插件。 在
2014-06-19 09:48:41
862
转载 Maven学习二:手动创建maven project并编译
在了解了M2_HOME文件结构之后,应该大概知道了这款集成工具的一些情况,下面准备动手做两个Demo,简单认识一下maven常用命令。下面将要手动创建maven project,并用maven compile/test/clean/package等命令处理project等。 先介绍一下,maven project的必备要素,pom.xml(项目对象管理配置文件),和/src/
2014-06-19 09:41:45
1166
转载 Maven学习一:用Maven创建Java Project
Maven环境配置只是入门的基础,现在要通过Maven基本命令生成一个Java Project,首先通过mvn命令创建project,然后导入Eclipse IDE中,即可。 首先,我cd到一个MavenProjects文件夹,然后通过命令:mvn archetype:create -DgroupId=com.jizg -DartifactId=testMaven就会在该文
2014-06-19 09:38:00
642
转载 安装Eclipse Maven插件的几种方法
昨天直接在机器上配置了Maven环境,今天顺便把Eclipse等IDE环境配置好。 安装IDE Plugins的方法有很多。其一:在线安装,通过Help-->Install New Software的方式,输入HTTP地址来安装,简单易操作,但是也优缺点,就是下载速度慢,或者有的时候干脆搜索不到要安装的插件。使用第一种方式来安装,输入 http 地址:http://m2ecli
2014-06-19 09:23:28
581
转载 Windows下简单配置Maven环境
因为要做Restful的Demo用到了Maven管理jar包和部署等,所以稍微了解一下Maven。猛击此处获得信息1 ,信息2 Maven的环境配置大概有两种,其中一个就是直接在本机环境安装配置,还有一个就是以插件集成的方式配置在Eclipse等IDE环境中。这里主要介绍第一种方式(入门级): 首先,下载在Apache下载Maven,下载地址:http://
2014-06-19 09:21:35
552
转载 sea.js最佳实践一基础框架搭建
(一下代码都是基于sea.js vesion 2.0)01index.html02<!-- lang: html -->03html>04head>05 ti
2014-06-16 14:37:51
5417
转载 一步步学会使用SeaJS 2.0
本文分为以下8步,熟悉之后就能够熟练使用SeaJS,从此之后你的生活会变得更加轻松愉悦!1、SeaJS是什么?2、下载并检阅SeaJS3、建立工程和各种目录4、引入SeaJS库5、编写自己的代码6、引入自己的代码7、压缩合并8、总结展望--------------------------------------------------
2014-06-16 10:32:43
1705
转载 spring aop中单独代理和自动代理的设置
spring的aop机制提供两类方式实现类代理。一种是单个代理,一种是自动代理。 单个代理通过ProxyFactoryBean来实现,自动代理通过BeanNameAutoProxyCreator或者 DefaultAdvisorAutoProxyCreator实现。 为了给程序加入日志功能,我们采用aop的方式。编写一个日志通知类 :com.tixa.fms.service.s
2014-05-22 11:15:32
636
转载 nginx.conf的完整配置说明
Nginx配置文件详细说明在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络.#运行用户user www-data; #启动进程,通常设置成和cpu的数量相等worker_processes 1;#全局错误日志及PID文件error_log /var/log/nginx/error.log;pid /var/r
2014-05-21 14:06:54
508
转载 Nginx+tomcat配置集群
开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务。之初,曾有个小小的疑问为何不采用开源的apache、Nginx软件负载,F5设备动辄几十万,价格昂贵?自己一个比较幼稚的问题,后续明白:F5是操作于IOS网络模型的传输层,Nginx、apache是基于http反向代理方式,位于ISO模型的
2014-05-21 14:05:47
627
转载 spring与mybatis三种整合方法
本文主要介绍Spring与Mybatis三种常用整合方法,需要的整合架包是mybatis-spring.jar,可通过链接http://code.google.com/p/mybatis/下载到。 1、采用数据映射器(MapperFactoryBean)的方式,不用写mybatis映射文件,采用注解方式提供相应的sql语句和输入参数。 (1)Spring配置文件:
2014-05-21 13:40:37
1741
转载 Spring的使用Annotation以及XML进行声明式事务管理
Spring使用Annotation进行声明式事事务管理实现的功能是在保存用户的时候向数据库中的表增加一条日志记录首先,在配置文件中要添加事务的命名空间以及SchemaLocationxmlns:tx=http://www.springframework.org/schema/txhttp://www.springframework.org/schema/txhttp://ww
2014-03-17 14:49:41
1110
转载 第六章、SpringMVC-注解式控制器详解-SpringMVC强大的数据绑定(2)
6.6.2、@RequestParam绑定单个请求参数值@RequestParam用于将请求参数区数据映射到功能处理方法的参数上。public String requestparam1(@RequestParam String username)请求中包含username参数(如/requestparam1?username=zhang),则自动传入。 此处要特
2014-03-05 17:52:27
14403
转载 第六章、SpringMVC-注解式控制器详解-SpringMVC强大的数据绑定(1)
到目前为止,请求已经能交给我们的处理器进行处理了,接下来的事情是要进行收集数据啦,接下来我们看看我们能从请求中收集到哪些数据,如图6-11: 图6-111、@RequestParam绑定单个请求参数值;2、@PathVariable绑定URI模板变量值;3、@CookieValue绑定Cookie数据值4、@RequestHeader绑定请求头数据;
2014-03-05 17:43:10
8839
转载 第六章、SpringMVC学习-注解式控制器详解(3)-Spring MVC 3 生产者、消费者请求限定
6.6.5、生产者、消费者限定6.6.5.1、基本概念首先让我们看一下通过HTTP协议传输的媒体类型及如何表示媒体类型: 一、Media Type:互联网媒体类型,一般就是我们所说的MIME类型,用来确定请求的内容类型或响应的内容类型。 写道媒体类型格式:type/subtype(;parameter)? type主类型,任意的字符串,如t
2014-03-05 16:46:54
1922
转载 第六章、SpringMVC学习-注解式控制器详解(2)-SpringMVC3强大的请求映射规则详解
6.5、请求映射处理器定义好了,那接下来我们应该定义功能处理方法,接收用户请求处理并选择视图进行渲染。首先我们看一下图6-1:http请求信息包含六部分信息:①请求方法,如GET或POST,表示提交的方式;②URL,请求的地址信息;③协议及版本;④请求头信息(包括Cookie信息);⑤回车换行(CRLF);⑥请求内容区(即请求的内容或数据),如表单提
2014-03-05 16:23:05
1380
转载 第六章、SpringMVC学习- 注解式控制器详解(1)-注解式控制器运行流程及处理器定义
6.1、注解式控制器简介一、Spring2.5之前,我们都是通过实现Controller接口或其实现来定义我们的处理器类。已经@Deprecated。 二、Spring2.5引入注解式处理器支持,通过@Controller 和 @RequestMapping注解定义我们的处理器类。并且提供了一组强大的注解: 需要通过处理器映射DefaultAnnotat
2014-03-05 16:09:55
1364
转载 第五章、SpringMVC学习-处理器拦截器详解
5.1、处理器拦截器简介Spring Web MVC的处理器拦截器(如无特殊说明,下文所说的拦截器即处理器拦截器)类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。 5.1.1、常见应用场景1、日志记录:记录请求信息的日志,以便进行信息监控、信息统计、计算PV(Page View)等。2、权限检查:如登录检测,进入处理器检测
2014-03-05 15:49:57
1036
转载 第四章、SpringMVC学习-Controller接口控制器详解(7)
4.16.2、数据验证1、数据绑定失败:比如需要数字却输入了字母;2、数据不合法:可以认为是业务错误,通过自定义验证器验证,如用户名长度必须在5-20之间,我们却输入了100个字符等;3、错误对象:当我们数据绑定失败或验证失败后,错误信息存放的对象,我们叫错误对象,在Spring Web MVC中Errors是具体的代表者;线程不安全对象;4、错误消息:是硬编码,还
2014-03-05 15:39:18
1227
转载 第四章、Spring学习-Controller接口控制器详解(6)
4.16、数据类型转换和数据验证流程:1、首先创建数据绑定器,在此此会创建ServletRequestDataBinder类的对象,并设置messageCodesResolver(错误码解析器);2、提供第一个扩展点,初始化数据绑定器,在此处我们可以覆盖该方法注册自定义的PropertyEditor(请求参数——>命令对象属性的转换);3、进行数据绑
2014-03-05 15:27:43
915
按日期发布信息,如何设计表以及怎么查询才高效??
2017-06-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人