随笔分类 -  Java

摘要:substring(int beginIndex, int endIndex)方法在JDK6和JDK7中是不同的。了解他们的区别可以让我们更好的使用这个方法。方便起见,以下用substring() 代替 substring(int beginIndex, int endIndex)。1. subst... 阅读全文
posted @ 2015-04-02 01:03 刘水镜 阅读(964) 评论(1) 推荐(1) 编辑
摘要:我们常说的Java内存主要分为四大块(寄存器不在考虑之内,我们无法用代码来操控它):stack(栈)、heap(堆)、datasegment(数据区)、codesegment(代码区)。它们的主要用途如下图所示: 而在上面四个当中,我们经常谈论的是右边那两个家伙——stack和he... 阅读全文
posted @ 2014-11-30 13:54 刘水镜 阅读(2066) 评论(6) 推荐(2) 编辑
摘要:完成同样的功能,用不同的代码来实现,性能上可能会有比较大的差别,所以对于一些性能敏感的模块来说,对代码进行一定的优化还是很有必要的。今天就来说一下java代码优化的事情,今天主要聊一下对于for(while等同理)循环的优化。 作为三大结构之一的循环,在我们编写代码的时候会经常用到。循环结构让我... 阅读全文
posted @ 2014-11-27 18:14 刘水镜 阅读(12387) 评论(24) 推荐(13) 编辑
摘要:只要做过WEB开发人对于“404”已经再熟悉不过了吧。当我们访问的资源不存在时,它就会跑出来跟你打招呼啦。但是默认情况下,404页面比较简陋,不是很友好。而且一般用户不知道404是个神马东东,还以为是程序写的有问题呢。这样一来用户体验就打折扣了。所以通常情况下,我们都需要对这些常见的错误进行处理。... 阅读全文
posted @ 2014-10-29 17:12 刘水镜 阅读(1238) 评论(3) 推荐(0) 编辑
摘要:泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。 规则和限制 1、泛型的类型参数只能是类类型(包括自定义类),不能是简... 阅读全文
posted @ 2014-10-28 02:37 刘水镜 阅读(1085) 评论(2) 推荐(1) 编辑
摘要:项目用的是SSH基础框架,其中有一些信息很类似,但又不尽相同。如果每一个建一个实体的话,那样实体会太多,如果分组抽象,然后继承,又不是特别有规律。鉴于这种情况,就打算让用户自己配置要添加的字段,然后生成对应的表。 需要动态配置的部分实例: 上图只是一小部分,一个一个组合起来大概有三百多... 阅读全文
posted @ 2014-10-20 10:45 刘水镜 阅读(1774) 评论(0) 推荐(0) 编辑
摘要:编程的过程免不了遇到各种错误,各种问题,而遇到问题,解决问题的这个过程我认为是最让人兴奋的事情。越棘手的问题,解决以后带来的快感也越大。当一个问题你搞了一下午或者一天,甚至几天,当你解决的那一刻你会觉得你又获得了重生。甚至会感觉此时此刻整个世界都是你的。 啊哦,扯的有点远了。言归正传,今天我们要... 阅读全文
posted @ 2014-09-16 21:40 刘水镜 阅读(2122) 评论(0) 推荐(0) 编辑
摘要:如果你发现你有很多重复的代码,你可能会考虑用模板方法消除容易出错的重复代码。这里有一个例子:下面的两个类,完成了几乎相同的功能: 实例化并初始化一个Reader来读取CSV文件; 读取每一行并解析; 把每一行的字符填充到Product或Customer对象; 将每一个对象添加到... 阅读全文
posted @ 2014-08-19 21:40 刘水镜 阅读(1525) 评论(1) 推荐(0) 编辑
摘要:很早之前就想写一篇关于SSH整合的博客了,但是一直觉得使用SSH的时候那么多的配置文件,严重破坏了我们代码整体性,比如你要看两个实体的关系还得对照*.hbm.xml文件,要屡清一个Action可能需要对照applicationContext*.xml和struts*.xml文件。总之过多的配置文件坏... 阅读全文
posted @ 2014-08-19 14:41 刘水镜 阅读(1855) 评论(2) 推荐(4) 编辑
摘要:阅读英文的能力对于程序员来说,是很重要的。这几年也一直在学习英文,今天心血来潮,就在网上找了一篇简短的博文翻译一下。水平一般,能力有限,还请各位看官多多指点。 译文: 本文将会举例说明Java中继承和组合的概念。首先举一个继承的例子,然后展示一下如何用组合来改善继承的设计。最后概括一下如何在它... 阅读全文
posted @ 2014-08-09 08:26 刘水镜 阅读(1620) 评论(0) 推荐(0) 编辑
摘要:前面说完了Spring、Hibernate,很自然今天轮到struts了。struts的核心原理就是通过拦截器来处理客户端的请求,经过拦截器一系列的处理后,再交给Action。下面先看看struts官方的工作原理图: 图1 struts原理图 简单分析一下:首先客户端发来HttpServle... 阅读全文
posted @ 2014-07-31 01:42 刘水镜 阅读(1128) 评论(3) 推荐(0) 编辑
摘要:之前写了Spring的实现原理,今天我们接着聊聊Hibernate的实现原理,这篇文章只是简单的模拟一下Hibernate的原理,主要是模拟了一下Hibernate的Session类。好了,废话不多说,先看看我们的代码:package com.tgb.hibernate;import java.la... 阅读全文
posted @ 2014-07-25 08:05 刘水镜 阅读(1317) 评论(1) 推荐(1) 编辑
摘要:之前写了一篇关于IOC的博客——《Spring容器IOC解析及简单实现》,今天再来聊聊AOP。大家都知道Spring的两大特性是IOC和AOP,换句话说,容器的两大特性就是IOC和AOP。IOC负责将对象动态的注入到容器,从而达到一种需要谁就注入谁,什么时候需要就什么时候注入的效果,可谓是招之则来,... 阅读全文
posted @ 2014-07-16 16:52 刘水镜 阅读(1262) 评论(5) 推荐(3) 编辑
摘要:最近一段时间,“容器”两个字一直萦绕在我的耳边,甚至是吃饭、睡觉的时候都在我脑子里蹦来蹦去的。随着这些天一次次的交流、讨论,对于容器的理解也逐渐加深。理论上的东西终归要落实到实践,今天就借助Spring容器实现原理,简单说说吧。简单的说,Spring就是通过工厂+反射将我们的bean放到它的容器中的... 阅读全文
posted @ 2014-06-30 08:08 刘水镜 阅读(1423) 评论(1) 推荐(1) 编辑
摘要:测试在软件生命周期中的重要性,不用我多说想必大家也都非常清楚。软件测试有很多分类,从测试的方法上可分为:黑盒测试、白盒测试、静态测试、动态测试等;从软件开发的过程分为:单元测试、集成测试、确认测试、验收、回归等。 在众多的分类中,与开发人员关系最紧密的莫过于单元测试了。像其他种类的测试基本上都是... 阅读全文
posted @ 2014-06-18 21:27 刘水镜 阅读(4102) 评论(2) 推荐(1) 编辑
摘要:Java中数据类型分两种: 1.基本类型:long,int,byte,float,double 2.对象类型:Long,Integer,Byte,Float,Double其它一切java提供的,或者你自己创建的类。 其中Long叫 long的包装类。I... 阅读全文
posted @ 2014-06-15 08:48 刘水镜 阅读(1949) 评论(4) 推荐(1) 编辑
摘要:背景交代:上一篇博客写的是用jetty和Maven做开发、测试。在使用的过程中遇到一个小问题,就是在jetty启动以后,修改了jsp、xml等文件无法保存。 错误信息: 解决方案: 到Maven库(即repository)中搜索jetty-webapp,如下图: 将je... 阅读全文
posted @ 2014-06-06 15:08 刘水镜 阅读(981) 评论(1) 推荐(0) 编辑
摘要:做WEB开发,测试是一件很费时间的事情。所以我们就应该用更简单、更快捷的方式进行测试。今天就向大家介绍一个轻量级的容器——jetty。今天说的etty是Maven的一个插件jetty-maven-plugin,与Maven配合起来使用非常的方便,它的配置也非常的简单,下面我们就看看它怎么用吧! ... 阅读全文
posted @ 2014-05-30 08:10 刘水镜 阅读(1511) 评论(0) 推荐(0) 编辑
摘要:前几天向大家介绍了一种用工具类生成数据表的方法,不过之前的方法需要使用一个跟项目关系不大的工具类。不免让人觉得有些多余,所以呢,今天再向大家介绍一种方法。即Hibernate与Spring配合生成表结构。 首先,要将Spring的信息配置的web.xml,配置Spring用于初始化容器对象的监听... 阅读全文
posted @ 2014-05-23 12:05 刘水镜 阅读(1868) 评论(1) 推荐(0) 编辑
摘要:今天说点基础的东西,说说如何通过SchemaExport跟Hibernate的配置文件生成表结构。其实方法非常简单,只需要两个配置文件,两个Java类就可以完成。 首先要生成表,得先有实体类,以Person.java为例:/** * * @author Administrator * @hib... 阅读全文
posted @ 2014-05-05 08:29 刘水镜 阅读(1363) 评论(4) 推荐(4) 编辑