- 博客(50)
- 资源 (2)
- 收藏
- 关注
原创 JS(12)——页面加载、解析和渲染流程
1. Javascript的加载和执行的特点1、载入后马上执行。 2、执行时会阻塞页面后续的内容(包括页面的渲染、其它资源的下载)。原因:因为浏览器需要一个稳定的DOM树结构,而JS中很有可能有 代码直接改变了DOM树结构,比如使用 document.write 或 appendChild,甚至是直接使用的location.href进行跳转,浏览器为了防止出现JS修 改DOM树,需要重新构建DOM...
2018-07-09 09:02:39 2108
原创 JMS 和QPID(2)——QPID
1. 简介Qpid 是 Apache 开发的一款面向对象的消息中间件,它是一个 AMQP 的实现,可以和其他符合 AMQP 协议的系统进行通信。Qpid 提供了 C++/Python/Java/C# 等主流编程语言的客户端库,安装使用非常方便。相对于其他的 AMQP 实现,Qpid 社区十分活跃,有望成为标准 AMQP 中间件产品。除了符合 AMQP 基本要求之外,Qpid 提供了很多额外的 HA...
2018-07-09 09:00:08 2019
原创 ShallowEtagHeaderFilter
1. 简介 ShallowEtagHeaderFilter是spring提供的支持ETag的一个过滤器,所谓ETag是指被请求变量的实体值,是一个可以与Web资源关联的记号,而Web资源可以是一个Web页,也可以是JSON或XML文档,服务器单独负责判断记号是什么及其含义,并在HTTP响应头中将其传送到客户端。如果ETag没改变,则返回状态304然后不返回,这也和Last-Modified一样。S...
2018-07-09 08:59:51 1614
原创 @Configuration
我们通常将用于存放配置信息的类的类名以 “Config” 结尾,比如 AppDaoConfig.java、AppServiceConfig.java 等等。我们需要在用于指定配置信息的类上加上 @Configuration 注解,以明确指出该类是 Bean 配置的信息源。并且 Spring 对标注 Configuration 的类有如下要求: 1、配置类不能是 final 的;2、配置类...
2018-07-09 08:59:33 1315
原创 JS(1)——JavaScript简介
1. 基本特点JavaScript是一种基于对象和事件驱动(Event Driven)并具有安全性能的脚本语 言。 JavaScript的出现弥补了HTML语言的不足,它是Java与HTML折中的选择,具以下几个基 本特点: 1、脚本编写 JavaScript是一种脚本语言,它采用小程序段的方式实现编程。它作为一种解释性语言,不需要进行编译,而是在程序运行过程中逐行地被解释。 2、基于对象...
2018-07-09 08:59:17 581
原创 JS(4)——分组操作符
分组操作符由一对括号组成,分组操作符的内部只能包含表达式,例如: function foo(){} // 函数声明 (function foo(){}); // 函数表达式:包含在分组操作符内 try { (var x = 5); // 分组操作符,只能包含表达式而不能包含语句,这里的var就是语句 } catch(err) { // SyntaxError }在使用e...
2018-07-09 08:59:04 1729
原创 JS(2)——数据类型
1.基本类型和引用类型JavaScript 变量可以用来保存两种类型的值:基本类型值和引用类型值。基本类型的值源自以下5种基本数据类型:Undefined、Null、Boolean、Number 和String。基本类型值和引用类型值具有以下特点:1、基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中;从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本。2、 引用类型的值是对象...
2018-07-08 23:29:22 204
原创 JS(3)——执行环境及垃圾回收
1. 执行环境所有变量(包括基本类型和引用类型)都存在于一个执行环境(也称为作用域)当中,这个执行环境决定了变量的生命周期,以及哪一部分代码可以访问其中的变量。以下是关于执行环境的几点总结:1、执行环境有全局执行环境(也称为全局环境)和函数执行环境之分;2、每次进入一个新执行环境,都会创建一个用于搜索变量和函数的作用域链;3、函数的局部环境不仅有权访问函数作用域中的变量,而且有权访问其包含(父)环...
2018-07-08 23:29:08 211
原创 JS(6)——原型对象
1. prototype函数定义的时候,函数本身会默认为该函数创建一个prototype的属性,而如果用new 运算符来生成一个对象的时候就没有prototype属性。而prototype也是一个对象,默认情况下prototype包含了2个属性,一个是constructor,另外一个是[[prototype]](大多数浏览器下显示为__proto__)。constructor属性是一个指向prot...
2018-07-08 23:28:52 1500 1
原创 JS(5)——函数
1. Function 类型每个函数都是Function 类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。由于函数名仅仅是指向函数的指针,因此函数名与包含对象指针的其他变量没有什么不同。换句话说,一个函数可能会有多个名字,如下面的例子所示:function sum(num1, num2){ return ...
2018-07-08 23:28:37 199
原创 JS(7)——继承
继承是OO 语言中的一个最为人津津乐道的概念。许多OO 语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。如前所述,由于函数没有签名,在ECMAScript中无法实现接口继承,ECMAScript 只支持实现继承,而且其实现继承主要是依靠原型链来实现的。但原型链的问题是对象实例共享所有继承的属性和方法,因此不适宜单独使用。1. 原型链ECMAScrip...
2018-07-08 23:28:24 131
原创 JS(8)——闭包(closure)
1. 闭包的概念官方的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。简单来说,闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”。 所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。 要理解闭包,首先必须...
2018-07-08 23:28:12 195
原创 JS(9)——BOM(浏览器对象模型)
1. 概念浏览器对象模型(BOM)以window 对象为依托,表示浏览器窗口以及页面可见区域。同时,window对象还是ECMAScript 中的Global 对象,因而所有全局变量和函数都是它的属性,且所有原生的构造函数及其他函数也都存在于它的命名空间下。2. 取得窗口左边和上边的位置坐标使用下列代码可以跨浏览器取得窗口左边和上边的位置。var leftPos = (typeof window....
2018-07-08 23:27:59 156
原创 JS(10)——DOM(文档对象模型)
1. 概念DOM是针对HTML 和XML 文档的一个API(应用程序编程接口)。DOM描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。DOM 可以将任何HTML 或XML 文档描绘成一个由多层节点构成的结构。节点分为几种不同的类型,每种类型分别表示文档中不同的信息及(或)标记。每个节点都拥有各自的特点、数据和方法,另外也与其他节点存在某种关系。节点之间的关系构成了层次,而所有...
2018-07-08 23:27:45 212
原创 JS(11)——.模块化
1.模块化实现历程一个模块就是实现特定功能的文件,就如同java中的packag,有了模块,就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。遗憾的是JavaScript在设计时定位原因,没有提供类似的功能,开发者需要模拟出类似的功能,来隔离、组织复杂的JavaScript代码,我们称为模块化。1、函数封装函数就是实现特定逻辑的一组语句打包,而且JavaScript的作用域就是基于函数的...
2018-07-08 23:27:31 188
原创 JMS 和QPID(1)——JMS
JMS(JAVA Message Service,java消息服务)API是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。1.1 基本概念JMS是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。1.2 消息模型Point-to-Point(P2P)Publish/Su...
2018-07-06 14:28:21 1116
原创 security-constraint和四种认证类型
1. <security-constraint><security-constraint> 的子元素 <http-method> 是可选的,如果没有 <http-method> 元素,这表示将禁止所有 HTTP 方法访问相应的资源。 子元素 <auth-constraint> 需要和 <login-config> 相配合使用,...
2018-07-06 14:19:35 3767
原创 通配符
"?":匹配一个字符,如"config?.xml"将匹配"config1.xml""*":匹配零个或多个字符串,如"cn/*/config.xml"将匹配"cn/javass/config.xml",但不匹配匹配"cn/config.xml";而"cn/config-*.xml"将匹配"cn/config-dao.xml"; "**":匹配路径中的零个或多个目录,如"cn/**/config.xm...
2018-07-06 14:16:22 602
原创 请求参数获取的几种方法
1、使用@PathVariable注解 @RequestMapping(value = "/{id}/{str}") public ModelAndView helloWorld(@PathVariable String id, @PathVariable String str) { System.out.println(id); System...
2018-07-06 14:16:07 2540
原创 @RequestBody和@ResponseBody和消息转换器机制原理
1、Spring3.1开始使用新的HandlerMapping 和 HandlerAdapter 来支持@Contoller 和@RequestMapping注解处理:处理器映射RequestMappingHandlerMapping和处理器适配器RequestMappingHandlerAdapter组合来代替Spring2.5 开始的处理器映射DefaultAnnotationHandlerM...
2018-07-06 14:15:53 6057 1
原创 JPA
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA的宗旨是为POJO提供持久化标准规范。Hibernate3.2、TopLink 10.1.3以及OpenJPA都提供了JPA的实现。JPA定义了独特的JPQL(Java Persistence Query Language),是面向对象而...
2018-07-06 14:15:34 139
原创 ContentType
1、常见的媒体格式类型如下: text/html : HTML格式 text/plain :纯文本格式 text/xml : XML格式 image/gif :gif图片格式 image/jpeg :jpg图片格式 image/png:png图片格式 以application开头的媒体格式类型: application/xhtml...
2018-07-06 14:15:07 911
原创 Spring AOP 常用的四种实现方式
1. AOP的相关术语1.通知(Advice): 通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。 2.连接点(Joinpoint): 程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。 3.切入点(Pointcut) 通知定义了切面要发生的“故事”和时间,那么切入点就定义了“故事”发生的地点,例如某个类或方法的名称,Sp...
2018-07-06 14:04:01 2291 1
原创 Spring Data JPA
Spring Data JPA 框架,主要针对的就是 Spring 唯一没有简化到的业务逻辑代码,至此,开发者连仅剩的实现持久层业务逻辑的工作都省了,唯一要做的,就只是声明持久层的接口,其他都交给 Spring Data JPA 来帮你完成!下面就来了解Spring Data JPA。1. 使用 Spring Data JPA 进行持久层开发大致需要的三个步骤1.下载需要的包。需要先 下载Spri...
2018-07-06 11:12:47 115
原创 配置和读取多个Properties文件
1. 使用PropertyPlaceholderConfigurer类加载一个文件时:加载多个文件时:整合多工程下的多个分散的Properties文件时:其中order属性代表其加载的顺序,如果没有设置就按照加载xml文件时的顺序,而ignoreUnresolvablePlaceholders为是否忽略不可解析的Placeholder,如果配置了多个PropertyPlaceholderConfi...
2018-07-06 10:55:42 4732
原创 Session超时设置
Session是由浏览器和服务器之间维护的。Session超时理解为:浏览器和服务器之间创建了一个Session,由于客户端长时间(休眠时间)没有与服务器交互,服务器将此Session销毁,客户端再一次与服务器交互时之前的Session就不存在了。设置Session超时时间方式:1、方式一 在web.xml中设置session-config如下: <session-config> ...
2018-07-06 10:45:18 4240
原创 客户端和服务器端的乱码问题
1. 服务器端发送数据到客户端(如:浏览器)的乱码问题在整个服务器端数据返回到浏览器的过程中,涉及到三次编码。 第一次:java文件以什么编码存放在硬盘中,一般工程全部使用UTF-8编码方式,所以程序中的中文字符是以UTF-8形式编码的 。第二次:中文字符串是以什么编码方式转换成字节数组的,如果未指定@RequestMapping的produces属性,同时也未给StringHttpMessage...
2018-07-06 10:41:53 1349
原创 InitBinder
Spring可以自动封装Bean,也就是说可以前台通过SpringMVC传递过来的属性值会自动对应到对象中的属性并封装成javaBean,但是只能是基本数据类型(int,String等)。如果传递过来的是特殊对象,则需要手动进行封装。Spring提供了@initBinder(初始化绑定封装)注解和WebDataBinder工具。用户只需要向WebDataBinder注册自己需要的类型的属性编辑器即...
2018-07-06 10:39:37 1765 1
原创 异常处理
对异常的处理方法一共提供了两种:一种是使用HandlerExceptionResolver接口;一种是在Controller类内部使用@ExceptionHandler注解。使用第一种方式可以实现全局异常控制,并且Spring已经提供了一个默认的实现类SimpleMappingExceptionResolver;使用第二种方式可以在Controller内部实现更个性化点异常处理方式,灵活性更高。一...
2018-07-06 10:34:10 356
原创 @ModelAttribute使用详解
此注解用于注释在方法上或请求参数中,用来携带 model到显示页面进行显示。1、@ModelAttribute注释方法 如果把@ModelAttribute放在方法的注解上时,代表的是:该Controller的所有方法在调用前,先执行此@ModelAttribute方法。可以把这个@ModelAttribute特性,应用在BaseController当中,所有的Controller继承BaseCo...
2018-07-06 10:05:00 2076
原创 JPA和事务管理
1 事务1.1事务管理方式spring支持编程式事务管理和声明式事务管理两种方式。编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执...
2018-07-05 15:58:03 18146 3
原创 annotation-config与annotation-driven与component-scan
1、<context:annotation-config/>与<mvc:annotation-driven/><context:annotation-config/>这个配置其实是Spring里的配置,此配置可以扫描的注解为: Spring的@Required和@AutowiredJSR 250的@PostConstruct、@PreDestroy和@Reso...
2018-07-05 15:37:37 212
原创 Android平台架构及特性(2)——内存管理机制(1)
内存管理机制(1)、Android进程管理<1>、Android采取了一种有别于Linux的进程管理策略,有别于Linux的在进程活动停止后就结束该进程,Android把这些进程都保留在内存中,直到系统需要更多内存为止。这些保留在内存中的进程通常情况下不会影响整体系统的运行速度,并且当用户再次激活这些进程时,提升了进程的启动速度。<2>、Android 的每个应用程序都会使...
2018-07-05 15:22:22 229
原创 Android平台架构及特性(3)——内存管理机制(2--垃圾回收算法)
垃圾回收算法常见的垃圾回收算法有引用计数法(Reference Counting)、标注并清理(Mark and Sweep GC)、拷贝(Copying GC)和逐代回收(Generational GC)等算法,其中Android系统采用的是标注并删除和拷贝GC,并不是大多数JVM实现里采用的逐代回收算法。由于几个算法各有优缺点,所以在很多垃圾回收实现中,常常可以看到将几种算法合并使用的场景&l...
2018-07-05 15:22:00 133
原创 资源文件及使用
资源文件及使用1、R.java文件有appt工具根据应用程序的资源文件来自动生成,生成规则为:每类资源对应R类的一个内部类,如:界面布局资源对应layout内部来,字符串资源对应string内部类,标示符资源对应id内部类;每个具体资源项对应内部类的一个public static final int 类型的成员变量。2、Activity、Service、contentProvider必须在Mani...
2018-07-05 15:21:47 571
原创 四大基本组件( 1 )——Activity
Activity(1)、activity的四种启动方法<1>、Intent intent = new Intent(FirstActivity.this, SecondActivity_.class);<2>、通过setClass方法Intent intent = new Intent();intent.setClass(FirstActivity.this, Second...
2018-07-05 15:21:21 234
原创 四大基本组件( 2 )——Service
Service(1)、LocalService< 1 >、生命周期方法 < 2 >、启动方法 注意:类别区别startService 启动的服务主要用于启动一个服务执行后台任务,不进行通信。停止服务使用stopServicebindService 启动的服务该方法启动的服务要进行通信。停止服务使用unbindServicestartService 同时也 bindServi...
2018-07-05 15:20:46 219
原创 四大基本组件( 3)——ContentProvider
ContentProvider(1)、ContentProvider<1>、ContentProvider是不同应用程序之间进行数据交换的标准api,它以某种uri的形式对外提供数据,允许其他应用程序访问或修改数据,其他应用程序使用ContentResolver根据uri去访问操作指定数据。<2>、自定义ContentProvider类需要继承ContentProvider...
2018-07-05 15:20:30 216
原创 图形与图像处理
(1)、BitMap<1>、常用方法public void recycle()——回收位图占用的内存空间,把位图标记为Dead public final boolean isRecycled() ——判断位图内存是否已释放 public final int getWidth()——获取位图的宽度 public final int getHeight()——获取位图的高度 public ...
2018-07-05 15:20:12 487
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人