自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java的回调函数

Java的回调函数在Java中,我们使用接口来实现回调。1.先定义一个调用类,其中包含一个接口引用public class Caller{private CallBackInterface callBackInterface;public void setCallBackInterface(CallBackInterface callBackInterface){this.callBackI

2017-07-25 20:04:32 235

转载 Java对Redis基本操作

1.程序的基本结构 2.主要功能类package com.redis;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Set;import redis.clients.jedis.Jedis;import redis.clients.jedis.Jedis

2017-07-24 18:37:21 248

原创 Java的反射

Java的反射每个类被加载后,系统都会为该类生成一个对应的Class对象,通过该Class对象可以访问到JVM中的这个类。获取Class对象有 三种方式:Class类的forName(String clazzName)静态方法调用类的class属性调用对象的getClass()方法有了这个Class对象后就有了类的所有东西定义一个Student类:public class Student

2017-07-20 18:23:42 201

原创 Properties读写属性文件

Properties读写属性文件Properties类是Hashtable的子类,它相当于一个key,value都是String类型的Map。public class Test{public static void main(String[] args) throws FileNotFoundException, IOException{Properties props = new Prope

2017-07-19 22:42:02 340

原创 Java Map集合

Java Map集合Map用来保存具有映射关系的数据,即key-value。key和value存在一一对应的关系,即通过key能查出唯一的确定的value值。Map中的key是唯一的不能重复的可以是null但只能有一个null,value值可以重复。public class Test{public static void main(String[] args){Map map = new Ha

2017-07-19 22:38:39 218

转载 NoSQL数据库的四大分类及分析

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。        NoSQL数据库分四大类:键值(Key-Value)存储数据库这一类数据库主要会使用到一个哈希表,这个表中

2017-07-15 14:37:57 2072

原创 java List集合

java List集合List集合是一个元素有序,可以重复的集合,元素默认按照添加顺序设置其索引,集合可以通过索引来对集合中的元素进行操作。(索引从0开始)ArrayList和Vector类ArrayList和Vectory是List接口两个常用实现类,它们的底层都是数组,所以它们封装了一个动态允许再分配的Object[]数组,创建集合的时候可以指定数组的长度,如果放入集合的元素超

2017-07-08 18:28:00 1257

原创 Java Set集合

Java Set集合Set是Collection的子接口,Set集合中的元素是无序,无重复的,如果试图把两个相同的元素加入到同一个Set集合中,则添加操作会失败,add()方法返回false;HashSet,TreeSet,LinkedHashSet是Set集合最常见的三个实现类。下面来看下它们具体的用法HashSet类HashSet是Set接口的典型实现,它是按Hash算法来存储集合中的元素,具有

2017-07-05 20:37:31 285

原创 java的格式化

java的格式化java提供一个抽象类Format,它有三个子类分别是MessageFormat,NumberFormat,和DateFormat。它们挑起了java的格式化的大梁,下面就分别看下它们的用法。一.使用MessageFormat处理包含占位符的字符串对于带占位符的消息字符串,java提供MessageFormat类可以为占位符指定参数。它有一个静态方法format(String pat

2017-06-29 19:04:39 414

原创 java随机数

java随机数需要在程序中生成一个随机数很容易想到使用Math的静态方法random(),生成一个大于等于0.0且小于1.0的随机数public class Test{public static void main(String[] args){System.out.println(Math.random());}}但是这种方法生成的随机数不够灵活,java提供一个Random类专门用于

2017-06-28 18:43:11 207

原创 对象处理好帮手Objects类

对象处理好帮手Objects类java7新增一个Objects工具类,它提供了一些工具方法来操作对象,这些方法大多是”空指针“安全的。比如你不能确定一个对像是否为null,调用该对象的一些方法就有可能导致空指针异常,使用Objects工具就没有空指针问题了。public class Person{// 定义一个对象默认值为 nullstatic ObjectsTest obj;public

2017-06-28 18:42:00 309

原创 Java基本数据类型和String相互转换

Java基本数据类型和String相互转换一.基本数据类型转换为String基本类型变量和“”进行连接运算String intStr = 6 + "";String提供的多个重载valueOf()方法String ftStr = String.valueOf(2.12f);String boolStr = String.valueOf(true);包装类的toString()方法

2017-06-22 21:26:14 416

原创 Java中"=="和equals方法比较

Java中”==”和equals方法比较java中判断两个变量是否相等有两种方式:一是使用==运算符,二是利用equals()方法。如果两个变量是基本数据类型,且都是数值类型可以使用==运算符将返回true,如果两个变量是引用数据类型,只有他们指向同一个对象时,==判断才返回true。public class Test{public statc void main(String[] a

2017-06-22 21:25:16 390

原创 java通用程序设计建议(二)

二.基本数据类型优先于封装类型java的数据类型包含基本类型,如byte,char,short,int,long,float,double,boolean。和引用类型,如String,List。每一个基本数据类型都对应一个引用类型,称为封装类分别对应的是:Byte,Character,Integer,Long,Float,Double,boolean。基本数据类型和封装类之间区别主要有三个:基本数

2017-06-14 15:50:15 314

原创 java通用程序设计的建议(一)

一.将局部变量的作用域最小化将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能性。要使局部变量的作用域最小化,最有力的方法就是在第一次使用它的地方声明。如果变量在使用之前进行声明,这只会造成混乱—–等到用到该变量的时候,读者可能已经记不起该变量的类型或者初始值。局部变量定义的时候应该进行初始化,如果没有足够的信息对一个变量进行有意义的初始化,就应该推迟声明,直到可以初始化为止

2017-06-14 11:01:27 373

原创 抽象工厂模式

抽象工厂模式抽象工厂模式是创建模式,是工厂方法模式进一步的推广。 抽象工厂模式向客户端提供一个接口,客户端可以不需要指定创建产品的具体类型创建多个产品族的对象。结构与角色涉及到角色:抽象工厂角色(Creator) 这个角色是工厂方法模式的核心,任何创建产品对象的工厂类都必须实现这个接口。在实际的系统中这个角色也可以是一个java的抽象类。具体工厂角色(Concrete Creator) 这

2017-06-10 12:33:31 361

原创 工厂方法模式

工厂方法模式工厂方法模式是类的创建模式,用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到工厂子类中。结构与角色涉及到角色:抽象工厂角色(Creator) 这个角色是工厂方法模式的核心,任何创建产品对象的工厂类都必须实现这个接口。在实际的系统中这个角色也可以是一个java的抽象类。具体工厂角色(Concrete Creator) 这个角色是实现了抽象工厂接口的java类,含有与应用密

2017-06-10 12:31:44 415

原创 23种设计模式及6大原则

23种设计模式及6大原则一.设计模式分类总体来说设计模式分为三大类:创建型模式 工厂方法模式 抽象工厂模式 单例模式 建造者模式 原型模式结构型模式 适配器模式 装饰器模式 代理模式 外观模式 桥接模式 组合模式 享元模式行为型模式 策略模式 模板方法模式 观察者模式 迭代子模式 责任链模式 命令模式 备忘录模式 状态模式 访问者模式 中介者模式

2017-06-04 16:34:08 2253

原创 外观模式

外观模式定义为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式又称为门面模式,它是一种对象结构型模式。外观模式是迪米特法则的一种具体实现,通过引入一个新的外观角色可以降低原有系统的复杂度,同时降低客户类与子系统的耦合度。角色Facade(外观角色) 在客户端可以调用它的方法,在外观角色中可以知道相关的(一个或者多个)子系统的功能

2017-06-04 16:14:55 508

原创 Mybatis SQL映射文件讲解

Mybatis SQL映射文件讲解SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache – 配置给定命名空间的缓存。cache-ref – 从其他命名空间引用缓存配置。resultMap – 最复杂,也是最有力量的元素,用来描述如何从数据库结果集中来加 载你的对象。 parameterMap – 已经被废弃了!老式风格的参数映射。内联参数是首选,这个元 素可能在将来

2017-06-03 15:19:37 667

原创 Mybatis配置文件属性讲解

Mybatis配置文件属性讲解MyBatis 的 XML 配置文件包含了影响 MyBatis 行为甚深的设置和属性信息。 XML 文档 的高层级结构如下: configuration 配置 properties 属性settings 设置typeAliases 类型命名typeHandlers 类型处理器objectFactory 对象工厂plugins 插件environments

2017-06-03 14:24:48 2716

原创 Mybatis核心对象及生命周期

Mybatis核心对象及生命周期SqlSessionFactory每 一 个 MyBatis 的 应 用 程 序 都 以 一 个 SqlSessionFactory 对 象 的 实 例 为 核 心 。 SqlSessionFactory 对 象 的 实 例 可 以 通 过 SqlSessionFactoryBuilder 对 象 来 获 得 。 SqlSessionFactoryBuilder 对象

2017-06-02 18:37:22 6425

原创 模板方法模式

模板方法模式定义模板方法模式,定义一个操作中的算法的骨架,而 将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法中的角色抽象类(AbstractClass) 实现了模板方法,定义了算法的骨架具体类(ConcreteClass) 实现抽象类中的抽象方法,已完成完整的算法实现1.UML类图 2.抽象类public abstract cla

2017-06-01 21:53:20 310

原创 Java循环中remove方法的使用

Java循环中remove方法的使用首先看下如下代码public class Test{public static void main(String[] args){List<String> ll = new ArrayList();ll.add("1");ll.add("2");ll.add("3");ll.add("4");ll.add("5");ll.add("6");f

2017-05-30 21:31:28 9075 3

原创 代理模式

一.代理模式23种常用的面向对象软件的设计模式之一,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用二.代理模式的组成抽象角色:通过接口或抽象类声明真实角色实现的业务方法。代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。真实角色:实现

2017-05-25 20:34:58 284

原创 装饰模式

一.什么是装饰模式23种设计模式之一,英文叫Decorator Pattern,又叫装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。二.装饰模式的特点装饰对象和真实对象有相同的接口。这样客户端对象就能以和真实对象相同的方式和装饰对象交互装饰对象包含一个真实对象的引用(reference)装饰对象接受所有

2017-05-11 21:28:20 404

原创 策略模式

一.什么是策略模式它定义了算法家族,分别封装起来,让它们这件可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。二.策略模式的优缺点优点 1、 策略模式提供了管理相关的算法族的办法。策略类的等级结构定义了一个算法或行为族。恰当使用继承可以把公共的代码转移到父类里面,从而避免重复的代码。 2、 策略模式提供了可以替换继承关系的办法。继承可以处理多种算法或行为。如果不是用策略模式,那么使用

2017-05-07 19:54:12 353

原创 简单工厂模式

1.什么是简单工厂模式:简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。2.简单工厂模式优缺点优点工厂类是整个模式的关键.包含了必要的逻辑判断,根据外界给定的信息,决定

2017-05-06 16:23:32 242

原创 SpringMVC拦截器

Spring Web MVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。一.拦截器的接口自定义拦截器需要实现HandlerInterceptor接口package org.springframework.web.servlet;import javax.servlet.http.HttpServletRequest;import javax.ser

2017-04-25 20:27:13 237

原创 SpringMVC过滤器

过滤器放在web资源之前,可以在请求抵达它所应用的web资源(可以是一个Servlet、一个Jsp页面,甚至是一个HTML页面)之前截获进入的请求,并且在它返回到客户之前截获输出请求。Filter:用来拦截请求,处于客户端与被请求资源之间,目的是重用代码。Filter链,在web.xml中哪个先配置,哪个就先调用。在filter中也可以配置一些初始化参数。 Java中的Filter 并不是一个标准

2017-04-25 18:43:13 388

原创 SpringMVC文件上传

SpringMVC为文件上传提供了直接支持,通过MultipartResolver实现的。Spring用Commons FileUpload技术实现了一个MultipartResolver,SpringMVC上下文中默认没有装配MultipartResolver,如果想使用spring的文件上传功能,需要在上下文中配置MultipartResolver。1.引入jar包 2.在springmvc.

2017-04-17 21:23:00 230

原创 SpringMVC数据类型转换

在以往我们需要SpringMVC为我们自动进行类型转换的时候都是用的PropertyEditor。通过PropertyEditor的setAsText()方法我们可以实现字符串向特定类型的转换。但是这里有一个限制是它只支持从String类型转为其他类型。在Spring3中引入了一个Converter接口,它支持从一个Object转为另一个Object。除了Converter接口之外,实现Conver

2017-04-05 21:07:29 342

原创 SpringMVC数据的格式化

1.当对象属性有日期类型和数字类型的时候,绑定到目标方法的时候就会报400的错误。 定义一个Teacher类:public class Teacher {private String name;private Date birth;private float salary;。 。 。}jsp:<form action="testTransform" method="post">name:

2017-04-05 21:05:47 336

原创 SpringMVC数据绑定

1.基本数据类型(int为例) jsp:<form action="testInt" >id:<input type="text" name="id" value="10"/><input type="submit" value="submit"></form>controller:@RequestMapping(value="testInt")public String testInt(

2017-04-05 20:52:17 281

原创 JstlView

若在项目中使用了JSTL,则SpringMVC会自动把视图由InternalResourceView转为JstlView,若使用JSTL的fmt标签需要在SpringMVC的配置文件中配置国际化资源文件。<!-- 配置国际化文件 --> <bean id="resourceBundleMessageSource" class="org.springframework.context.supp

2017-04-03 22:53:25 3292 1

原创 SpringMVC Restful风格的CURD

什么是RestfulRestful风格的API是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。在Restful风格中,用户请求的url使用同一个url而用请求方式:get,post,delete,put…等方式对请求的处理方法进行区分,这样可以在前后台分离式的开发中使得前

2017-04-03 17:51:00 1840

原创 ModelAttribute注解

在方法定义上使用ModelAttribute注解,springMVC在调用目标方法前会逐个调用标准了ModelAttribute注解的方法。 在方法的参数前使用ModelAttribute注解,可以从隐含对象中隐含的模型数据中获取对象,再将请求参数绑定到参数中。一.应用场景修改学生信息,密码不改 Student类package org.springmvc.entity;public class

2017-03-28 21:20:07 571

原创 继承成员变量和方法的区别

一.继承成员变量和方法的区别方法的行为总是表现他们实际类型的行为;实例变量的值总是表现出声明这些变量的行为。 父类:public class Base {int count = 2;public void display() {System.out.println(this.count);}}子类:public class Derived extends Base {int count =

2017-03-27 20:29:09 625

原创 java中变量

一.实例变量和类变量java程序中的变量大体可分为成员变量和局部变量。局部变量作用时间很短,它们被存储在方法的栈内存中,局部变量创建的时候需要显示的指定他的初始值。 类体内定义的变量被称为成员变量,有static修饰的则称类变量,没有则称实例变量。类变量初始化处于实例变量初始化时机之前,因此实例变量总是可以引用类变量。 由于同一个jvm内每个类只对应一个Class对象,因此同一个jvm内的一个类

2017-03-27 20:27:54 264

原创 java数组与内存管理

一.数组初始化java是静态语言,因此java数组是静态的,当数组被初始化后,改数组长度是不可变的。java程序中的数组必须初始化后才可以使用,初始化就是为数组对象元素分配内存空间,并为数组元素指定初始值。 数组初始化两种方式: 1. 静态初始化:初始化时由程序员显示指定每个数组元素初始值,由系统决定数组长度。String[] names = {"zhangsan", "lisi", "wang

2017-03-27 20:25:37 461

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除