- 博客(33)
- 收藏
- 关注
原创 一种Future模型的实现
Future模式:核心在于,省去了客户端程序的等待时间,这段时间可以去处理其他逻辑,待一段时间后检查服务端程序有没有准备好。
2016-04-19 15:30:26
651
原创 form表单被自动提交
从下面一段代码看起:注释掉的部分初看没有一点问题,实际操作的时候却发现,点下“+”按钮,表单却被自动提交了。查了下资料,原来在form里有些操作会自动触发表单提交,比如这里的,或者像等。这个时候写的时候就要注意:下面提供了一种比较常见的出来办法 类似的这些有的小bug只能在开发中慢慢积累。
2015-11-02 21:20:37
1540
原创 js相乘,小数位异常
由一个现象说起:当构票张数到了35张时就突然出现了下面的现象:36时又恢复了正常: js的浮点数类型值在参与四则运算时,有时会产生很奇怪的数据,这是几乎所有编程语言的通病,因为计算机是把数据转化成二进制参与计算的,这里面就要用到反码,补码等之类的知识。 下面提供了一种解决方法,就是在运算之前先乘上相应的10^n,然后就可以了
2015-11-02 20:56:07
1036
原创 Spring 入门教程(三) 注入和自动装配
Spring注入是指在启动Spring容器加载bean配置的时候,对类变量的赋值。 两种常用注入方式:设值注入和构造注入下面就这部分知识看代码以及代码中的注解:1、首先看Spring 配置文件(如何加载,怎么测试,《入门系列(一)》有说明,这里不再赘述)<beans xmlns="http://www.springframework.org/schema/be
2015-08-18 20:55:57
3131
原创 Spring 入门教程(二) 生命周期和作用域
下面的知识点是针对使用配置文件讲的(annotation对应标签后面文章会详细阐述)Bean的生命周期: 为什么关心这个问题?我们使用IOC的目的就是为了让Spring IOC帮我们管理对象,从而不需要去自己手动去new ,何时new,怎么管理对象间依赖,什么时候销毁等等很多问题。而对象在Spring容器看来就是一个个bean,理所当然要理解Bean的生命周期。
2015-08-18 17:49:50
908
原创 Spring MVC入门教程(二)
第一篇文章宏观讲了Spring MVC概念,以及分享了一个快速入门的例子(文章链接)。这篇文章主要来谈谈Spring MVC的配置文件。首先来谈谈web.xml: web项目启动时自动加载到内存中的信息,比如服务器配置参数,监听器,过滤器,等。再如,如果在项目中使用了spring框架,则必须定义ContextLoaderListener,那么在启动Web容器时,会自动装配S
2015-08-16 19:42:16
926
原创 Spring MVC入门教程(一)
直接干货model 考虑给用户展示什么,关注支撑业务的信息构成,构建成模型;control 调用业务逻辑产生合适的数据以及传递数据给视图用于呈献;view如何对数据进行布局,以一种优美的方式展示给用户; MVC核心思想:业务数据抽取和业务数据呈献相分离。 看看Spring MVC官网给的图:http://docs.spring.io/spring/docs/cu
2015-08-15 16:20:02
1078
原创 MyBatis入门教程(一)
MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。 具有以下优点:(1)开源的优秀持久层框架;(2)SQL语句与代码分离;(3)面向配置的编程;(4)良好支持复杂
2015-08-14 12:07:14
1152
原创 Mysql 64位安装
我真的用了一下午的时间,安装。。。官网下载的免安装版,先是要自己写配置文件,然后,登录不上,解决了一个又一个问题后,以为可算结束了。。。最后更直接了,程序连不上,看了网上无数帖子,什么server没打开,jdbc包跟MyBatis不兼容,云云。。。原本只是想装个软件,最后快成半个Mysql砖家了,试了N种方法。。。准备放弃了,你们猜是啥问题?port指定错误!!!!!!
2015-08-13 23:40:25
2741
原创 Maven简单教程(一)
最近新项目得用到Maven,所以在网上在查阅的很多资料,却陷入了各种复杂中去。我一直觉得学习一门新的技术,首先先知道为什么学?其次是,最快的速度入门(自己能跑一个简单的demo)。其他的在工作中碰到了在Google就好。不能学了一大堆,最后发现根本没用到,时间久了又都忘了。 问题:为什么学Maven? 解决了:团队开发,需要加载各种包,各个成员之间同步问题。
2015-08-12 23:12:02
1083
1
原创 Spring入门教程(一)IOC 基本概念
上来直接干货:一点基础知识Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架,主要是为了解决企业开发的复杂性。 IOC(Inverion of Control):是Spring核心,控制权的转移,应用程序本身不负责对象的创建和维护,而由Spring外部容器负责。解决了传统开发中的对象之间的相互依赖关系复杂的问题。IOC又被称为DI(Dependency
2015-08-12 21:56:34
868
原创 Filter 入门
过滤器:是一个服务端的组件,可以截取用户端的请求和响应信息,并对这些信息进行过滤。Filter能够改变用户请求路径,但是不能直接处理用户请求。Filter 在web中的位置大概如下: Filter类必须继承Filter接口,并且要实现三个方法: init()这是过滤器的初始化方法,web容器创建过滤器实类后将调用这个方法。这个方法可以读取we
2015-08-05 17:28:00
571
原创 关于接口、关于序列化
最近工作大量用到接口编程,还有序列化问题,就在网上看了很多的资料,做了一些整理,姑且,称为组合创新吧~~感谢被引用的很多作者,谢谢你们无私的分享,后辈才能快速学习。(1)为什么不把所以类都标为可序列化?之所以需要标记某个类是序列化的,而不是把所有的类都设为可序列化,就是告诉编译器我需要该类能够实现序列化,我甘愿承担该类序列化所带来的信息泄露等风险。就像C中的类型转换,有些需
2015-08-04 22:40:05
1374
原创 动态代理
静态代理:(1)代理和被代理继承同一个接口(任何实现了这个接口的的类,都可以被代理);(2)代理拿到被代理的一个对象(聚合);静态代理需要知道被代理类的名字。 动态代理:泛型的思想很重要在这边。动态编译,反射。灵活性更大。不用修改被代理的代码,还可以在被代理的方法里前后做修改。AOP本文写了一个仅用jdk提供的方法来实现的动态代理,非常简单,只需四个类。动态代理的思想在上面已经
2015-07-31 21:58:55
718
原创 JSP开发常见乱码处理
页面乱码,首先看下网页源码,注意 content-type=’text/html’;charset=“utf-8”;servlet里面设置request.setCharacterEncoding("utf-8"); 如果是向页面写内容,需要设置response.setCharacterEncoding("utf-8"); 注意写的地方:
2015-07-09 23:18:02
606
原创 JSP常见错误
这是一篇不断更新的文章:(1)这是一篇JSP编写中常遇到的问题是拼写问题:type Exception reportmessage /MyJsp.jsp (line: 24, column: 4) According to TLD, tag jsp:setProperty must be empty, but is notdescription The server e
2015-07-04 01:40:30
1310
原创 Eclipse显示行号
下面这些文章,没有固定的逻辑,是一个开发过程中遇到的一些问题,及时记录下来,便于后面查阅的,也不会不断更新。(1)MyEclipse 显示行号:
2015-06-24 10:10:28
491
原创 典型注册页面JSP实现
这篇文章主要是用Servlet技术来实现,看了下面的源代码,很容易看出,很烦,尤其是往客户端写东西的时候。你可能会说,那用JSP好了,是这样的吗? 先看下xml文件,事实上Se
2015-06-19 20:15:22
21595
2
原创 JSP技术基础
该JSP系列将会有下面几篇文章:《JSP技术基础》、《Servlet技术》、《JSP技术进阶》、《JSP小项目实践说明》。建议有点基础来看,或者一线开发人员来可以回顾下常用的知识点。转载请标明出处:点击打开原文章链接 blog.csdn.net/code_7JSP的基本概念JSP声明:用于定义JSP中变量、方法以及静态方法。本质上说它与Java中定义一个全局变量、公共方
2015-06-18 23:36:38
789
原创 Shell排序 Java
排序的方法有很多,一般言,很难说哪一种方法是最好的。每一种方法都有优缺点,有各自应用的环境。排序一般会进行两种操作1、比较两关键字大小;2、将记录从一个位置移到另一个位置;前者通常来说是必要的,而后者则可以通过改变记录存储方式来避免。后面还会用一篇专门的文章来讨论一下怎么来分析这些算法的复杂度。还请您留意,应该就是最近一周出来!(2015.6.20前)常见的内部排序算法大致可以分为以下
2015-06-15 10:15:58
654
原创 折半插入排序 Java
排序的方法有很多,一般言,很难说哪一种方法是最好的。每一种方法都有优缺点,有各自应用的环境。排序一般会进行两种操作1、比较两关键字大小;2、将记录从一个位置移到另一个位置;前者通常来说是必要的,而后者则可以通过改变记录存储方式来避免。后面还会用一篇专门的文章来讨论一下怎么来分析这些算法的复杂度。还请您留意,应该这就是最近一周出来!(2015.6.20前)常见的内部排序算法大致可以分为以
2015-06-14 15:39:37
671
原创 直接插入排序 Java
排序的方法有很多,一般言,很难说哪一种方法是最好的。每一种方法都有优缺点,有各自应用的环境。排序一般会进行两种操作1、比较两关键字大小;2、将记录从一个位置移到另一个位置;前者通常来说是必要的,而后者则可以通过改变记录存储方式来避免。后面还会用一篇专门的文章来讨论一下怎么来分析这些算法的复杂度。还请您留意,应该就是最近一周出来!(2015.6.20前)常见的内部排序算法大致可以分为以下
2015-06-14 14:16:55
612
原创 冒泡排序 Java
排序的方法有很多,一般言,很难说哪一种方法是最好的。每一种方法都有优缺点,有各自应用的环境。排序一般会进行两种操作1、比较两关键字大小;2、将记录从一个位置移到另一个位置;前者通常来说是必要的,而后者则可以通过改变记录存储方式来避免。后面还会用一篇专门的文章来讨论一下怎么来分析这些算法的复杂度。还请您留意,应该这就是最近一周出来!(2015.6.20前)常见的内部排序算法大致可以分为以
2015-06-14 10:22:35
588
原创 二叉树的三叉链表存储结构的简单实现
三叉链表存储结构比二叉链表存储多了一个指向父节点的引用,虽然增加了空间开销,但是提升的查找的速度。下面是源代码,功能不多,但是可以帮助大家很快理解这种数据结构。//a simple example to ThreeLinkBinTree//HanChun at Xidian Universitypackage mywork.c20150611;public class ThreeLi
2015-06-12 18:31:51
2444
原创 直接选择排序 Java
排序的方法有很多,一般言,很难说哪一种方法是最好的。每一种方法都有优缺点,有各自应用的环境。排序一般会进行两种操作1、比较两关键字大小;2、将记录从一个位置移到另一个位置;前者通常来说是必要的,而后者则可以通过改变记录存储方式来避免。后面还会用一篇专门的文章来讨论一下怎么来分析这些算法的复杂度。还请您留意,应该这就是最近一周出来!(2015.6.20前)常见的内部排序算法大致可以分为以下六类共十种:选择排序:(1)直接选择排序;(2)堆排序;交换排序:(3)冒泡排序;(4)快速排序;插入排序: (
2015-06-10 23:10:02
619
1
原创 二叉树的二叉链表存储简单实现
二叉链表存储二叉树,简单说就是:添加左右两个子节点,分别代表两个引用,left, right,来记住该节点的左右子节点。源代码如下(blog中所以源代码均已实际运行通过):/* * a simple example to TwoBinTree * HanChun 2015.6.7 */package mywork.c20150607;public class TwoLinkB
2015-06-07 21:31:27
1541
原创 递归 Java
递归的理解难点在于先有一个压栈,然后当寻找到递归出口时,会从栈顶return。如果您还不太明白是什么意思,先看下面代码,想想结果是什么?public class test1{ static int i = 0; public static int test(){ while(i < 7){ i++; i = test(); } System.out.println
2015-06-07 18:23:58
948
原创 LinkList的一个简单实现
链式线性表是数据结构里很简单但也是很常见的数据结构,相比顺序存储的线性表,可以更快的实现添加和删除操作,但读取速度比顺序结构会慢。链式线性表的关键在于,每个数据存储为节点形式。不仅仅保存有数据,还有一个引用“next”指向下一个节点。链式结构还可以再扩展为双向链表、循环链表等等。基本原理一样,只是增加了引用。下面就是最简单的链式线性表的实现的源代码,会有潜在的bug,但是不影响我们理解这种数据结构
2015-06-05 16:25:30
925
原创 SequenceList 的一个简单实现
java实现的SequenceList主要是顺序线性表一个简单例子,欢迎大家一起讨论更好的实现,和JDK源码的讨论!
2015-06-04 11:56:41
1049
原创 NullPointerException 的几种类型
NullPointException是运行时异常,在java编译期间不进行捕获。常见的代码错误有如下几种:(1)第一种还比较明显,很快能检查出来: class Point { public int x; public int getX() { return x; }} public class test1 { //static Poi
2015-05-25 15:43:41
756
1
原创 if 和else if
关于if和else if的区别,先看三段代码,问题就容易解决了:第一段:1 2 3 4public class test1 { public static void main(String[] args) { int a=5; if(a>1) System.out.println("1"); if(a>2) System.out.println("2"
2015-05-22 16:32:15
582
原创 i++和++i 和i+1的区别
大家对i++和++i肯定很熟悉,但是不理解其中深层次原因,就很难理解为什么(i+1)和(i++)会差这么多?测试代码:第一种:i+1 结论: 1 2 3 4 5public class test { public static void main(String[] args) { for(int i=0; i<5; i++){ aa(i+1);
2015-05-21 18:45:16
12072
7
原创 "八皇后"问题的解法(1)
最近准备整理5种常见的"八皇后"问题的解法,这是第一篇,用递归方法求解。简单介绍下"八皇后"问题:如何在8*8棋盘上无冲突放置8个皇后,无冲突可按如下理解(1)任何水平或竖直方向不能再有其他皇后;(2)正负45‘方向不能再有皇后;源代码如下:/*2015.5.21 by HanChunhttp://blog.csdn.net/code_7 */public cl
2015-05-21 16:36:11
527
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人