摘要: 添加spring相关包,笔者用最新包3.2.2,可以去官方下载最新包http://www.springsource.org/spring-community-download模块说明,注释在代码中,方便理解实例一:使用实现接口的方法实现控制器web.xml中配置<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="h 阅读全文
posted @ 2013-04-14 23:41 @寒江雪 阅读(249) 评论(0) 推荐(0)
摘要: 异步这个词以前在课堂上也听过,那时候只是听,直到在做项目的时候用到多线程,在体会到异步是怎样的,到最近做的东西对异步更加深刻了,进程通信时调Windows API SendMessage和PostMessage的区别。最近搞的Socket编程也是有异步的,Socket当然要有异步才行,不然服务端Accept一次就卡一次在那里,客户端Connect一次就卡一次。每Send一次,Receive一次都会卡一次,这样不好。 在网上谷歌过一下,发现Socket的异步可以有两种方式,一种是用 SocketAsyncEventArgs 配合AcceptAsync,SendAsync,ReceiveAsyn. 阅读全文
posted @ 2013-04-14 23:39 @寒江雪 阅读(374) 评论(0) 推荐(0)
摘要: HTML5 拥有许多引人注目的新特性,如 Canvas、本地存储、多媒体编程接口、WebSocket 等等。虽然现在大家把它捧的很火的样子,但是个人认为它还需要其他平台的支持才能真正的"火起来"。原来做web通信的时候 基于ajax的“轮询” “长轮询”等其他的方式 网上有很详细的解释轮询:这是最早的一种实现实时 Web 应用的方案。客户端以一定的时间间隔向服务端发出请求,以频繁请求的方式来保持客户端和服务器端的同步。这种同步方案的最大问题是,当客户端以固定频率向服务器发起请求的时候,服务器端的数据可能并没有更新,这样会带来很多无谓的网络传输,所以这是一种非常低效的实时方案 阅读全文
posted @ 2013-04-14 23:07 @寒江雪 阅读(505) 评论(1) 推荐(0)
摘要: jQuery一直都在用,但都是在用时查查手册,并没有系统的学过,最近组内做jQuery交流,花了几天时间系统了学习了下,做了个PPT,本文是根据PPT总结而来,有些地方做了些补充。希望对jQuery初学者有些帮助。jQuery简介简介jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写的更少,做的更多)。 jQuery在2006年1月由美国人JohnResig在纽约的barcamp发布,吸引了来自世界各地的众多javascript高手加入,现在由Dave Methvin率领团队进行开发。如今, jQuery已经成为最流行的javascrip 阅读全文
posted @ 2013-04-14 23:04 @寒江雪 阅读(168) 评论(0) 推荐(0)
摘要: 什么是HTTP协议协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器目前我们使用的是HTTP/1.1 版本Web服务器,浏览器,代理服务器当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。 原理是怎样的呢?实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器, 浏览器解析Response中的HTML,这样我们就看到了网页,过程如下图所示 阅读全文
posted @ 2013-04-14 23:02 @寒江雪 阅读(160) 评论(0) 推荐(0)
摘要: 1.Java程序中创建对象的5种常见方式 在讲Jvm对字符串的处理之前,我们先来讲一下,在Java中,最常见的5种创建对象的方式:1)通过关键字new调用构造器创建Java对象,eg :String str = new String("hello");2)通过Class对象的newInstance()方法调用构造器创建Java对象,eg : Class.forName("com.mysql.jdbc.Driver").newInstance();3)通过Java的反序列化机制从IO流中恢复Java对象,eg : 1 package test; 2 3 i 阅读全文
posted @ 2013-04-14 23:00 @寒江雪 阅读(247) 评论(0) 推荐(0)
摘要: 几乎所有的程序设计语言都支持数组。Java也不例外。当我们需要多个类型相同的变量的时候,就考虑定义一个数组。在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静态的,所以想要使用就必须先初始化(为数组对象的元素分配空间)。1.数组的初始化方式及其内存分配对于Java数组的初始化,有以下两种方式,这也是面试中经常考到的经典题目:静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度,如:1 //只是指定初始值,并没有指定数组的长度,但是系统为自动决定该数组的长度为42 String[] computers = {"Dell& 阅读全文
posted @ 2013-04-14 22:59 @寒江雪 阅读(531) 评论(0) 推荐(0)
摘要: 1.实例变量和类变量的内存分配类变量:使用static修饰的成员变量是类变量,属于该类本身实例变量:没有使用static修饰的成员变量是实例变量,属于该类的实例由于同一个JVM内每个类只对应一个Class对象,因此同一个JVM内的一个类的类变量只需一块内存空间。对于实例变量而言,该类每创建一次实例,就需要为实例变量分配一块内存空间,所以,程序中有几个实例,实例变量就需要几块内存空间。2.类变量的初始化时机总是处于实例变量的初始化之前我们先看下下面三段代码:1)因为两个实例变量都是在创建变量的时候才开始分配空间,此时num2还没有分配,所以前向引用就会出现编译错误。1 int num =... 阅读全文
posted @ 2013-04-14 22:58 @寒江雪 阅读(146) 评论(0) 推荐(0)
摘要: 在Java中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险。但是,也正因为内存管理完全由JVM负责,所以也使Java很多程序员不再关心内存分配,导致很多程序低效,耗内存。因此就有了Java程序员到最后应该去了解JVM,才能写出更高效,充分利用有限的内存的程序。1.Java在内存中的状态首先我们先写一个代码为例子:Person.java 1 package test; 2 3 import java.io.Serializable; 4 5 public clas.. 阅读全文
posted @ 2013-04-14 22:56 @寒江雪 阅读(177) 评论(0) 推荐(0)
摘要: 在前面的几篇博文中,我们一起简单的了解jvm的基本知识,例如jvm对字符串的处理等等,或许大家看完后就把这当成一条准则来记住了,但是一些比较好奇的朋友有没有想过,这是为什么呢?他的原理是什么呢?下面就让我们开始一步一步的深入学习。 在这篇博文中呢,我打算主要就讲Java内存区域与内存溢出异常吧。下面言归正传吧。1.Java虚拟机运行时数据区 在前面的几篇博文中,我们只是简单的把内存区域分为了堆和栈,但其实,这种分法是十分粗糙的,jvm在实际运行的时候,内存区域的划分绝对不是那么简简单单的就两块,我们一起看下面这个图就知道了。从上图我们知道了,JVM虚拟机运行时数据区主要划分为:方法区、虚... 阅读全文
posted @ 2013-04-14 22:55 @寒江雪 阅读(207) 评论(0) 推荐(0)