自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

转载 代理模式和装饰模式的差别

学了代理模式之后发现代理模式和装饰模式非常的相似,代理类和被代理的客户实现同一个接口,装饰者和被装饰者也是实现的同一个接口,实现方式也类似。搜索之,得到结论:代理模式主要是控制对某个特定对象访问,而装饰模式主要是为了给对象添加行为。所以两类的设计模式的代码还是有一些差别。下面代码来着网上,做了一些修改,原网址http://www.cnblogs.com/jaredlam/archive/201

2016-03-31 21:51:21 3683 2

原创 leetCode 41. First Missing Positive

41. First Missing PositiveGiven an unsorted integer array, find the first missing positive integer.For example,Given [1,2,0] return 3,and [3,4,-1,1] return 2.Your algorithm should ru

2016-03-27 22:04:31 679

原创 leetcode 287. Find the Duplicate Number,数组中找重复的数

287. Find the Duplicate NumberGiven an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), prove that at least one duplicate number must exist. Assume that th

2016-03-27 21:09:43 2751

原创 LeetCode 50. Pow(x, n),求幂算法

50. Pow(x, n)Implement pow(x, n).这道题求x的n次幂,用二分法,时间复杂度logn,注意区分n public double myPow(double x, int n) { if(n==0) return 1.0; else if(n<0) return 1/pow(x,-

2016-03-27 16:24:26 1131

原创 LeetCode 69. Sqrt(x),求根算法

69. Sqrt(x)Implement int sqrt(int x).Compute and return the square root of x.Subscribe to see which companies asked this question这道题要找x的平方根,x的平方根肯定小于x/2。要在[1,x/2]有序序列当中找一个数,用二分法:

2016-03-27 15:28:01 2209

原创 int转换成二进制字符串

1.位移运行     对于JAVA要想将整型转换成二进制数可以直接使用包装类的toBinaryString方法,如Integer.toBinaryString(int i),该方法利用的是位运算,JDK源码如下: public static String toBinaryString(int i) { return toUnsignedString(i, 1);

2016-03-26 18:29:41 11340

原创 Java String为什么是不可变类,StringBuffer与StringBuilder区别

熟悉Java的都知道String类是不可变,但String类为什么设计成不可变类,如何做到不可变没有仔细想过。String为什么设计成不可变类?1.Java字符串池的设计方式。    String s1="abc";String s2="abc";   Java通过字符串池的设计方式节省内存空间,如上面一段代码只会生成一个对象放在常量池当中。s1和s2都指向这个对象,如果Stri

2016-03-10 15:15:09 5077 1

原创 java assert断言的用法

assert关键字是在JDK1.4才被添加,用于程序的调试。用户有两种1.assert expressionexpression是逻辑运算表达式,如果expression为true,表示断言成功,程序继续执行。如果为false,会抛出AssertionError,AssertionError继承Error类,Error类与我们经常用到的Exception类都是集成于Throwable类。

2016-03-07 10:55:25 20092 2

原创 java sleep(),wait(),notify()函数区别

Java中的sleep()和wait()函数都可以挂起当前线程,是当前当前线程不运行,但实现方式不一样。首先sleep是Thread类的方法静态方法,必须通过Thread类调用。设置时间后,线程进入阻塞池,如果在Synchronizeed代码段中,挂起的线程不会释放对象锁。wait是Object类中的方法,调用后,线程进入对象的等待锁定池中,必须通过调用notify()才可以进入锁定池中等

2016-03-04 16:39:28 2711

原创 java 多线程实现方式Thread和Runnable之间差异

java中实现多线程的方式有两种,1种是继承Thread类,1种是实现Runable接口。平常我们是通过Runnable方式实现多线程,其实Thread也是实现的Runnable接口。可以查看Thread的源码。1 public class Thread implements Runnable{2 3 }通过继承Thread的方式,只需要继承Thread类,然后重写run方法,

2016-03-01 11:04:05 1204

空空如也

空空如也

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

TA关注的人

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