Java开发
文章平均质量分 61
Rebirth_Love
这个作者很懒,什么都没留下…
展开
-
[转载]Java中的static关键字解析
Java中的static关键字解析转载 2016-01-28 15:46:44 · 765 阅读 · 0 评论 -
Timer和handler的使用
Timer的使用很简单:查看源码,可以看出来TimerTask是一个实现Runnable的任务而已;而Timer也就是继承Thread实现的线程控制。但是如上图的代码,在三星手机(操作系统为4.3)上运行没有效果(原因还没有找到,有知道的朋友可以告诉我。谢谢),在nexus(5.0)、小米(6.0)能实现希望的效果,即循环每1s发送消息。另外,在三星手机上将时间改为3000ms,则原创 2016-06-16 20:05:32 · 684 阅读 · 0 评论 -
代理模式与装饰模式的理解
参考文章:http://blog.csdn.net/hust_is_lcd/article/details/7884320http://www.cnblogs.com/jaredlam/archive/2011/11/08/2241089.htmlhttp://blog.csdn.net/hitprince/article/details/6794748原创 2016-07-12 23:56:25 · 371 阅读 · 0 评论 -
java之clone方法的使用
首先看一下jdk中对clone方法的解释:大概意思是说:返回一个要克隆对象的副本,克隆的类型依赖被克隆对象,换句话说:克隆后的对象类型与被克隆对象的类型相同。一、简单用法只需要在需要clone的对象上实现(implements)Cloneable接口,然后再在类中加上clone方法,在方法中只需要调用super.clone(),根据自己的需要实现即可。public cl原创 2016-06-30 20:03:50 · 17032 阅读 · 4 评论 -
java8新特性--类型推断的理解(泛化目标类型推断)
简单理解泛型泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。通俗点将就是“类型的变量”。这种类型变量可以用在类、接口和方法的创建中。理解Java泛型最简单的方法是把它看成一种便捷语法,能节省你某些Java类型转换(casting)上的操作:List box = new ArrayList();box.add(new A原创 2016-06-30 15:30:44 · 1130 阅读 · 0 评论 -
Java ConcurrentModificationException异常原因和解决方法
文章参考自:http://www.cnblogs.com/dolphin0520/p/3933551.html 对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。 以下是本文目录大纲: 一.Concurr转载 2016-07-22 21:47:00 · 495 阅读 · 0 评论 -
LinkedBlockingQueue的offer与put的区别
首先,看一下LinkedBlockingQueue的put方法的源码:/** * Inserts the specified element at the tail of this queue, waiting if * necessary for space to become available. * * @throws InterruptedExc原创 2016-07-22 19:57:23 · 5789 阅读 · 0 评论 -
java之详解匿名内部类
为什么要使用内部类?在《Think in java》中有这样一句话:一般来说,内部类继承自某个类或实现某个接口,内部类的代码操作创建它的外围类的对象,所以可以认为内部类提供了某种进入其外围类的窗口。使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。使用内部类最大的优点就在于它能够非常好的解决多重继承的问题。转载 2016-06-25 19:30:21 · 383 阅读 · 0 评论 -
java实现算法之堆排序
本文参考文章:http://blog.csdn.net/morewindows/article/details/6709644堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或原创 2016-05-08 19:18:41 · 1541 阅读 · 0 评论 -
Java1.8之ConcurrentHashMap源码
hashtable与hashmap的区别联系:http://www.importnew.com/7010.htmlConcurrentHashMap:http://www.cnblogs.com/ITtangtang/p/3948786.html;http://www.cnblogs.com/yydcdut/p/3959815.html原创 2016-04-16 16:47:41 · 430 阅读 · 0 评论 -
java活动对象学习总结
本文参考自:http://blog.csdn.net/zcc_0015/article/details/15502813一、活动对象定义: 活动对象工作在对象级别而不像其他设计模式工作在对象继承层级关系中。它将方法的调用和其实际的执行解耦,方法的执行位于对象本身的控制线程中,因而也不会阻塞调用者。总的说来,活动对象模式有6个元素:1.代理。以公共方法的方式向客户对转载 2016-07-18 21:26:59 · 1577 阅读 · 0 评论 -
eclipse导入myeclipse项目
1打开eclipse,点击空白处,右键可以看到import>general>existing projects into workspace>next>选择你的myeclipse web项目,最后finish.2如果有错,大概是出现的jdk、或编码错误、或jar包问题,改正完毕后;打开widnow>show view>nagitgor>找到你的导入项目>.s转载 2017-05-21 23:24:21 · 665 阅读 · 0 评论 -
创建mavenweb项目
一.创建项目1.Eclipse中用Maven创建项目上图中Next 2.继续Next 3.选maven-archetype-webapp后,next 4.填写相应的信息,Packaged是默认创建一个包,不写也可以 5.创建好项目后,目录如下:至此,项目已经创建完毕,下边转载 2016-12-13 15:58:47 · 583 阅读 · 0 评论 -
算法之希尔排序
希尔排序的实质就是分组插入排序,该方法又称缩小增量排序。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排序在时间效率上比前两种方法有较大提高。原创 2016-05-05 16:23:36 · 342 阅读 · 0 评论 -
Integer的自动拆装箱的陷阱
Integer的自动拆装箱的陷阱(整型数-128到127的值比较问题):1、先看下面的例子:[java] view plain copypackage integerdemo; public class IntegerDemo { public static void main(String[] ar转载 2016-09-01 23:53:05 · 424 阅读 · 0 评论 -
Java中TreeSet与HashSet的对比
我们知道TreeSet与HashSet都实现了Set,Set的特性就是不允许重复的元素。《thinking in Java》中说set必须定义equals方法确保对象的唯一性,但是经过测试貌似不是这样,不知道是不是java1.5以后版本改变后造成的。下面就从唯一性展开问题,先看例子:先来看HashSet:package testsortset;import java.util.Hash原创 2016-08-10 22:14:27 · 2063 阅读 · 0 评论 -
稳定排序和不稳定排序
这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相转载 2016-08-29 16:33:15 · 491 阅读 · 0 评论 -
sun.misc.unsafe类的使用
本文转载自:http://blog.csdn.net/fenglibing/article/details/17138079另一个值得看文章:http://aswang.iteye.com/blog/1741871 Java是一个安全的开发工具,它阻止开发人员犯很多低级的错误,而大部份的错误都是基于内存管理方面的。如果你想搞破坏,可以使用Unsafe这个类。这个类是属于sun转载 2016-07-20 21:38:28 · 444 阅读 · 0 评论 -
ThreadPoolExecutor源码解析(基于Java1.8)
第一部分:ThreadPoolExecutor的继承结构根据上图可以知道,ThreadPoolExecutor是继承的AbstractExecutorService(抽象类)。再来看一下AbstractExecutorService的结构可以发现,AbstractExecutorService实现了ExecutorService,并且ExecutorService继承Executor接原创 2016-07-19 17:51:32 · 4448 阅读 · 1 评论 -
Java实现算法之快速排序
本文参考了:http://blog.csdn.net/morewindows/article/details/6684558快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。原创 2016-05-08 14:21:47 · 3768 阅读 · 0 评论 -
Collections中sort()和Arrays中的sort方法分析
首先从源代码看起:在Collections中提供的sort方法有以下有两种重载第一个重载的定义是:> 表示该方法中传递的泛型参数必须实现了Comparable中的compareTo(T o)方法,否则进行不了sort排序。第二个是提供Comparator(比较手段)。然后再来看list.sort(c)这个方法:default void sort(Comparator c)原创 2016-05-18 22:46:12 · 4538 阅读 · 0 评论 -
java中String对象的intern方法
java中String对象的intern方法原创 2016-02-25 11:09:47 · 1091 阅读 · 0 评论 -
java中常量池的理解
java中常量池的理解转载 2016-02-25 10:26:42 · 620 阅读 · 0 评论 -
Java中HttpURLConnection与HttpClient
Java中HttpURLConnection与HttpClient原创 2016-03-18 16:46:04 · 575 阅读 · 0 评论 -
一个关于static的题目
一个关于static的题目原创 2016-03-07 11:13:12 · 417 阅读 · 0 评论 -
java单例模式
本文装载自:http://www.cnblogs.com/java-my-life/archive/2012/03/31/2425631.html作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。单例模式的结构 单例模式的特点:单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类转载 2016-03-18 09:49:57 · 395 阅读 · 1 评论 -
使用云通讯发送短信的简单的描述
目前,APP注册功能使用手机注册的功能很常见了,下面是我在项目中使用“云通讯”实现的简单的注册功能。(首先你需要“云通讯”网站注册填写相关资料。上边的有个很清晰的demo可以运行。) 首先,我想说说功能的流程。client向服务器端发起请求(提交需要注册的手机号码)----->服务器获得手机号码后,生成验证码,调用云通讯提供的借口(实际上是向云通讯的服务器发起http请求,携带目的原创 2016-03-16 16:46:16 · 2521 阅读 · 0 评论 -
java对比==与equals
java对比==与equals原创 2016-02-02 11:53:37 · 543 阅读 · 0 评论 -
java继承和组合的区别,看两个例子,你就明白了
java继承和组合的区别转载 2016-03-01 15:15:58 · 1106 阅读 · 0 评论 -
Java 泛型数组的问题
Java 不支持泛型数组。也就是说,[java] view plain copyList[] ls = new ArrayList[10]; 是不支持的,而[java] view plain copyList[] ls = new ArrayList[10]转载 2016-03-22 11:58:22 · 405 阅读 · 0 评论 -
ClassNotFoundException 和 NoClassDefFoundError 区别
要区分这两个异常,先要了解类装载的显式和隐式两种方式类装入的方式有两种 —— 显式 或 隐式,两者之间有些细微差异。显式 类装入发生在使用以下方法调用装入的类的时候:•cl.loadClass()(cl 是 java.lang.ClassLoader 的实例)•Class.forName()(启动的类装入器是当前类定义的类装入器)当调用其中一个方法的时候,指定的类(转载 2016-03-23 17:14:24 · 407 阅读 · 0 评论 -
Java实现归并排序
本文参考自:http://blog.csdn.net/morewindows/article/details/6678165归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行原创 2016-05-07 16:24:13 · 540 阅读 · 0 评论 -
java实现顺序查找、二分查找、哈希表查找、二叉排序树查找
java实现顺序查找、二分查找、哈希表查找、二叉排序树查找原创 2016-05-04 16:43:53 · 4092 阅读 · 1 评论 -
JAVA实现二叉树的遍历的非递归算法及递归算法(前序,中序,后序,层次)
/*遍历是对树的一种最基本的运算,所谓遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有结点,使每一个结点都被访问一次,而且只被访问一次。由于二叉树是非线性结构,因此,树的遍历实质上是将二叉树的各个结点转换成为一个线性序列来表示。 设L、D、R分别表示遍历左子树、访问根结点和遍历右子树, 则对一棵二叉树的遍历有三种情况:DLR(称为先根次序遍历),LDR(称为中根次序遍历),LRD (称为后转载 2016-05-04 11:02:59 · 3466 阅读 · 1 评论 -
位操作基础篇之位操作全面总结
原文地址:http://blog.csdn.net/morewindows/article/details/7354571在计算机中所有数据都是以二进制的形式储存的。位运算其实就是直接对在内存中的二进制数据进行操作,因此处理数据的速度非常快。在实际编程中,如果能巧妙运用位操作,完全可以达到四两拨千斤的效果,正因为位操作的这些优点,所以位操作在各大IT公司的笔试面试中一直是个热点转载 2016-05-26 11:45:16 · 452 阅读 · 0 评论 -
java8的Effectively final
参考java官方文档:http://docs.oracle.com/javase/tutorial/java/javaOO/localclasses.html#accessing-members-of-an-enclosing-class在以前的java版本中匿名内部类的参数必须是final的,原因在于保证内部和外部类的数据一致性。因为编译的时候内部类和方法在同一级别上,所以方法中的变量或参数原创 2016-04-16 21:40:05 · 3811 阅读 · 0 评论 -
Java并发包中的同步队列SynchronousQueue实现原理
原文地址:http://ifeve.com/java-synchronousqueue/介绍Java 6的并发编程包中的SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除操作take,反过来也一样。不像ArrayBlockingQueue或LinkedListBlockingQueue,Sy转载 2016-04-13 11:35:42 · 1255 阅读 · 0 评论 -
java开发之CopyOnWriteArrayList
本文装在自:http://ifeve.com/java-copy-on-write/Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,转载 2016-04-12 15:41:56 · 325 阅读 · 0 评论 -
Class.forName和ClassLoader.loadClass的比较
Class.forName和ClassLoader.loadClass的比较原创 2016-03-26 11:34:23 · 883 阅读 · 1 评论 -
局部内部类为什么只能访问final局部变量?
最近读《Effective Java》,其中描述了嵌套类的几种类别:1.静态成员类。他只是位于某个内里而已,与外部类没有一毛钱关系。2.非静态成员类。相当于外部类的成员,使用依赖于外部类的实例。3.匿名类。如:Comparator,Runnable,Thread等。4.局部类。位于方法内部,相当于方法的局部变量。比较难理解的是局部类:1.不能有public、private、protected修饰,...原创 2018-05-23 23:40:57 · 2253 阅读 · 3 评论