- 博客(121)
- 资源 (14)
- 收藏
- 关注
原创 SpringMVC jdbcTemplate中queryForObject以及queryForList返回映射实体使用
使用SpringMVC搭建项目时,我打算直接使用SpringMVC的JDBC,如果引入Mybatis和Hibernate等ORM是感觉太过的麻烦,所以直接使用springframework.jdbc。SpringMVCJDBC提供了两个数据jdbc操作类,分别是:jdbcTemplate和namedParameterJdbcTemplate。他们都提供了非常多的方法,我就不写了(看源码)。现在问题
2015-01-30 18:05:13 26532 2
原创 Spring声明式事务配置的两种策略SpringAop和Bean后处理器的代理BeanNameAutoProxyCreator
Spring的事务配置有两种:1编程式事务管理配置;2声明式事务管理配置。下面介绍两种声明式事务的配置,声明式事务相比于编程式事务代码耦合更低,无序书写任何事务管理的先关代码。两种声明式事务配置策略分别是:SpringAop事务管理和Bean后处理器的代理BeanNameAutoProxyCreator管理事务。 1、SpringAop事务管理配置 1.1、配置数据源:
2015-01-29 21:57:21 3952 1
原创 设计模式-责任链设计
看了一下设计模式中的责任链设计模式,主要实现类似拦截器的功能,记下来方便自己以后复习。1、应用场景 假设要处理爬虫趴下来的内容,你就需要发这些内容进行去噪,例如:取格式化html标签,去页面脚本,去敏感信息等等,如果将这些过滤内容都写在一个方法中,那么势必造成代码耦合性强,如果以后不断的添加内容,将造成很大的维护成本。 所以,我们需要把变化的内容抽取出来定义为接
2015-01-26 17:13:58 1524
原创 Mybatis使用generator自动生成映射配置文件信息
使用mybatis配置映射文件比较的麻烦,但是有自动生成jar工具,方便加速开发速度,下面主要是该工具的使用以及相关的配置。 1、下载相关的资源 我们需要下载mybatis-generator-core-1.3.2.jar,mysql-connector-java-5.1.34.jar(对应相关数据库的驱动包),generator.xml(配置文件) 我
2015-01-24 17:51:17 24598 13
原创 SpringMVC结合ajaxfileupload文件无刷新上传
jQuery没有提供ajax的文件上传,我们可以通过ajaxfileupload实现ajax文件的上传。其实ajaxfileupload文件上传特别的简单。下面就演示一下在SpringMVC中实现ajax的文件上传。 1、后台接收代码 首先在spring的配置文件中添加文件上传配置 再写文件接收的代码
2015-01-24 10:32:50 4296 8
原创 Maven环境搭建和介绍
最近项目弄完了,有好多时间,准备把以前的知识复习一遍,以便日后更好的使用,先从maven搭建开始,然后再搭建以下SSH+mybatis的框架,弄完了在学学Hadoop分布式相关的东西。 安装前先配置好电脑的相关环境变量。 一、配置maven的环境 下载地址: http://maven.apache.org/download.cgi(window下载(B
2015-01-23 11:45:13 33432 10
原创 Redis的高级应用-事务处理、持久化、发布与订阅消息、虚拟内存使用
三、事务处理 Redis的事务处理比较简单。只能保证client发起的事务中的命令可以连续的执行,而且不会插入其他的client命令,当一个client在连接中发出multi命令时,这个连接就进入一个事务的上下文,该连接后续的命令不会执行,而是存放到一个队列中,当执行exec命令时,redis会顺序的执行队列中的所有命令。如果其中执行出现错去,执行正确的不会回滚,次不同于关
2015-01-22 11:53:47 1845
原创 Redis的高级应用-安全性和主从复制
Redis的服务器命令和键值命令(String,Hash,List,Set,Zset)相对简单,只需查看文档即可。 主要学习Redis一下几个高级应用:1 安全性设置, 2 主从复制,3 事务处理, 4 持久化机制,5 发布与订阅消息,6 虚拟内存的使用 一、安全性 设置在客户端连接是需要指定的密码(由于redis速度相当的快,一秒钟可以150K次的密码尝试,所以 二、主从复制 Redis的主从复制配置和使用都比较简单,通过主从复制可以允许多个slave
2015-01-21 22:14:25 1612
原创 Sql语句优化-查询两表不同行NOT IN、NOT EXISTS、连接查询Left Join
在实际开发中,我们往往需要比较两个或多个表数据的差别,比较那些数据相同那些数据不相同,这时我们有一下三种方法可以使用:1. IN或NOT IN,2. EXIST或NOTEXIST,3.使用连接查询(inner join,left join 或者 right join)。看下面的数据,我们准备选择出在depart_info中的pid在user_info中不存在的depart_信息。有表1
2015-01-21 16:23:16 12524
原创 Linux系统Ubuntu下部署Tomcat
相比于window下安装tomcat,Ubuntu下相对也挺简单,但是网上大都写的太复杂,下面是我安装的过程,记下来供大家参考。 其实在Ubuntu和window下安装大同小异,不需要你make编译安装,只需解压启动就行。 1. 安装JDK配置环境变量(见上文,不在啰嗦) 2. 下载tomcat(官网下载tar.gz格式的),一般下载到了ubuntu中 /home/
2015-01-19 16:58:32 1636
原创 window和Linux下安装JDK配置环境变量
JDK的环境变量的安装,记录一下,以便方便忘记看,主要是window和ubuntu系统下的安装和环境变量的配置JDK下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html下载对应系统的JDK一、Window下安装JDK配置环境:安装很简单,选择存放目录就行,基本上一
2015-01-19 14:49:21 1416
原创 NoSql数据库Redis的在ubuntu下的部署使用
一、Redis的简介: NoSql 及No Only SQL,是高并发,超大数据存在,不同于关系型数据库。拥有:非关系型,分布式,开源的,可水平扩展。 Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的
2015-01-16 20:25:26 1571
原创 JQuery控制div外点击隐藏,div内点击不会隐藏
比如有个div其id为body,实现在div外点击隐藏,div内点击不隐藏,采用jQuery实现如下: $("#body").click(function(e) { $(this).show(); e.stopPropagation(); }); $(document).click(function(event) { $("#body").hide(); });
2015-01-13 11:58:35 3158
原创 SpringMVC传递数组请求问题
在使用SpringMVC时,我们想传递数组引用类型,SpringMVC对数组传递有些限制:经过测试:SpringMVC支持一维数组的参数传递,不支持多维数组的参数传递,如果想传递多维数组,那么我们只好改用其他的办法如:1、将多维数组拆成一维数组;2、将多维数组改为集合传递;3、或者改为字符串,接收时间处理一下等等,方法很灵活。1 SpringMVC传递一维数组:传递数组类型时,需要在@requestParam()中添加value,否则会出现HTTP Status 400 - Required lon
2014-12-24 13:00:03 5187
原创 Android开发之实现图片自动滚动显示标签的ViewPager
Android中实现图片自动滚动的效果非常的常见,我们可以自己动画去实现功能。但是在Android中提供了一个ViewPager类,实现了滚动效果,在Android的extras目录下android-support-vx.jar中,x代表版本4,7等等。使用时我们需要android.support.v4.view.ViewPager的viewPager标签
2014-12-20 18:09:59 4229 3
原创 SpringMVC整合Quartz实现定时任务和Spring自带Task定时任务
在java中我们常用Timer和TimerTask实现定时功能,而在JavaEE项目中可以使用Spring整合Quartz定时器、Spring的Task任务。相比于Spring自带的任务,Quartz非常的强大,能够实现所有想要的定时任务,包括Tomcat服务器开始启动,定时定点定周,集群定时任务等等的任务,有关Quartz的介绍和时间配置网上有很多的资料,就不在累赘,下面主要介绍SpringMVC整合Quartz的实现步骤。
2014-12-11 14:20:28 19433 9
原创 JMX实现远程服务器Tomcat系统监控之三
JMX对Tomcat远程服务器监控,配置用户名密码,实现如下 1、编辑Tomcat/bin中的catalina.bat。如果配置权限,需要将autenticate设置为true,将1中的下面两行代码添加到最上面一行,注意:这些所有的命令必须在一行!。 2、在Tomcat/conf目录下新建两个文件:jmxremote.access和jmxremote.password 第一个文件存的是角色信息,第二个存放的是密码信息(可修改)。配置完上面信息后:我们启动tomcat时,To
2014-12-05 11:47:10 4895
原创 Android开发之实现多次点击事件
在Android中给我们提供了单次点击事件。但并没有给我们提供双击,或者实现在一定时间内的多次事件。所以需要我们自己在单机监听上进行修改实现。有如下两种实现方式: 1、定义一个存贮上一个第一次点击的变量,如果两次时间间隔小于500毫秒,则认为是双击时间。 2、使用Google提供的api中采用的算法。System.currentTimeMillis()、SystemClock.uptimeMillis、 SystemClock.uptimeMillis 的区别
2014-12-02 17:38:20 5719
原创 Android开发之来电电话挂断实现
在Android1.5版本之前,实现挂断电话是非常容易的事,只需要调用TelephonyManager的endCall()方法就可以了,但在1.5版本之后,Google工程师为了手机的安全期间,把endCall的方法隐藏掉了。所以实现挂断电话可以通过反射的方法,执行endCall方法。具体实现如下:TelephonyManager在源码里是这样描述的:Context.getSystemService(Context.TELEPHONY_SERVICE)},我们通过TELEPHONY_SERVICE系统服
2014-11-30 19:04:32 3079 2
原创 Android开发之ListView中Adapter的优化
ListView是Android开发最常用的控件,适配器adapter是将要显示的数据映射到View中并添加到ListView中显示在实现ListView时,我们需要定义适配器如BaseAdapter、ArrayAdapter、CursorAdapter、SimpleAdapter等,并且重写其一下四个方法: 所以针对上述,可以对ListView使用的Adapter做两方面的优化: 1、 减少内存中View对象的创建次数个数。 2、减小view中对应控件查找的次数。
2014-11-26 23:02:26 1596
原创 Java中String、StringBuffer和StringBuilder的区别和堆栈内存分配
Java中的String类是一个很常用,但最不注意其细节的类,因此大多数面试会那这个类做文章。比如String str = new String("hello");开辟了几个内存空间,String和StringBuffer的区别等等。下面就做一个我的理解:String是一个被final修饰的类,它是不能被继承的。StringBuffer也是被final修饰的类。一、JVM内存划分 在java中主要存在4块内存,这些内存空间分别为:栈内存空间、堆内存空间、全局数据区、全局代码区也可以这么说:所
2014-11-25 17:08:36 9932 8
原创 Java网络编程之TCP、UDP
Java网络编程提供了两种协议:TCP(传输控制协议)和UDP(数据报协议)。TCP(Transmission Control Protocol)是一种可靠的传输协议,传输时会采用“三次握手”端的方式建立连接,以保证数据的可靠性和安全性;而UDP(User Datagram Protocol)协议是一种不可靠的传输协议,发送的数据不一定能够接受的到,网上的聊天是工具一般采用的此协议。下面将详细的接受TCP和UDP的使用以及相应的编码。一、TCP网络通信二、UDP网络通信
2014-11-25 15:23:46 1486
原创 Java网络编程之URL、URLConnection、URLEncoder、URLDecoder
在java的网络编程中让我们获取一个网络地址的志愿
2014-11-24 16:49:47 2058
原创 Java枚举enum使用及相关的操作
在Java1.5之后,引入了枚举新的特性,在之前,java有两种定义新类型的方式:类和接口。但是在特殊情况下,满足不了我们的需求,比如我们定义一个Color类,它只能有Red,Blue,Green三种值,对于其他的值来说都是无效的。为引入枚举之前,我们一般使用其私有化其构造方法,然后在其内部实例化三个常量,然后再取值。这样不仅繁琐,而且带来了更多不安全的问题。package andy.enum
2014-11-24 11:57:49 1461
原创 Java主线程等待所有子线程执行完毕再执行解决办法集
Java主线程等待所有子线程执行完毕在执行,其实在我们的工作中经常的用到,比如说主线程要返回一个响应用户的值,但这个值得赋值过程是由过个子线程来完成的(模拟一个实际开发的情景),所以主线程必须等待子线程执行完毕,再响应用户;否则,响应用户的是一个无意义的值。 那么如何确保所有的子线程执行完毕了。一般的有如下方法: 1 让主线程等待,或着睡眠几分钟。用Thread.sleep()或者TimeUnit.SECONDS.sleep(5); 2 使用Thread的join()等待所有的子线程执行完毕,
2014-11-21 23:53:21 6074 3
原创 Android开发之实现锁屏功能
锁屏需要引入设备超级管理员。在文档Android开发文档的Administration中有详细的说明。Android设备管理系统功能和控制访问。主要有一下几个步骤:1 创建广播接收者,实现DeviceAdminReceiverpackage com.andy.lockscreen;import android.app.admin.DeviceAdminReceiver;/**
2014-11-20 23:48:04 3833
原创 Java对象序列化原理以及Serializable接口
Java对象的序列化就是把一个对象变成二进制的数据流的一中方法,通过对象的序列化可以方便的实现对象的传输和存储。原理是:对象------------->转换----------------->将对象转变为二进制的数据 在对象序列化时,只有其属性被序列化(每个对象都具备相同的方法,但是每个对象的属性不一定相同,也就是说对象保存的只有其属性信息)那么一个类的对象要被序
2014-11-20 16:16:19 3711
原创 java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝
接上一篇的字节流,下面主要介绍字符流,字符流和字节流的区别以及文件复制拷贝。在程序中一个字符等于两个字节,而一个汉字占俩个字节(一般有限面试会问:一个char能否存下一个汉字,答案当然是能了,一个char和一汉字一样都占两个字节),一般用字节流如果定义为奇数个长度是,那么存储汉字时会有乱码问题,Java提供了Reader和Writer两个专门操作字符流的类。1 Writer 字符输出流
2014-11-19 17:59:14 3428
原创 java IO之字节流和字符流-OutputSteam和InputStream
java中的IO流分为字节流和字符流;每种流又分输入流和输出流。先来说一下输入流和输出流:输入输出是针对程序内存而言,那么输入就是向内存写入数据;输出就是从程序内存写出数据。 字节流直接文件数据。字符流则是通过字节写入到缓存,再通过缓存区操作数据。字节流的父类为InputStream(输入流)和OutputStream(输出流)。
2014-11-19 12:38:10 4721 1
原创 Android开发之获取手机通讯录
获取手机通讯录是Android最常用的小功能,今天自学到了,记下来,主要是通过系统自带的内容提供者提供的数据,我们使用内容接收者获取相应的数据到cursor中,然后获取对应data表中的字段,相关字段代表什么含义,只能自己去查了。下面是手机通讯录列表的代码,仅供参考:package com.andy.phonecontact;import java.util.ArrayList;im
2014-11-18 23:23:24 3939
原创 Java数组去掉重复的方法集
经常用到,有时候不只是简单的基本类型,那种可以用set集合去重,好多时间用到的是我们自定义的类型,下面举个例子(我这儿就那int举例了):方法一、 这种类似与选择排序算法,首先我们取i值,然后将i之后的所有重复的去掉。具体实现如下:import java.util.List;import java.util.concurrent.CopyOnWriteArrayList;/** *
2014-11-18 16:06:16 4031 3
原创 javascript框架echarts插件实现超酷人立方效果图
最近由于项目需求,需要做一个类似人立方效果的网络关系效果,在查询许多文档后,发现百度出echarts开源组件非常的适合,而且加载速度很棒,echarts图形主要是使用html5的新特性的做的,使用到了canvas画板等。下面是我自己实现的一些过程和经验,供大家参考。这里是echarts的网站:http://echarts.baidu.com/doc/example.html里面有详细的使用
2014-11-17 14:45:31 4144
原创 Android开发之自定义UI组件和属性
Android系统虽然自带了很多的组件,但肯定满足我们个性化的需求,所以我们为了开发方便,需要自定义Android的UI组件,以实现我们个性化的需求。自定义组合控件的步骤:1 、自定一个View,需要继承相对布局,线性布局等ViewGroup的子类。ViewGroup是一个其他控件的容器,能够乘放各种组件。2 、实现父类的3个构造方法。一般需要在构造方法里始化初自定义布局文件。
2014-11-16 11:26:37 2232
原创 多线程之操作CopyOnWriteArrayList解决Iterator迭代器产生java.util.ConcurrentModificationException
当我们运行如下代码时:package andy.thread.test;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class CollectionModifyExceptionTest { public static void main(Strin
2014-11-09 21:27:34 4925 1
原创 多线程之阻塞队列ArrayBlockingQueue,BlockingQueue
ArrayBlockingQueue是个有数组支持的有界的阻塞队列。该队列按照先进先出FIFO的原理对元素排序,插入新元素市场队列的尾部,获取新元素是操作队列的开始处。一旦见了建立了缓存区,就不能再增加其容量,试图从已满的队列中方式元素会导致操作阻塞;试图从空的队列中提取元素将导致阻塞。提拱了四种方法,只有put(),take()才会发生阻塞。下面是阻塞队列的例子。packag
2014-11-09 18:05:34 1312
原创 多线程之CountDownLatch工具类
CountDownLatch 是一个通用同步工具,它有很多用途。将计数 1 初始化的 CountDownLatch 用作一个简单的开/关锁存器,或入口:在通过调用countDown() 的线程打开入口前,所有调用 await 的线程都一直在入口处等待。用 N 初始化的 CountDownLatch 可以使一个线程在N 个线程完成某项操作之前一直等待,或者使其在某项操作完成 N 次之前一
2014-11-09 14:45:56 1322
原创 多线程之CyclicBarrier工具类和Exchanger工具类
CyclicBarrier一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。CyclicBarrier 支持一个可选的 Runnable 命令
2014-11-09 14:25:16 809
原创 多线程之实现同步的信号量Semaphore
Semaphore是JDK1.5之后出的一个实现同步的另一个方式。Semaphore可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程数。假如你有3个资源,有10个线程要使用该资源,同时只能有3个线程使用,所以其余7线程在等待,只要3个中任意一个释放资源,那么7个线程中的一个就可以使用了。 另外,7个线程等待可以使随机获取机会,也可以是按
2014-11-09 14:03:51 1414
原创 多线程之线程通信条件Condition二
Condition另一种应用。ondition是Locks锁下的另一种线程通信之间唤醒、阻塞的实现。它下面的await,和signal能够实现Object下的wait,notify和notifyAll的全部功能,除此之外改监视器和已绑定到每个条件,可以实现多条件的监听。Condition实质是被绑定到一个锁上,腰围特定的Lock实例获得Condition,即用 newCondition()方法。Condition下的await()相对于Object下的wait(); 阻塞或中断之前状况,让其处于等待状态
2014-11-09 12:41:47 1142
支付宝支付-APP支付服务端代码下载
2017-01-01
Java微信支付-微信App支付服务端源代码
2016-11-18
Java微信支付-微信企业付款到个人
2016-11-17
分布式session分享tomcat-redis-session-manager-master
2016-01-25
Maven搭建spring_struts2_Hibernate_demo
2015-03-01
springmvc_hibernate_security_demo
2015-02-13
Maven搭建SpringMVC+Hibernate项目源码
2015-02-08
Maven搭建SpringMVC+Mybatis项目源码
2015-01-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人