自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Chay

Live and Learn

  • 博客(33)
  • 资源 (5)
  • 收藏
  • 关注

原创 博客搬家通知

hi,all 感谢大家的关注,很遗憾的告诉大家,CSDN博客将不再更新,新的博客会发布在简书,欢迎大家继续关注我!点击跳转至我的简书

2016-01-20 13:49:33 490

翻译 《Material Design》设计 - 色彩篇 - UI调色板

调色板以一些基础色为基准,通过填充光谱来为Android、Web和iOS环境提供一套完整可用的颜色。基础色的饱和度是500。Red500#F4433650#FFEBEE100#FFCDD2200#EF9A9A300#E57373400#EF5350500#F44336600#E53935700#D32F2F800#C62828900#B71C

2015-06-20 16:22:16 3966

原创 Java位运算符

&按位与相同位的两个数字都为1,则为1;若有一个不为1,则为0。(5&3=1)|按位或相同位只要一个为1即为1。(5|3=7)^按位异或相同位不同则为1,相同则为0。(5^3=6)~按位取反把内存中的0和1全部取反。(~5=-6)<<左移(5>>有符号右移(5>>1=2)>>>无符号右移(5>>>1=2)

2015-10-25 15:33:40 339

原创 Java内部类为什么可以访问外部类的成员

内部类都持有一个外部类的引用,这个是引用是 外部类名.this。内部类可以定义在外部类中的成员位置上,也可以定义在外部类中的局部位置上。当内部类被定义在局部位置上,只能访问局部中被final修饰的局部变量。如果内部类被静态修饰,相当于外部类,会出现访问局限性,只能访问外部类中的静态成员。注意:如果内部类中定义了静态成员,那么该内部类必须是静态的。内部类编译后的文件名为:“外部类名$内部类名

2015-10-25 14:11:23 592

原创 Java的四中引用类型

强引用:JVM宁愿抛出OOM也不会将它回收,可能导致内存泄露软引用:当内存空间不足的时候才会去回收软引用的对象弱引用:在系统GC时,弱引用的对象一定会被回收,软弱引用适合保存那些可有可无的缓存数据虚引用:虚引用跟没有引用差不多,即使虚引用对象还存在,get方法总是返回null,它最大的作用是跟踪对象回收,清理被销毁对象的相关资源WeakHashMap适用场景:如果系统需要一张很大的

2015-10-25 14:08:49 1378

原创 Java抽象类和接口的区别

1.抽象类只能被继承,而且只能单继承。接口需要被实现,而且可以多实现。2.抽象类中可以定义非抽象方法,子类可以直接继承使用。接口中都是抽象方法,需要实现类去实现。3.抽象类使用的是is-a关系。接口使用的has-a系。4.抽象类的成员修饰符可以自定义,接口中的成员修饰符是固定的,全都是public的。

2015-10-25 14:06:41 308

原创 MySQL数据库常用SQL语句

1.数据定义Create table sc(sno char(9),cnochar(4),grade smallint,primary key(sno,cno),froeign key(sno) references student(sno),foreignkey(cno) references course(cno));Create view is_student as select

2015-10-25 12:22:34 530

原创 进程与线程的区别

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。进程和线程的关系:(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。(3)CPU分给线程,即真正

2015-10-25 11:16:47 350

原创 Session与Cookie的区别

1.Session保存在服务器,客户端不知道其中的信息;Cookie保存在客户端,服务器能够知道其中的信息。2.Session中保存的是对象,Cookie中保存的是字符串。3.Session不能区分路径,同一个用户在访问一个网站期间,所有的Session在任何一个地方都可以访问到。而Cookie中如果设置了路径参数,那么同一个网站中不同路径下的Cookie互相是访问不到的。4.Sess

2015-10-25 11:12:02 364

原创 HTTP报文结构

HTTP请求包含的内容:1.请求行2.请求头3.请求体第一部分请求行写法是固定的,由三部分组成,第一部分是请求方法,第二部分是请求网址,第三部分是HTTP版本。第二部分HTTP头在HTTP请求可以是3种HTTP头:1.请求头(request header) 2.普通头(general header)  3.实体头(entity header)。通常来说,由于Get请求往往不包含内容实体

2015-10-25 11:10:26 2379

原创 TCP滑动窗口协议

1.首先是AB之间三次握手建立TCP连接。在报文的交互过程中,A将自己的缓冲区大小(窗口大小)3发送给B,B同理,这样双方就知道了对端的窗口大小。2.A开始发送数据,A连续发送3个单位的数据,因为他知道B的缓冲区大小。在这一波数据发送完后,A就不能再发了,需等待B的确认。3.A发送过来的数据逐渐将缓冲区填满。4.这时候缓冲区中的一个报文被进程读取,缓冲区有了一个空位,于是B向A发送一个

2015-10-25 11:06:10 381

原创 TCP四次挥手过程

1.TCP客户端发送一个FIN,用来关闭客户端到服务器的数据传送。2.服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。客户端进入FIN_WAIT状态。3.服务器准备关闭客户端的连接,发送一个FIN给客户端。4.客户端发回ACK报文确认,并进入TIME_WAIT状态,若2MSL后依然没有收到回复则关闭连接。

2015-10-25 11:02:26 425

原创 TCP三次握手过程

几个概念:【1】ACK: 仅当ACK=1时确认字段才有效,当ACK=0时确认字段无效,并且TCP规定,在连接建立后所有的传送报文段都必须要把ACK置为1【2】SYN:同步序列号,用来发起一个连接。当SYN=1而ACK=0时表明这是一个请求报文段;若对方同意连接,则响应报文中SYN=1,ACK=1【3】FIN :用来释放一个连接,当FIN=1表示此报文段的发送方已经发送完毕。并要求释放链

2015-10-22 17:22:06 337

原创 OSI与TCP/IP网络模型

TCP/IP结构对应OSITCP/IPOSI应用层应用层表示层会话层主机到主机层(TCP)(又称传输层)传输层网络层(IP)(又称互联层)网络层网络接口层(又称链路层)数据链路层

2015-10-22 16:37:12 466

原创 HashMap+双向链表实现LRUCache

package me.wcy.j2se.datastructure;import java.util.HashMap;public class MyLRUCache { public static void main(String[] args) { MyLRUCache cache = new MyLRUCache(3); cache.put(1, 1); System.

2015-10-22 09:00:40 1118

原创 二叉树之层序遍历二叉树

1.定义一个队列,并将根结点入队列2.从队列中取出结点输出,如果该结点有子结点,则按左右顺序将子节点如队列3.循环步骤2,直到队列为空package me.wcy.j2se.datastructure;import java.util.LinkedList;import java.util.Queue;/** * 层序遍历二叉树 */public class Lay

2015-10-22 08:57:48 474

原创 二叉树之实现排序二叉树

package me.wcy.j2se.datastructure;/** * 排序二叉树 * * @author chenyan.wang * */public class BinaryTree { public static void main(String[] args) { BinaryTree biTree = new BinaryTree(); int[]

2015-10-22 08:51:44 625

原创 单链表之检测链表是否有环并找出环的入口点

1.检测链表是否有环定义两个指针,快指针一次走两步,慢指针一次走一步,如果两个指针相遇,说明链表存在环如果快指针走到尾部,则不存在环2.找出环的入口点两个指针相遇后,记录下相遇的位置,慢指针继续走,直到再次走到相遇点,可计算出环的大小n重新定义两个指针,指针1先走n步,指针2开始走,两指针相遇点即为环的入口点package me.wcy.j2se.datastructure

2015-10-22 08:49:03 456

原创 单链表之在不知道头指针的情况下删除指定结点

满足的情况:要删除的结点不是尾结点package me.wcy.j2se.datastructure;/** * 在不知道头指针的情况下删除指定结点 * * @author wcy * */public class DeleteNode { public static void main(String[] args) { ListNode node5 = new Li

2015-10-22 08:39:34 1183 1

原创 单链表之反转链表

重点是链表断开后要保存next指针package me.wcy.j2se.datastructure;/** * 反转链表 * * @author wcy * */public class ReverseList { public static void main(String[] args) { ListNode node5 = new ListNode(5);

2015-10-22 08:36:01 275

原创 用两个队列实现一个栈

1.如栈时,将元素放入队列q12.出栈时,先将q1中所有元素出队列并放入队列q2,保留q1中最后一个元素,将其输出;然后将q2中所有元素出队列并放回q1package me.wcy.j2se.datastructure;import java.util.LinkedList;import java.util.Queue;/** * 两个队列实现一个栈 * * @autho

2015-10-22 08:32:16 303

原创 用两个栈实现一个队列

1.入队列时,将元素放入栈s12.出队列时,如果s2不为空,则直接将s2栈顶元素出栈;如果s2为空,则将s1所有元素出栈并放入s2,最后将s2栈顶元素出栈package me.wcy.j2se.datastructure;import java.util.Stack;/** * 两个栈实现一个队列 * * @author chenyan.wang * * @param

2015-10-22 08:27:59 324

原创 排序算法之归并排序

时间复杂度:平均O(nlogn)  最好O(nlogn)  最坏O(nlogn)空间复杂度:O(n)稳定性:稳定特点:n大时较好public class MergeSort { public static void main(String[] args) { int[] arr = { 2, 7, 8, 3, 1, 6, 9, 0, 5, 4 }; sort(arr,

2015-10-21 10:04:56 286

原创 排序算法之快速排序

时间复杂度:平均O(nlogn)  最好O(nlogn)  最坏O(n²)空间复杂度:O(logn)稳定性:不稳定特点:n大时较好public class QuickSort { public static void main(String[] args) { int[] a = { 2, 7, 8, 3, 1, 6, 9, 0, 5, 4 }; quickSort(a

2015-10-21 09:59:55 359

原创 排序算法之冒泡排序

时间复杂度:平均O(n²)  最好O(n)  最坏O(n²)空间复杂度:O(1)稳定性:稳定特点:n小时较好public class BubbleSort { public static void main(String[] args) { int[] a = { 2, 7, 8, 3, 1, 6, 9, 0, 5, 4 }; bubbleSort(a); for

2015-10-21 09:56:45 397

原创 排序算法之直接插入排序

时间复杂度:平均O(n²)  最好O(n)  最坏O(n²)空间复杂度:O(1)稳定性:稳定特点:大部分已有序时较好public class InsertSort { public static void main(String[] args) { int[] a = { 2, 7, 8, 3, 1, 6, 9, 0, 5, 4 }; insertSort(a);

2015-10-21 09:55:03 311

原创 排序算法之简单选择排序

时间复杂度:平均O(n²)  最好O(n²)  最坏O(n²)空间复杂度:O(1)稳定性:不稳定特点:n小时较好public class SelectSort { public static void main(String[] args) { int[] a = { 2, 7, 8, 3, 1, 6, 9, 0, 5, 4 }; selectSort(a); fo

2015-10-21 09:52:03 309

原创 设计模式之生产者-消费者模式

public class ProducerConsumer { public static void main(String[] args) { PublicResource resource = new PublicResource(); new Thread(new ProducerThread(resource)).start(); new Thread(new Consume

2015-10-21 09:45:13 620

原创 设计模式之观察者模式

public class ObserverPattern { public ObserverPattern() { Teacher teacher = new Teacher(); Student student = new Student(); student.addObserver(teacher); student.exam(80); } /** * 被观察者

2015-10-21 09:37:32 310

原创 设计模式之适配器模式

public class AdapterPattern { public class Person { private String name; private String sex; private int age; public void speakJapanese() { System.out.println("I can speak Japanese!");

2015-10-21 09:36:02 406

原创 设计模式之抽象工厂模式

/** * 多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。 * * 一个抽象工厂类,可以派生出多个具体工厂类。 * * 每个具体工厂类可以创建多个具体产品类的实例。 * */public class AbstractFactory { public AbstractFactory() { Driver driver = new BenzDriver();

2015-10-21 09:32:26 297

原创 设计模式之单例模式

/** * 静态内部类实现单例模式 */public class SingletonPattern { private SingletonPattern() { } public static SingletonPattern getInstance() { return Nested.instance; } private static class Nested {

2015-10-21 08:26:36 409

原创 JVM内存模型及垃圾回收算法

JVM内存模型:程序计数器,虚拟机栈,本地方法栈,Java堆,方法区程序计数器:程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。虚拟机栈:与程序计数器一样,Java 虚拟机栈(Java Virtual

2015-10-21 08:18:41 850

Android面试复习资料

自己总结的Android校招面试复习资料,包含:J2SE基础、Android基础、数据结构与算法、计算机网络、操作系统。

2015-11-02

Android天气预报源代码 自动定位 仿360天气界面

Android天气预报源代码,支持自动定位、手动输入城市,使用百度天气API、百度定位API,仿360天气界面,天气壁纸,简约美观。

2014-05-18

Android英语四六级成绩查询软件源代码 附带Apk

Android英语四六级成绩查询完整源代码,附带Apk安装包。

2013-09-11

Android手电筒源代码 SOS报警功能 附带Apk

Android手电筒源代码,可设置声音,更换皮肤,SOS报警功能,附带Apk安装包。欢迎下载!

2013-07-31

Android完整手电筒源码 SOS报警功能 附带Apk

Android完整手电筒源码,设置声音,更换皮肤,SOS报警功能,附带Apk安装包。欢迎下载!

2013-07-31

空空如也

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

TA关注的人

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