- 博客(30)
- 资源 (1)
- 收藏
- 关注
转载 HashMap LinkedHashMap TreeMap的区别
Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。(1)Hashmap 是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。HashMap最多只允许一条记录的键为Null;允许多条记录的值为Null;HashMap不支持线程的同步,即任一时刻可以有多个线程同时写H
2016-03-06 22:08:40
551
原创 Comparable 和comparator
(1) Comparable的用法对于集合里面的自定义对象,如果想对他们排序,只需三步:(1)先实现java.lang.Comparable接口;(2)并实现里里面的比较接口compareTo(Object o);(3)然后我们只要调用公共类库java.util.Collections这个类的sort(List list)方法,Java就会按照它的一套方法对list集合里面的对象排列先后次序.
2016-03-05 13:17:24
346
原创 maven冲突解决
如果项目报错NoClassDefFoundError, NoSuchMethodError,不要头疼,看看你的包是否冲突。如何定位冲突原因呢?先来学习maven依赖的几个原则:(1)依赖是使用Maven坐标来定位的,而Maven坐标主要由GAV(groupId, artifactId, version)构成。如果两个相同的依赖包,如果groupId, artifactId, version
2016-02-25 10:24:36
4787
原创 重写equals要遵守的规则
首先要注意重写equals必须重写hashCode(1.1)自反性:对于任何非null的引用值x,x.equals(x)=true(1.2)对称性:对于任何非null的引用x,y,x.equals(y)=true,同样y.equals(y)=true(1.3)传递性:对于任何非null的引用x,y,z,x.equals(y)=true,x.equals(z)=true =>y.equals(z
2016-02-21 12:50:56
2546
原创 php中self和$this的用法
在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之如果从类的内部访问不为const或者static
2015-09-01 19:36:55
480
转载 第 3 页:Context组件
Bean的定义主要有BeanDefinition描述,如下图说明了这些类的层次关系:图5.Bean定义的类层次关系图Bean的定义就是完整的描述了在Spring的配置文件中你定义的节点中所有的信息,包括各种子节点。当Spring成功解析你定义的一个节点后,在Spring的内部他就被转化 成BeanDefinition对象。以后所有的操作都是对这个对象完成的。Bean的解
2015-08-12 20:32:19
353
转载 第 2 页:Spring的设计理念
它们之间可以用下图来表示:图2.三个组件关系核心组件详解这里将详细介绍每个组件内部类的层次关系,以及它们在运行时的时序顺序。我们在使用Spring是应该注意的地方。Bean组件前面已经说明了Bean组件对Spring的重要性,下面看看Bean这个组件式怎么设计的。Bean组件在Spring的org.springframework.beans包下。这个包下
2015-08-12 20:22:19
389
转载 第 1 页:Spring的骨骼架构
Spring作为现在最优秀的框架之一,已被广泛的使用,51CTO也曾经针对Spring框架中的JDBC应用做过报道。本文将从另外一个视角试图剖析出Spring框架的作者设计Spring框架的骨骼架构的设计理念,有那几个核心组件?为什么需要这些组件?它们又是如何结合在一起构成Spring的骨骼架构?Spring的AOP特性又是如何利用这些基础的骨骼架构来工作的?Spring中又使用了那些设计模式来完
2015-08-12 20:20:34
611
转载 MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合
一、搭建开发环境1.1、使用Maven创建Web项目 执行如下命令:mvn archetype:create -DgroupId=me.gacl -DartifactId=spring4-mybatis3 -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false 如下图所示:
2015-08-06 15:57:47
473
转载 MyBatis学习总结(七)——Mybatis缓存
一、MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该Session中的所有 Cache 就将清空。 2. 二级缓存与一级缓存其机制相同,默认也是采用 Perpet
2015-08-06 15:56:04
370
转载 MyBatis学习总结(六)——调用存储过程
一、提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性二、准备数据库表和存储过程 1 create table p_user( 2 id int primary key auto_increment, 3 name varchar(10), 4 sex char(2) 5 ); 6 7 insert into
2015-08-06 15:53:34
382
转载 MyBatis学习总结(五)——实现关联表查询
MyBatis学习总结(五)——实现关联表查询一、一对一关联 1.1、提出需求 根据班级id查询班级信息(带老师的信息)1.2、创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系。 1 CREATE TABLE teacher( 2 t_id INT PRIMARY KEY A
2015-08-06 15:34:48
348
转载 MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突
在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突。一、准备演示需要使用的表和数据CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(20), order
2015-08-06 15:20:18
348
转载 MyBatis学习总结(三)——优化MyBatis配置文件中的配置
一、连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 xml version="1.0" encoding="UTF-8"?> 2 DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http
2015-08-06 15:18:57
289
转载 MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作
上一篇博文MyBatis学习总结(一)——MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对users表执行CRUD操作。本文中使用到的测试环境是上一篇博文中的测试环境。一、使用MyBatis对表执行CRUD操作——基于XML的实现1、定义sql映射xml文件 use
2015-08-06 15:17:35
327
转载 MyBatis学习总结一
MyBatis学习总结(一)——MyBatis快速入门一、Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,
2015-08-06 15:15:55
519
4
原创 mysql 命令行操作
(1)登陆:mysql -u root -p;(2)查看数据库:show databases;(3)新建数据库:create database trade;(4)使用数据库:use trade;(5)删除数据库:drop database trade; (6)新建表:create table employee(id TINYINT UNSIGNED NOT NULL AUTO_
2015-08-06 14:49:13
401
原创 给定一个单向链表L(N0,N1,N2,N3……),在不改变node值得情况下,来编程实现对链表重新排列 ,使得排序后的链表为(N0,Nn,n1,Nn-1,n2,Nn-2……)。
package Test;//给定一个单向链表L(N0,N1,N2,N3……),在不改变node值得情况下,来编程实现对链表重新排列//使得排序后的链表为(N0,Nn,n1,Nn-1,n2,Nn-2……)。//思路:用快慢指针截断前后两段链表,后半段链表反转,交叉拼接前半段和后半段链表public class linkTest {public static void
2015-04-11 15:13:28
1178
转载 数组最长子段和java实现
package Test;//计算数组的最大子段和public class lcs {public static void main(String[] args){int num[]={1,-2,3,10,-4,7,2,-5};//int max=lcs_first(num);//int max=lcs_fenzhi(num, 0, num.length-1);
2015-04-11 10:45:26
567
原创 String、StringBuffer、StringBuilder的区别
(1)执行速度方面:StirngBuilder>StringBuffer>String。因为String是不可变的对象, 因此在每次对String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开
2015-03-31 19:32:32
503
转载 JAVA中Object类 equals()方法和“==”怎样区别
==是判断对象的地址是否相等,也就是是否是同一个对象。equals是具体比较对象的值是否相等。深入到内存中,分为堆和栈。==就是比较堆内存的值是否相等(对象地址存放在堆内存),equals()就是比较栈内存的值(对象的值存在于栈内存)。在理解==和equals的区别的时候先不要去管String,它是个特例,否则会被搞晕掉的。String有个常量池。String a="abc";String b="
2015-03-28 15:45:51
653
转载 静态方法能否访问非静态变量
静态方法是不能访问非静态变量的,静态方法是类加载进来的时候就开始初始化了,但非静态的变量只能通过 new 来初始化,new 初始化对象,类先加载后通过 new 来初始化,所以你的问题不可能实现。
2015-03-28 10:30:47
4124
原创 java中传值还是传引用
不管java参数的类型是什么,一律传递参数的副本。如果java是值传递,那么传递的是值的副本;如果是传引用,那么传递的是引用的副本。在java中,变量分为以下两类:①对于基本类型(int、double、float、byte、boolean、char),java是传值的副本;②对于一切对象型变量,java都是传引用的副本,其实传引用的副本的实质就是复制指向地址的指针。public class T
2015-03-28 10:04:41
1156
原创 Hibernate的工作原理是什么?为什么要用Hibernate?
(1)Hibernate可以理解为一个中间件。它负责把java程序的SQL语句接收过来并发送到数据库,而数据库返回的信息由Hibernate接收后直接生成一个对象传给java.在Hibernate中有两个特有的文件,一个是以.hbm.xml结尾的映射文件,一个是以.cfg.xml结尾的配置文件。.cfg.xml文件的作用是连接数据库,文件内部其实就是一个由user,password,url,d
2015-03-27 20:43:54
4947
1
原创 final、finally、finalize的区别
(1)final关键字1.如果final修饰的是基本类型,表示这个变量赋予的值是不可改变的,是一个常量;1.将变量或方法声明为final,可以保证他们在使用中不被改变,只能读取,不能修改。其初始化可以在两个地方:一是其定义处,也就是说在final变量定义时直接给其赋值;二是在构造函数中,这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给值,又在构造函数中给另
2015-03-27 19:22:10
380
转载 常见的几种RuntimeException
一般面试中java Exception(runtimeException )是必会被问到的问题常见的异常列出四五种,是基本要求。更多的。。。。需要注意积累了 常见的几种如下: NullPointerException - 空指针引用异常ClassCastException - 类型强制转换异常。IllegalArgumentException - 传
2015-03-27 19:16:33
498
转载 程序设计中利用“按位异或”运算交换两个变量的值原理
按位异或运算是指两个相应的二进制相同时结果为0,否则为1。若欲交换两个变量的值,而又不借助其他的中间变量,那么在C++中可以用下面的语句: a = a ^ b; //语句1 b = a ^ b; //语句2 a = b ^ a; //语句3
2015-03-27 15:15:20
828
转载 union关键字
(1)union维护足够的空间来放置多个数据成员中的一种,而不是为每一个数据成员配置空间。在union中所有的数据成员公用一个空间,同一时间只能储存 其中一个数据成员,所有的数据成员具有相同的起始地址。例如:union StateMachine{ char character; int number; char *str; d
2015-03-26 21:43:23
345
转载 c 和java 中的static关键字
(一)首先来谈谈在C中的作用,分为修饰变量和修饰函数两种情况:(1)修饰变量,变量分为局部静态变量和全局静态变量,他们都存在内存的静态区,静态全局变量的作用域仅限于变量被定义的文件中,准确的说:是从定义之处开始,到文件结尾处结束。静态局部变量,就是函数体里面定义的,就只能在这个函数里用了,同一个文档中的其他函数都不能用。由于被static修饰的变量总是存在内存的静态区,所以即使这个函数运行结束
2015-03-26 17:03:20
670
原创 android 一个activity结束,开始一个新的activity
以前android写的得心应手的东西,多日不写,竟然又忘记啦,果然人老啦,记性就不好啦,所以赶紧开始写博客,记录下。以备以后记不起来的时候可以进来看看。一个非常简单的问题作为开头,android中一个activity结束。另一个activity开始问题,假如start.activity和end.activity:Intent intent=new Intent(end.this,start
2015-01-07 21:36:41
641
1
电商系统需求分析
2013-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人