自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

请叫我大师兄

看文章记得点个赞哟

原创 spring 框架中的依赖注入(IOC--设值注入)--使用注解--的具体实例的简单实现

体现了具体项目工程里面的分层,dao,daoImpl,service,serviceImpl,action。让你真正的理解这为啥分层。顺便清清楚楚的理解@Component、@Service、@Repository 和 @Controller之间的关系。顺便还可以学习下,什么是依赖注入--DI,什么是IOC--控制反转。Spring 2.5引入了更多典型化注解(stereotype

2016-09-30 17:58:31 5166 1

原创 spring 框架中的依赖注入(IOC--设值注入)---使用xml简单配置文件---的具体实例的简单实现

体现了具体项目工程里面的分层,dao,daoImpl,service,serviceImpl,action。让你真正的理解这为啥分层。毕竟当年我刚刚毕业的时候,再找工作我就不是很清楚为什么有这么几层。只是知道,昂!就是有这么几层。不就是逻辑清楚些嘛。这回答只是皮毛的皮毛而已!!!哎,好傻。毕竟我不是Java专业的,虽然也是计算机专业的学生。到新公司的时候,发现serviceIm

2016-09-30 16:53:11 5132

原创 spring类扫描注入-----类扫描的注解解析器

通过类扫描注入到容器中,这种方式,在实际开发中还是很常用的,可以看下自己的配置文件,就会发现,自己公司的项目,搞不好就是这么注入的。起码,我发现我公司的项目就是这么干的。下面来演示一下简单的例子:此例子和上一篇的差别很微弱,相比较而言,就是在xml配置文件里面的配置又变得少了。关于要注入到容器的bean,不用自己一个个的去写,省去了很多的重复的步骤。简化了操作。当然我说这么多,

2016-09-30 14:10:11 7579 1

原创 关于applicationContext.xml cannot be opened because it does not exist的解决

ApplicationContext 对象的初始化的时候,根据配置文件的位置,找到配置文件,然后初始化,但是吧,老是出错,总是分不清用哪个去初始化。下面简单总结下:1.ClassPathXmlApplicationContext加上file:把路径写全(用这个方法xml可以放任意地方)ApplicationContext ctx = new ClassPathXml

2016-09-29 16:21:31 4274

原创 以@Resource为例,透析注解的本质,spring中是如何使用注解的

在前面,看到自定义注解,并且也简单的使用了一下,然后就再次用个简单的例子,来看看spring里面是如何使用注解的。如下:先看Java代码:简单,就是2个bean和一个主方法。import org.springframework.context.ApplicationContext;import org.springframework.context.support.FileSys

2016-09-29 15:54:11 19016 11

原创 JavaScript里面的延迟加载--setTimeout()的用法

想实现类似线程sleep几秒钟的现象,虽然看到这个需求,我知道是要用这个setTimeout()方法来实现,JavaScript延迟加载的功能,但是不论自己以前的笔记还是说,自己在网上又搜索的例子。都是乱的一塌糊涂,主要错误如:setTimeout(方法名(参数),“数字”),以为这样就可以了。但是js也不报错,就是达不到自己想要的效果。真是误人子弟啊。主要是参数的使用不正确,

2016-09-29 10:22:55 2183

原创 mongodb too much data for sort() with no index

系统报错如下:org.springframework.data.mongodb.UncategorizedMongoDbException:too much data for sort() with noindex. add an index or specify a smaller limit;nested exception is com.mongodb.MongoException:

2016-09-28 17:05:43 1768

原创 IntelliJ IDEA 中如何设置如:sys直接输出一行等等的快捷编辑操作----即:代码的快捷编辑模板(Live Templates)设置

IntelliJ IDEA使用教程 (总目录篇)看到老师在给你示范的时候,是不是sys,一回车,就直接System.out.println("自己敲要输出的东西");然后,估计你学习的时候,老师用的是eclipse编辑器,当你换了这个IntelliJ IDEA编辑器的时候,就不知道在哪设置了吧。看下图,示范如何设置:图中只是简单的示范了一下,告诉你这个在哪找,然后自己要用什么模...

2016-09-28 16:31:26 15169

原创 一辆停在广场上的献血车引发的惨案

事情的起因,是我和朋友出去溜达,看到广场上停了一辆献血车,然后,矛盾就此产生了。那货非得去献血,说是积极向上,为人民服务。。。(等等,一堆被洗脑的话......)当然,我是二话不说,拉着就走,我举的反例很简单,也很尖锐:自己家养头猪,还得给猪买饲料呢,你说是不是。回来之后,我就去查了下,有如下的内容:1 无偿献血有风险。曾经看过一个标题大意为在正规献血站献血后被感染传染

2016-09-25 23:46:40 1471

原创 自定义注解的简单实现例子,附上代码和测试结果图

看了注解,然后又看了简单的注解的例子,自己还是亲自动手,操作一下代码,来的印象深刻些。一下是一个简单的例子:代码注释很详细了。package com.xxx.model.configcenter;import java.lang.annotation.*;import java.lang.reflect.Method;/** * 简单注解(1):标注在方法上 */@Ret

2016-09-25 23:16:37 1039

原创 注解之概念的理解

@Target,@Retention,@Documented,上面这集个注解是Java自带的,从1.5版本开始有的ElementType,RetentionPolicy,也是Java的内部类。下面简单标记下各个都是干嘛的:/** * @Target能标注在注解类型上 * ElementType * TYPE * 类和接口 *

2016-09-25 21:37:35 1938 1

原创 使用随机算法产生一个数,要求把1-1000W之间这些数全部生成。

使用随机算法产生一个数,要求把1-1000W之间这些数全部生成。(考察高效率,解决产生冲突的问题)代码虽然实现了。提高效率的地方有如下:1.初始化set集合的时候 Sets.newHashSetWithExpectedSize(value),给初始化带个固定大小,减少了集合在扩容的时候,值重新复制的问题。这的效率稍有提高。2.Random random = new Rand

2016-09-20 17:25:00 7077 4

原创 两个有序数组的合并排序,Java代码实现,并去重复,考虑空间利用率问题

题目:有两个有序数组a,b,现需要将其合并成一个新的有序数组。简单的思路就是先放到一个新的数组中,再排序。但是这样的没体现任何算法,这里考的不是快速排序等排序算法。关键应该是如何利用 有序 已知这个条件。可以这样想,假设两个源数组的长度不一样,那么假设其中短的数组用完了,即全部放入到新数组中去了,那么长数组中剩下的那一段就可以直接拿来放入到新数组中去了。其中用到的思想是:归

2016-09-20 16:12:09 11470 7

原创 一个数组的倒序----管他Java还是c还是c++还是其他

一个数组的倒序,管他什么语言,一个简单的for循环还是都支持的吧,既然这样,何必给他打上语言的标签呢。就是一个for循环的事。如下: private static void testArrayReverse() { int[] data = {22, 12, 33, 24, 75}; System.out.println("原顺序" + Array

2016-09-20 14:51:27 2825

原创 索引,索引的优缺点,普通索引,唯一索引,主键索引,联合主键,复合主键---数据库中的几个概念的理解。

索引概念的理解索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息,使用索引可快速访问数据库表中的特定信息。例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于100

2016-09-20 10:43:17 8538 5

原创 要想看懂 spring 的配置文件:ApplicationContext.xml 第一步

要想看懂 spring 的配置文件:ApplicationContext.xml 就得先从简单的来,一步一步的看才会理解的清楚明白。首先得知道什么叫ioc---依赖注入,注入的方式一般有2个;设值注入和构造注入。然后就知道这个配置文件是干嘛的,具体怎么配置的。还是得多看,看多了,就知道啦,具体怎么弄啦。对于spring的配置文件里面bean的配置,当每个bean的很多属性对应的不同类型的时候,怎么在配置文件里面配置。当然这是简单的配置,就是展示一下用法。做个如下测试,当个例子。首先是Jav

2016-09-17 22:55:18 31251 8

原创 依赖注入(IOC)的详细讲解,附带实例和测试结果(大师兄亲测)

此篇文章,参考其他文章,亲自测试,并附上测试代码和测试结果图,详详细细,明明白白的讲解什么叫依赖注入,什么叫IOC,绝对能给你看完之后,就知道的清清楚楚,明明白白,在以后都不会忘记这个概念,当然你要是愿意拿我的代码亲自测试一下的话,效果会更好。毕竟我不是复制粘贴党。Spring 能有效地组织J2EE应用各层的对象。不管是控制层的Action对象,还是业务层的Service对象,还是持久层的DA...

2016-09-15 01:13:14 9264 23

原创 IntelliJ IDEA 中如何设置同时打开多个文件且分行显示---即如何设置tabs

有时候要是打开多个文件,要么都显示在一行,要么因为空间不足,就给省略显示,这样看着,或者点着,都不是很方便IntelliJ IDEA 这个编辑器就提供了应对办法,要是知道怎么设置,那是最好,不知道的可以参考如下图的修改:1,修改上限值,可以最多显示30个tabs,2,多行显示,不会拥挤在一行,或者干脆就收缩起来。具体显示效果如下:

2016-09-14 13:48:04 31102 14

转载 POJO是什么,javabean是什么,以及POJO与javabean的区别

POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter setter方法的类,没有业务逻辑,有时可以作为VO(value -object)或dto(Data Transform Object)来使用.当

2016-09-13 16:46:48 14746 6

原创 为什么HashSet不能重复以及具体原理源码分析

为什么HashSet里面add的时候,不可以add相同的值,为什么可以用HashSet的这个不重复的值的特性来去重复呢。为什么要用HashSet去重复的时候,要重写Java model的hashcode和equal方法先看如下HashSet的几个构造方法如下: /** * Constructs a new, empty set; the backin

2016-09-09 15:25:23 6173 4

翻译 理解Java Integer的缓存策略

本文将介绍 Java 中 Integer 缓存的相关知识。这是 Java 5 中引入的一个有助于节省内存、提高性能的特性。首先看一个使用 Integer 的示例代码,展示了 Integer 的缓存行为。接着我们将学习这种实现的原因和目的。你可以先猜猜下面 Java 程序的输出结果。很明显,这里有一些小陷阱,这也是我们写这篇文章的原因。 /** * 测试Integer的缓

2016-09-08 17:45:22 5967 1

原创 类型转换的时候,.valueOf()和.parseX()的区别

valueOf:返回的是个包装类parseInt:返回的就是基本数据类型二者的差异:中间有个装箱拆箱的过程,如果准确的知道自己要的是什么返回值的话,就可以明确清楚的选择用哪个方法来转换,而获得自己想要的值,且是最大效率的do it.(当然,这一般情况下是没人去管这个的,因为这个是findbugs找到的,所以,才有这篇文章的出现。)Java包装类型的装箱拆箱机制

2016-09-08 16:49:19 6504

原创 什么时候使用字节流、什么时候使用字符流,二者的区别

先来看一下流的概念:在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。InputStream 和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象,Reader和 Writer.两个是为字符流(一个字符占两个字节)设计的,主要用来处理字符或字符串.

2016-09-08 16:06:07 13897 9

原创 Java io中的File类里面的方法总览和使用示例

构造函数File(File parent, String child)File(String pathname)File(String parent, String child)创建方法1.boolean createNewFile() 不存在返回true 存在返回false2.boolean mkdir() 创建目录3.boolean mkdirs() 创建多级目

2016-09-08 13:52:28 2902

转载 Java IO流分析整理

Java中的流,可以从不同的角度进行分类。按照数据流的方向不同可以分为:输入流和输出流。按照处理数据单位不同可以分为:字节流和字符流。按照实现功能不同可以分为:节点流和处理流。 第一个:输出流: 输入流:因此输入和输出都是从程序的角度来说的。第二个:字节流:一次读入或读出是8位二进制。字

2016-09-07 20:16:55 1503

原创 递归读取文件夹下的文件,代码怎么实现

这个问题就是在考验你递归,让你写个递归方法出来。也只有递归才能这么解决问题。具体实现如下: /** * 递归读取文件夹下的 所有文件 * * @param testFileDir 文件名或目录名 */ private static void testLoopOutAllFileName(String testFileDir) {

2016-09-07 18:30:15 5712

转载 Java 的引用类型有哪几种:强引用、软引用、弱引用和虚引用

Java虽然有内存管理机制,但仍应该警惕内存泄露的问题。例如对象池、缓存中的过期对象都有可能引发内存泄露的问题。从JDK1.2版本开始,加入了对象的几种引用级别,从而使程序能够更好的控制对象的生命周期,帮助开发者能够更好的缓解和处理内存泄露的问题。这几种引用级别由高到低分别为:强引用、软引用、弱引用和虚引用。强引用:平时我们编程的时候例如:Object object=new

2016-09-07 16:26:17 7346

原创 Java如何正确的使用try catch finally关闭文件流的总结

上学的时候,也许老师告诉你用完文件流记得要关闭,可能为了省事,他也没仔细的给你示范如何关闭,实际开发中,要是不能正确关闭流,服务器分分钟炸掉,那是很正常的。一般都是新人才会有这个问题。当然都是从新人走过来的嘛。下面是大师兄总结的关闭文件流的基本动作,有不合适的,还请指出来。流在try外面声明,在try里面初始化,然后在finally里面给close,还记得处理异常efinally里面close的时...

2016-09-05 14:10:45 31092 12

原创 guava中Lists.newArrayListWithCapacity()的作用和实现原理

list集合初始化的时候,若大小可知,应初始化固定大小的集合,也是个好习惯。避免在add()元素的时候,要扩容,然后就得重新copy一遍元素,这样就不好啦。ArrayList集合大概原理:就是一个Object数组,来存储值,然后知道这点之后,继续看下面的。下面关于guava的Lists.newArrayListWithCapacity()初始化带大小的list集合的大概源码概览如下: ...

2016-09-05 10:45:16 8464 3

转载 Java集合之ArrayList源码概览学习

一、ArrayList概述      ArrayList是实现List接口的动态数组,所谓动态就是它的大小是可变的。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。      每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。默认初始容量为10。随着Ar

2016-09-02 11:35:58 719

原创 Java和guava关于hashmap在初始化的时候最好给个初始容量,避免扩容引起性能问题的探究。

一般Java的集合初始化如下带初始容量的map:Map map = new HashMap(4);本意是希望给HashMap设置初始值, 避免扩容(resize)的开销. 但是没有考虑当添加的元素数量达到HashMap容量的75%时将出现resize.所以说上面的是徒劳的。错误的。guava里面有工具类Maps,可以很方便的创建一个集合,并且,带上合适的大小初始化值。具体如下:

2016-09-01 16:52:59 13807

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