自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Andyの笔记

人生在勤,不索何获。

  • 博客(31)
  • 资源 (14)
  • 收藏
  • 关注

原创 Android开发之来电电话挂断实现

在Android1.5版本之前,实现挂断电话是非常容易的事,只需要调用TelephonyManager的endCall()方法就可以了,但在1.5版本之后,Google工程师为了手机的安全期间,把endCall的方法隐藏掉了。所以实现挂断电话可以通过反射的方法,执行endCall方法。具体实现如下:TelephonyManager在源码里是这样描述的:Context.getSystemService(Context.TELEPHONY_SERVICE)},我们通过TELEPHONY_SERVICE系统服

2014-11-30 19:04:32 3073 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 1594

原创 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 9931 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 2057

原创 Java枚举enum使用及相关的操作

在Java1.5之后,引入了枚举新的特性,在之前,java有两种定义新类型的方式:类和接口。但是在特殊情况下,满足不了我们的需求,比如我们定义一个Color类,它只能有Red,Blue,Green三种值,对于其他的值来说都是无效的。为引入枚举之前,我们一般使用其私有化其构造方法,然后在其内部实例化三个常量,然后再取值。这样不仅繁琐,而且带来了更多不安全的问题。package andy.enum

2014-11-24 11:57:49 1460

原创 Java主线程等待所有子线程执行完毕再执行解决办法集

Java主线程等待所有子线程执行完毕在执行,其实在我们的工作中经常的用到,比如说主线程要返回一个响应用户的值,但这个值得赋值过程是由过个子线程来完成的(模拟一个实际开发的情景),所以主线程必须等待子线程执行完毕,再响应用户;否则,响应用户的是一个无意义的值。 那么如何确保所有的子线程执行完毕了。一般的有如下方法: 1 让主线程等待,或着睡眠几分钟。用Thread.sleep()或者TimeUnit.SECONDS.sleep(5); 2 使用Thread的join()等待所有的子线程执行完毕,

2014-11-21 23:53:21 6073 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 3710

原创 java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝

接上一篇的字节流,下面主要介绍字符流,字符流和字节流的区别以及文件复制拷贝。在程序中一个字符等于两个字节,而一个汉字占俩个字节(一般有限面试会问:一个char能否存下一个汉字,答案当然是能了,一个char和一汉字一样都占两个字节),一般用字节流如果定义为奇数个长度是,那么存储汉字时会有乱码问题,Java提供了Reader和Writer两个专门操作字符流的类。1 Writer 字符输出流

2014-11-19 17:59:14 3426

原创 java IO之字节流和字符流-OutputSteam和InputStream

java中的IO流分为字节流和字符流;每种流又分输入流和输出流。先来说一下输入流和输出流:输入输出是针对程序内存而言,那么输入就是向内存写入数据;输出就是从程序内存写出数据。 字节流直接文件数据。字符流则是通过字节写入到缓存,再通过缓存区操作数据。字节流的父类为InputStream(输入流)和OutputStream(输出流)。

2014-11-19 12:38:10 4719 1

原创 Android开发之获取手机通讯录

获取手机通讯录是Android最常用的小功能,今天自学到了,记下来,主要是通过系统自带的内容提供者提供的数据,我们使用内容接收者获取相应的数据到cursor中,然后获取对应data表中的字段,相关字段代表什么含义,只能自己去查了。下面是手机通讯录列表的代码,仅供参考:package com.andy.phonecontact;import java.util.ArrayList;im

2014-11-18 23:23:24 3936

原创 Java数组去掉重复的方法集

经常用到,有时候不只是简单的基本类型,那种可以用set集合去重,好多时间用到的是我们自定义的类型,下面举个例子(我这儿就那int举例了):方法一、 这种类似与选择排序算法,首先我们取i值,然后将i之后的所有重复的去掉。具体实现如下:import java.util.List;import java.util.concurrent.CopyOnWriteArrayList;/** *

2014-11-18 16:06:16 4029 3

原创 javascript框架echarts插件实现超酷人立方效果图

最近由于项目需求,需要做一个类似人立方效果的网络关系效果,在查询许多文档后,发现百度出echarts开源组件非常的适合,而且加载速度很棒,echarts图形主要是使用html5的新特性的做的,使用到了canvas画板等。下面是我自己实现的一些过程和经验,供大家参考。这里是echarts的网站:http://echarts.baidu.com/doc/example.html里面有详细的使用

2014-11-17 14:45:31 4139

原创 Android开发之自定义UI组件和属性

Android系统虽然自带了很多的组件,但肯定满足我们个性化的需求,所以我们为了开发方便,需要自定义Android的UI组件,以实现我们个性化的需求。自定义组合控件的步骤:1 、自定一个View,需要继承相对布局,线性布局等ViewGroup的子类。ViewGroup是一个其他控件的容器,能够乘放各种组件。2 、实现父类的3个构造方法。一般需要在构造方法里始化初自定义布局文件。

2014-11-16 11:26:37 2232

原创 Android开发之手机定位

手机定位基于以下三种方式:

2014-11-14 22:57:18 3209

原创 多线程之操作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 4924 1

原创 多线程之阻塞队列ArrayBlockingQueue,BlockingQueue

ArrayBlockingQueue是个有数组支持的有界的阻塞队列。该队列按照先进先出FIFO的原理对元素排序,插入新元素市场队列的尾部,获取新元素是操作队列的开始处。一旦见了建立了缓存区,就不能再增加其容量,试图从已满的队列中方式元素会导致操作阻塞;试图从空的队列中提取元素将导致阻塞。提拱了四种方法,只有put(),take()才会发生阻塞。下面是阻塞队列的例子。packag

2014-11-09 18:05:34 1311

原创 多线程之CountDownLatch工具类

CountDownLatch 是一个通用同步工具,它有很多用途。将计数 1 初始化的 CountDownLatch 用作一个简单的开/关锁存器,或入口:在通过调用countDown() 的线程打开入口前,所有调用 await 的线程都一直在入口处等待。用 N 初始化的 CountDownLatch 可以使一个线程在N 个线程完成某项操作之前一直等待,或者使其在某项操作完成 N 次之前一

2014-11-09 14:45:56 1320

原创 多线程之CyclicBarrier工具类和Exchanger工具类

CyclicBarrier一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。CyclicBarrier 支持一个可选的 Runnable 命令

2014-11-09 14:25:16 808

原创 多线程之实现同步的信号量Semaphore

Semaphore是JDK1.5之后出的一个实现同步的另一个方式。Semaphore可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程数。假如你有3个资源,有10个线程要使用该资源,同时只能有3个线程使用,所以其余7线程在等待,只要3个中任意一个释放资源,那么7个线程中的一个就可以使用了。     另外,7个线程等待可以使随机获取机会,也可以是按

2014-11-09 14:03:51 1412

原创 多线程之线程通信条件Condition二

Condition另一种应用。ondition是Locks锁下的另一种线程通信之间唤醒、阻塞的实现。它下面的await,和signal能够实现Object下的wait,notify和notifyAll的全部功能,除此之外改监视器和已绑定到每个条件,可以实现多条件的监听。Condition实质是被绑定到一个锁上,腰围特定的Lock实例获得Condition,即用 newCondition()方法。Condition下的await()相对于Object下的wait(); 阻塞或中断之前状况,让其处于等待状态

2014-11-09 12:41:47 1141

原创 多线程之线程通信条件Condition

Condition是Locks锁下的另一种线程通信之间唤醒、阻塞的实现。它下面的await,和signal能够实现Object下的wait,notify和notifyAll的全部功能,除此之外改监视器和已绑定到每个条件,可以实现多条件的监听。Condition实质是被绑定到一个锁上,腰围特定的Lock实例获得Condition,即用 newCondition()方法。Condition下的aw

2014-11-09 12:03:58 1546 1

原创 多线程之使用读写锁ReentrantReadWriteLock实现缓存系统

简单地缓存系统:当有线程来取数据时,如果该数据存在我的内存中,我就返回数据;如果不存在我的缓存系统中,那么就去查数据库,返回数据的同时保存在我的缓存中。其中涉及到读写问题:当多个线程执行读操作时(都加读锁),如果有数据返回;如果没有数据时,则让第一个读的线程,进行获取数据,然后进行写操作,这时需要第一个线程先释放掉读锁然后加写锁。第一个写完后,在家读锁,其他线程使用时判断,如果存在该数据,在直

2014-11-09 10:02:21 2526 1

原创 多线程之Lock锁和读写锁ReadWriteLock

JDK1.5之后有提供了另一种加锁方式Lock锁。Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。此实现允许更灵活的结构,可以具有差别很大的属性,可以支持多个相关的Condition 对象。锁是控制多个线程对共享资源进行访问的工具。通常,锁提供了对共享资源的独占访问。一次只能有一个线程获得锁,对共享资源的所有访问都需要首先获得锁。不过,某些锁可能允许对共享资源并发访问,如ReadWriteLock 的读取锁。synchronized 方法或语句的使用提供了对与每

2014-11-08 23:49:21 2661

原创 多线程之同步Synchronized

在java中synchronized是多个线程共享同一段代码的锁。当有多个线程并发执行同一块代码块时,加锁可以让一段时间内只有一个线程在执行,保证了业务的原子操作。例如下面:package andy.thread.traditional.test;/** * @author Zhang,Tianyou * @version 2014年11月8日 下午11:02:53 */

2014-11-08 23:27:32 1133

原创 多线程之线程池Executor应用

JDK1.5之后,提供了自带的线程池,以便我们更好的处理线程并发问题。Executor类给我提供了多个线程池创建的方式:   创建固定的线程池 Executors.newFixedThreadPool(2)   创建可变的缓冲线程池 Executors.newCachedThreadPool()   创建单一的线程池 Executors.newSingleThreadExecuto

2014-11-08 18:39:38 1245

原创 多线程之线程范围内的数据共享ThreadLocal

如果多个线程使用同一个数据,那么如何保证线程范围内的数据共享。我们可以使用一个map来存储当前线程,以及其数据如下:package andy.thread.traditional.test;import java.util.HashMap;import java.util.Map;import java.util.Random;/** * @author Zhang,Tian

2014-11-08 16:43:04 1586

原创 算法之堆排序

堆排序详解,Java代码实现。包括:大顶堆和小顶堆的排序。

2014-11-07 23:02:28 1463

原创 JMX实现远程服务器Tomcat系统监控之二

JMX实现远程服务器端的包括CPU占用率,堆信息,非堆信息,类加载,内存使用情况等统计,第二种实现方式

2014-11-07 16:35:36 2327 1

原创 JMX实现远程服务器Tomcat系统监控之一

JMX实现远程服务器端的包括CPU占用率,堆信息,非堆信息,类加载,内存使用情况等统计。

2014-11-07 16:18:32 4026

支付宝支付-APP支付服务端代码下载

实现支付宝APP支付、订单查询、支付结果异步通知、APP支付申请参数说明,以及服务端返回APP端发起支付的签名 文章地址:http://blog.csdn.net/fengshizty/article/details/53215196

2017-01-01

Java微信支付-微信App支付服务端源代码

微信支付-微信app支付java服务器端代码 实现功能:微信支付 支付查询 申请退款 退款查询 微信服务器端异步支付结果通知 参考博文:http://blog.csdn.net/fengshizty/article/details/53199356

2016-11-18

Java微信支付-微信企业付款到个人

微信支付企业付款到个人,包括付款 以及 查询 参考文章http://blog.csdn.net/fengshizty/article/details/53204566

2016-11-17

分布式session分享tomcat-redis-session-manager-master

tomcat-redis-session-manager-master为tomcat集群分布式session分享功能,详细信息见http://blog.csdn.net/fengshizty?viewmode=list对应内容

2016-01-25

Maven搭建spring_struts2_Hibernate_demo

Maven搭建spring_struts2_Hibernate项目源码,包括数据库,博客地址:http://blog.csdn.net/fengshizty/article/details/43794911

2015-03-01

springmvc_hibernate_security_demo

springmvc_hibernate_security项目搭建源码,包括数据库。 博文地址:http://blog.csdn.net/fengshizty/article/details/43732815

2015-02-13

Maven搭建SpringMVC+Hibernate项目源码

Maven搭建SpringMVC+Hibernate项目源码,包括Hibernate二级缓存Ehcache的搭建等等,博文地址:http://blog.csdn.net/fengshizty/article/details/43635305

2015-02-08

Maven搭建SpringMVC项目源码

Maven搭建SpringMVC项目源码

2015-02-02

Maven搭建SpringMVC+Mybatis项目源码

Maven搭建SpringMVC+Mybatis项目源码,包含数据库,文章地址:http://blog.csdn.net/fengshizty/article/details/43086961

2015-01-29

JMX 远程服务器信息监控

使用JMX实现对远程服务器端的信息监控:包括CPU,内存,加载类,堆信息等数据

2014-11-07

Sigar Java实现系统监控

使用Sigar实现系统服务器端的监控,里面包括实现的代码以及用到的sigar所有的包和库

2014-11-07

Java开发实战经典(名师讲坛).rar

Java开发实战经典(名师讲坛).rar 非常的详细,而且有目录,对于学习java基础的是非常好的选择

2013-04-29

软件设计师(05-08)真题与答案

软件设计师(05-08)真题与答案,答案和题都进行了详细的分类,

2012-10-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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