- 博客(36)
- 资源 (8)
- 收藏
- 关注
原创 GIT学习
参考地址 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b0001.git本地仓库创建 初始化一个Git仓库,使用git init命令。 添加文件到Git仓库,分两步:第一步,使用命令git add ,注意,可反
2016-05-23 18:29:50
716
原创 java之Set源码浅析
Set的接口和实现类是最简单的,说它简单原因是因为它的实现都是基于实际的map实现的。如 hashSet 基于hashMap,TreeSet 基于TreeMap,CopyOnWriteArraySet 基于 CopyOnWriteArrayList 。故对其实现简要分析。首先看下面的类图:SetSet接口的意义是,含有相等的元素,相等由集合内元素的equals方法决
2015-06-09 22:58:34
1659
原创 java之Map源码浅析
Map是键值对,也是常用的数据结构。Map接口定义了map的基本行为,包括最核心的get和put操作,此接口的定义的方法见下图:JDK中有不同的的map实现,分别适用于不同的应用场景,如线程安全的hashTable和非线程安全的hashMap.如下图是JDK中map接口的子类UML类图,其中有个特例Dictionary已经不建议使用:Map接口中的方法我们需要关
2015-06-06 18:33:50
5174
原创 java之list源码浅析
三大数据结构链表、树和图,顺序表作为其中的一种,可以说是平时编程中最长使用到的。List接口是顺序表在java中的实现,它有很多子接口和实现类,平时的编程中使用起来非常方便。但是更进一步,我们有必要对其实现和原理进行理解,并和数据结构中所学比较,并应用于平时的编程中,编写出高效率的代码。首先看下list接口的层次关系,下图由本人根据jdk的类结构简单画的:从上图可以看出,lis
2015-06-06 14:39:51
7747
1
原创 浅析HashMap的实现和性能分析
前段时间面试,被问及hashmap的实现,瞬间蒙了,最后被虐成了狗。痛定思过,发现自己最近一年以来走入了一些歧途,有些本末倒置。故从基础开始,从跌倒的地方开始。Java集合框架强大、简单、易用。尤其在设计业务逻辑的编程中,集合框架可以说是使用最多的类。Hashmap作为其中一员,是一种把键(key)和值(value)的结构,在实际引用中及其广泛。本篇简单分析java中hashmap的实现,并简
2015-05-13 23:00:49
3796
1
原创 apache MINA简介
前面对 java NIO 有了较深入的了解,对 NIO的特性也有了理解,今天有空 初步了解些 apache MINA框架,按照官方的说法。Apache MINA(Multipurpose Infrastructure for Network Applications) 是一个网络应用框架,有助于用户非常方便地开发高性能、高伸缩性的网络应用。它通过Java NIO提供了一个抽象的、事件驱动的、异
2015-05-04 16:19:30
1787
1
原创 Java之NIO(二)selector socketChannel
本文简单的介绍了javaNIO selector的使用方法,并对传统IO和 NIO的网络编程模型做了简单的分析,然后使用selector和ServerSocketChannel 结合,完成了极为简单的即时通讯。
2015-04-30 08:01:41
6870
2
原创 Java之NIO(一)Channel和Buffer
java NIO 就是NEW I O,他与传统IO的最大的区别是 它是非阻塞IO。Java NIO和IO之间的主要差别:IO NIO面向流 面向缓冲阻塞IO 非阻塞IO无 选择器他们各自适用于不同的环境,这里只简单的说明其区别,具
2015-04-29 13:03:23
2442
原创 Spring之BeanWrapper和EL
Spring之BeanWrapper和ELBeanWrapper在Spring内部使用的地方非常多,因此有必要对其做简要的说明。另外Spring EL 是一种强大的表达式语音,支持在运行时对对象进行操作,这里也对其做简要说明。BeanWrapperBeanWrapper接口及其实现,方便的提供了获取bean的属性,设置属性、获取属性描述的方法。以下示例:System.out.p
2015-04-27 23:12:31
1295
原创 JMS初识
JMS大名鼎鼎,今日有空初步研究下。JMS= Java Message Service 。从名字上看JMS是来发送消息的。最简单可以这么 理解。消息可以同步、异步、点对点,广播。JMS是SUN制定的java 规范,像jdbc一样,只是制定了规范,具体的实现由厂商提供。jms 的核心接口 包括ConnectionFactoryConnection
2015-04-26 21:13:36
696
原创 Spring之Resource
Spring之所以抽象Resource接口,是因为传统的java使用URL和标准的handler来处置资源。但是有个局限是不能直接读取classpath下的资源。因此Spring定义了一套接口。这套接口分为两部分,Resource和ResourceLoader,其中是对资源的抽象,后者负责加载资源。Spring的ApplicationContext实现了ResourceLoader接口。Res
2015-04-25 23:04:58
1668
原创 spring之Environment
Spring 的Environment包含两方便的抽象,profile和 property前者是一组bean的定义,只有相应的profile被激活的情况下才会起作用。后者是提供方便的抽象,应用程序可以方便的访问 system property 环境变量自定义属性等。Profile想象这样一种情况,在软件开发的过程中有开发环境和正式环境,他们使用的数据源不同,怎么才能做到无缝切换呢。
2015-04-22 17:04:48
22890
转载 ant之通配符
我们常用的匹配模式有ANT模式,比如acegi可以用PATTERN_TYPE_APACHE_ANT来使用ANT匹配模式,那什么是ANT匹配模式呢。 ANT通配符有三种: 通配符 说明 ? 匹配任何单字符 * 匹配0或者任意数量的字符 ** 匹配0或者更多的目录 例子: UR
2015-03-31 14:09:38
2753
原创 spring之注解(三)Component
上篇文章中比较详细的介绍了依赖注入的相关注解,尤其是@Autowired。但是我们对bean的定义声明还是放在xml的配置文件中。Spring当然提供了机制可以自动的扫描类路径,自动的向容器注册BeanDefinition。这就是Bean级别的注解。以上机制称为类路径扫描(clsspath-sacn),它是有相关注解(如@Component @Named @Bean)和beanFactoryPos
2015-03-21 09:25:34
33146
1
原创 spring之注解(二)Autowired
从spring 2.0开始,spring依次加入了对注解型元数据配置的支持。自此我们有了另外一种配置bean的方式。上篇文章中,我们对Spring支持的注解进行了大致的分类,并对其有了初步的介绍。本篇文章则对其展开较详细的说明。主要讲述依赖级别,部分属性级别则在过程中穿插使用。本篇使用的示例代码继承之前的篇章。依赖级别Spring可以使用这些注解进行依赖注入,通常是自动的,或者借助一些
2015-03-20 08:26:54
4429
原创 spring之注解(一)概述
Spring的核心是依赖注入(DI),而依赖注入的基础是依赖信息的配置,这些配置称之为元数据。在之前的的学习中,一直采用的是基于xml的配置,这些元数据配置在spring内部被注册成为BeanDefinition,spring以此为模版创建bean和注入依赖。从spring 2.0开始,spring依次加入了对注解型元数据配置的支持。自此我们有了另外一种配置bean的方式。Spring包含很多
2015-03-18 08:21:15
3250
原创 spring之bean的生命周期
上篇文章中,详细介绍了spring中bean的scope,scope既是bean在spring容器中的存在方式,如prototype和singleton,且也带了一些存在周期的属性,如 session和request等。spring中 bean从实例化,到依赖注入、再到初始化、到最后消亡,有和完整的生命周期。它和scope一起构成bean完整的生命周期。本篇文章主要简单的描述下bean生命周期中的
2015-03-16 08:27:31
8512
1
原创 spring之bean的Scope
上篇文章较为详细了对各种情况下bean依赖的配置做了说明,但一直没有对Scope这个属性进行说明。本篇将一起学习。本文演示代码下载地址当我们在xml配置文件中配置一个bean的定义的时候,可以认为是配置了一个模板,可以根据这个模板来生成很多个对象来满足整个应用程序的依赖关系,同时我们也可以配置对象的Scope。Scope可以理解为SpringIOC容器中的对象应该处的限定场景或者说该对象的
2015-03-04 16:05:58
2273
1
原创 Spring之依赖配置详解
通过以上的学习,对spring容器和DI的概念应该比较清晰了,DI(依赖注入)作为spring的核心,spring当然提供了一套完善的机制来进行依赖注入。前篇文章从概念上介绍了依赖注入,本篇着重学习spring依赖注入的方法,这里主要采用xml的方式。基本注入构造器注入和设值注入是依赖注入的两种主要方式,spring对此有很完善的实现,下面首先以代码的形式进行简要的说明。构造器注入
2015-03-02 16:31:42
3881
1
原创 Spring之容器和配置初识
通过前两篇文章的学习,对spring有了初步的认识,并且应该认识到,spring的核心在于控制反转IOC和依赖注入DI.spring是怎么达到这个目标呢?我们都已经知道理利用spring框架,依赖的注入由spring容器来进行,那么当然需要一些配置信息来告诉spring怎么注入。这就是spring元数据的配置(即bean的配置)。综上,spring通过容器和元数据的配置来实现基本的功能
2015-01-29 16:30:41
3512
2
原创 spring之依赖注入
spring的核心是依赖注入,此基础成为整个spring框架的基石。所谓依赖注入,是指在程序运行过程中,如果需要调用另一个对象协助时,无须在代码中创建按被调用者,而是依赖外部注入。 Spring的依赖注入对调用者和被调用者几乎没有任何要求,完全支持对POJO之间依赖关系的管理。依赖注入有两种方式:构造器注入:在构造对象的时候,依赖作为对象构造器的一个参数
2015-01-23 17:49:29
1985
1
原创 Spring之初识
初识SpringSpring是java平台一个轻量级的解决方案,也就是说它是非侵入式的,即你的业务逻辑本身对spring框架没有依赖。但是spring也可以作为一站式的企业级解决方案,从最核心的依赖注入,到事务管理、AOP、ORM、web、消息、远程调用等都具有相应的模块,它被设计为模块化的,我们只需要选用我们需要的那些模块即可。一、 依赖注入和控制反转Spring的核心是依赖注入(
2015-01-20 22:37:48
1897
1
原创 android 布局 View初始化代码自动生成
在android开发过程中,界面布局是及其重要的,但同时也是复杂。有的时候我们急于实际运行查看布局效果。但是android的编译速度我实在不想吐槽啥,尤其在布局越来越复杂,项目越来越大,资源文件越来越多的情况下。尤其是是android的view的初始化,findViewbyId 完全是体力活,我们完全可以根据布局文件自动生成View的初始化代码。首先声明:1.这是及其容易做到的,实用性
2014-09-25 15:22:17
4303
2
原创 jQuery插件 Autocomplete 不支持多中文的解决办法
web前端开发中,涉及到选择的时候,Autocomplete是一个相当常用的插件,但是此插件在涉及到中文的时候却有一些bug.当每次输入一个中文字的时候,这个插件工作的很好,当一次输入多个中文字的时候,就不能产生过滤作用。这个问题在手机移动端显示的尤为明显。即使使用 Autocomplete 的mobile版本这个问题一样存在。查看源码,分析原因在于,过滤触发的事件是
2014-09-24 11:29:50
4834
2
原创 自定义控件之android列表分组及字母导航
在android开发的过程中,列表是相当常用的组件,所以美观简单易用的列表是必须的。尤其在数据比较多的时候,索引和搜索功能就变得极为重要。例如android自带的联系人页面和一些App带的城市选择页面。现在经过一系列的重构,把“android列表分组及字母导航”已经重构为 自定义控件,既可以在代码种动态添加,也可以在xml布局文件中使用,不管是在Activity中,还是在Fragment中,均能及其简单的使用。
2014-09-18 16:43:05
2998
1
原创 android列表分组及字母导航-重构(2)-注解
上篇文章对listView 分组和字母索引导航进行了重构,重构之后,使新的实现只依赖于接口,而不是具体的Bo.但是还是要求原始的数据Bo实现接口或者继承抽象类。能不能把这一步也简化呢,只需要原始的数据Bolist? 答案是可以的,可以使用注解,也就是annnotion。想法和思路Java注解又叫java标注,java提供了一套机制,使得我们可以对方法、类、参数、包、域以及变量等添加标准(即
2014-09-16 12:28:50
2428
3
原创 android之ListView分组及字母索引导航(2)重构-接口
上篇文章对listView 分组和字母索引导航的实现思路做了分析,并依照思路一步步实现,到最后已经较好的实现了全部功能。但是仔细研究就会发现其实现不够好,主要问题:1. 对于一个使用范围比较广泛的布局,以上实现不够通用,尤其是Bo中需加上一些多余的字段,这些字字段本身并没有意义。2. 代码都糅合在activity中。针对以上两点做
2014-09-15 14:40:23
2444
1
原创 android之ListView分组及字母索引导航
简介在android开发的过程中,列表是相当常用的组件,所以美观简单易用的列表是必须的。尤其在数据比较多的时候,索引和搜索功能就变得极为重要。例如android自带的联系人页面和一些App带的城市选择页面。如下图为某团购网的城市选择页面。但是纵观网上的大部分分组实现,数据都是诸如以下的形式(摘自某篇博客,或者这里只是说明基本的原理),分组标签和数据分开,不够典型。
2014-09-09 22:48:20
4706
原创 java.util.concurrent包详细分析
概述java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并发构建块,开发人员可以提高并发类的线程安全、可伸缩性、性能、可读性和可靠性。此包包含locks,concurrent,atomic 三个包。
2014-07-04 18:18:45
24973
原创 android之tasks和back stacks
Android 是一个多任务的系统,同时可以运行多个应用程序。但是和大部门的操作系统一样,同时只有一个程序可以获得焦点,并和用户交互。即同时只能有一个程序在前台运行,其他应用在后台。用户可以在不同的应用间切换,切换的时候,android系统会自动恢复后台的应用到前台。Android的这个机制是用Tasks 来组织的。Android和 IOS还有一点不同的是,android有一个物理上的返回键,
2014-07-04 17:57:40
1724
原创 android之Loaders初步
Loaders 是android 3.0新引入的api和接口。它具有以下特点:1. Loaders用于所有的Activity和Fragment;2. 提供异步数据装载机制;3. 监控他们的来源数据变化情况,在数据发生变化的时候传递新的结果;4. 自动重连到最后一个数据加载器游标,因此不需要重新查询数据。从以上特点感觉可以很方便的异步获取数据。想一
2014-06-30 20:20:57
1501
原创 android之系统相机拍照
在android系统上,调用相机是很简单也很有意思的事情。有两种方法,一种是直接调用摄像头,捕获图像然后自己处理;一种是调用系统或者第三方相机,然后使用返回的数据。这里说的就是第二种。本文需要内存卡写权限和相机权限。android 确实很伟大,调用相机很简单。核心代码如下:启动activity,并在onactivity回调中 获取这个图片,很容易吧。下面的代码是把图片显示在一个imag
2014-05-30 18:08:19
3535
原创 android 之 intent
Android 包括四大组件,activity、service、broadcast、contentprovider。四大组件依靠intent 紧密联系在一起。所以有必要先学习一下intent。简介什么是intent,按照文档解释:An intent is an abstract description of anoperation to be performed。翻译过来就是:intent
2014-05-27 13:49:26
1550
原创 android开发简介
Android简介2014-5-20本文以android官方文档为主要参考,而写本文的初衷在于经过差不多一年时间的android学习和使用,发现自己依然是个菜鸟,而又重新看了一些书,发现实在对自己难以提高。本文内容来自http://developer.android.com/guide/index.html及其扩展内容。Android是一个丰富的应用程序开发框架,在此框架上可以为移
2014-05-20 23:40:54
1334
Spring之scope讲解测试示例代码
2015-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人