java
妖月风
这个作者很懒,什么都没留下…
展开
-
java冒泡排序
冒泡排序首选确认数组中的第一个数为最大(降序)或最小(升序),之后按照顺序依次确认第二位、第三位等为剩下未排序中最大或最小值package com.han.sort;public class MaoPaoSort { /** * 冒泡排序 * @param args */ public static void main(String[] args) { int arr原创 2016-03-31 22:11:03 · 295 阅读 · 0 评论 -
Hibernate工作原理
1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭SesstionFactory转载 2016-04-03 17:55:49 · 235 阅读 · 0 评论 -
Struts1与Struts2有哪些区别?
1.Action类 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。 Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2提供一个ActionSupport基类去实现常用的接口。即使Act转载 2016-04-03 17:05:07 · 250 阅读 · 0 评论 -
Mybatis与Ibatis比较
虽然从正式版发布至今也有近一年时间,官方也非常友好的提供了中文版的使用手册,不过相信很多人还在项目中使用ibatis2.x版本。 究竟Mybatis有哪些新特性,能给我们带来哪些好处呢?以下是我看一位大侠研究后1、Mybatis实现了接口绑定,使用更加方便。 在ibatis2.x中我们需要在DAO的实现类中指定具体对应哪个xml映射文件, 而Mybatis实现了DAO接口与转载 2016-04-01 09:51:29 · 255 阅读 · 0 评论 -
strust2的请求运行流程
1、客户端发送请求 2、通过web.xml后调用StrutsPrepa2、请求先通过ActionContextCleanUp(它主要清理当前线程的ActionContext和Dispatcher),之后执行FilterDispatcher(主要通过AcionMapper来决定需要调用哪个Action)。3、FilterDispatcher通过ActionMapper来决定这个Reque原创 2016-03-30 18:14:18 · 517 阅读 · 0 评论 -
java快速排序
package com.han.sort;//由小到大顺序排列public class MyQuickSort {public static void main(String[] args) {int arr[]=new int[]{35,100,40,60,87,43,13,45,12,0};//排序前print(arr);MySort(arr,0,arr.lengt原创 2016-03-30 23:48:44 · 249 阅读 · 0 评论 -
Java集合框架的基本接口/类层次结构:
java.util.Collection [I]|—java.util.List [I]|—java.util.ArrayList [C]|—java.util.LinkedList [C]|—java.util.Vector [C]|—java.util.Stack [C]|—java.util.Set [I]|—java.util.HashSet [C]|—ja原创 2016-07-18 21:59:47 · 1264 阅读 · 0 评论 -
Java 解决采集UTF-8网页空格变成问号乱码
问题的根源,在于UTF-8这种编码里面,存在一个特殊的字符,其编码是“0xC2 0xA0”,转换成字符的时候,表现为一个空格,跟一般的半角空格(ASCII 0x20)一样,唯一的不同是它的宽度不会被压缩,因此比较多的被用于网页排版(如首行缩进之类)。而其他的编码方式如GB2312、Unicode之类并没有这样的字符,因此如果简单地进行编码转换,生成地GB2312/Unocode字符串中,这个字符就转载 2017-03-02 14:49:18 · 1232 阅读 · 0 评论 -
生成二维码方式一——zxing
1、借助第三方jar,如zxing zxing:https://github.com/zxingpackage com.han.utils;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.nio.file.Path;import java.ut...转载 2018-03-25 21:56:08 · 7701 阅读 · 6 评论 -
生成二维码方式二——qrCode
qrcode: 生成:http://www.swetake.com/qrcode/index-e.html 读取:https://zh.osdn.net/projects/qrcode/package com.han.utils;import java.awt.image.BufferedImage;import jp.sourceforge.qrcode.data.QRCodeI...转载 2018-03-25 21:58:42 · 1129 阅读 · 0 评论 -
解决java上传图片变色问题—使用阿里巴巴simpleimage
SimpleImage github地址:https://github.com/alibaba/simpleimage依赖jar:commons-io-2.4.jarcommons-lang.jarcommons-logging-1.1.1.jarjai_codec-1.1.3.jarjai_core-1.1.3.jarimport java.awt.Point;im...转载 2018-08-06 11:22:08 · 5903 阅读 · 1 评论 -
Spring依赖注入的好处
1、依赖注入是目前最优秀的解耦方式,依赖注入让spring的bean以配置文件的方式组织在一起,而不是以硬编码的方式耦合在一起2、java实例调用者创建被调用的java实例,调用者直接使用new关键字创建被调用者实例,程序会高度耦合,导致效率低下。原创 2016-04-13 22:27:22 · 3641 阅读 · 0 评论 -
Spring execution 表达式
execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)除了返回类型模式(上面代码片断中的ret-type-pattern),名字模式和参数模式以外,所有的部分都是可选的。 返回类型模式决定了方法的返回类型必须依次匹配一个连转载 2016-05-29 21:47:09 · 263 阅读 · 0 评论 -
Spring注解
1、Spring注解@Component、@Repository、@Service、@Controller区别在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控制层(Web 层)相对应。虽然目前这3 个注释和 @Component 相比没有什么新意,但 Spring 将在以后的版本原创 2016-05-30 22:59:17 · 313 阅读 · 0 评论 -
绝对定位的div居中
.div1{width:300px;height:300px;background:green;margin: auto;position:absolute;left:0;right:0;top:0;bottom:0;}原创 2016-04-04 20:47:25 · 330 阅读 · 0 评论 -
java变量所占字节数及取值范围
byte占用 8位一个字节,数字大小为-27—27-1nshort占用16位 两个字节,数字大小为-215—215-1nint占用32位 四个字节,数字大小为-231—231-1nlong占用64位 八个字节,数字大小为-263—263-1nfloat占用32位 四个字节,数字大小为1.4E-45~3.4E+38 , -1.4E-45~-3.4E+38 。用原创 2016-04-05 09:39:03 · 1632 阅读 · 0 评论 -
链表和数组的区别
数组:数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。如果应用需要快速访问数据,很少或不插入和删除元素,就应该用数组。链表:链表恰好相反,链表中的元素在内存中转载 2016-04-13 21:29:59 · 271 阅读 · 0 评论 -
单例饿汉式和饱汉式各自的有缺点
单例模式应用于一个类只有一个实例的情况,并且为其实例提供一个全局的访问点。特点:1.一个类只有一个实例2.自己创建这个实例3.整个系统只能用这个实例应用场景外部资源:每台计算机有若干个打印机,但只能有一个PrinterSpooler,以避免两个打印作业同时输出到打印机。内部资源:大多数软件都有一个(或多个)属性文件存放系统配置,这样的系统应该原创 2016-04-13 22:37:07 · 2875 阅读 · 4 评论 -
HashMap的数据结构
HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易转载 2016-04-13 22:43:17 · 640 阅读 · 0 评论 -
数据库去重
有重复数据主要有一下几种情况:1.存在两条完全相同的纪录这是最简单的一种情况,用关键字distinct就可以去掉example: select distinct * from table(表名) where (条件)2.存在部分字段相同的纪录(有主键id即唯一键)如果是这种情况的话用distinct是过滤不了的,这就要用到主键id的唯一性特点及group b原创 2016-04-13 21:49:47 · 452 阅读 · 0 评论 -
过滤器与拦截器区别
过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者 struts的action前统一设置字符集,或者去除掉一些非法字符拦截器,是在面向切面编程的就是在你转载 2016-04-27 11:24:59 · 220 阅读 · 0 评论 -
log4j日志配置详解
Log4J日志配置详解一、Log4j简介Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。1、LoggersLoggers组件在此系统中被分为转载 2016-04-27 11:32:38 · 281 阅读 · 0 评论 -
查询每个用户最新的日志访问信息
查询每个用户最新的访问日志信息及用户名(1)SELECT * FROM tb_user_log t1 WHERE TIME=(SELECT MAX(TIME) FROM tb_user_log t2 WHERE t1.userId=t2.userId)查询出每个用户访问的最新的日志信息:(2)查询用户信息及最新的日志信息SELECT u.userName,t2.keywords原创 2016-04-14 21:47:22 · 707 阅读 · 0 评论 -
Java中普通代码块,构造代码块,静态代码块区别
//执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。其中静态代码块只执行一次。构造代码块在每次创建对象是都会执行。//普通代码块:在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”public class CodeBlock01{ public static void ma转载 2016-04-17 12:59:22 · 206 阅读 · 0 评论 -
Description Resource Path Location Type Java compiler level does not match the version of the instal
在项目上右键Properties->Project Facets,在打开的Project Facets页面中的Java下拉列表中,选择相应版本。原创 2016-05-13 11:05:37 · 255 阅读 · 0 评论 -
Integer和int之间==的比较问题
public class Mytest01 { public static void main(String[] args) { Integer s1=1; Integer s2=1; System.out.println("----------------值设为1时比较-----------"); System.out.println("s1==s2:"+(s1==s2));原创 2016-04-20 09:52:40 · 502 阅读 · 0 评论 -
数组与ArrayList的关联与区别
arrayList层为数组数组([]):最高效;但是其容量固定且无法动态改变;ArrayList:容量可动态增长;但牺牲效率;建议:首先使用数组,无法确定数组大小时才使用ArrayList!1.效率:数组扩容是对ArrayList效率影响比较大的一个因素。每当执行Add、AddRange、Insert、InsertRange等添加元素的方法,都会检查内部数组的容量是原创 2016-04-20 11:37:02 · 355 阅读 · 0 评论 -
Eclipse启动时报“failed to create the java virtual machine”
只需修改eclipse.ini文件即可“虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制设置。说明:PermSize和MaxPermSize指明虚拟机为java永久生成对象(Permanate generation)等这些可反射(reflective)对象分配内原创 2016-05-22 23:03:36 · 275 阅读 · 0 评论 -
Eclipse4.5修改maven的本地仓库的地址
1、在 .m2下添加settings.xml文件 E:\workspace1\ssmworkspace\.m2\repository2、原创 2016-05-22 23:08:00 · 3203 阅读 · 0 评论