自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java知识碎片整理(5)——static关键字与单例设计模式

2016/10/28static关键字用途如下: 修饰静态变量 修饰静态方法,或者叫实用用法(utility method) 静态变量:静态变量是一个类的共有性质:all objects of one class share same static fields.一个实例的静态变量变化,这个类的其他实例的该变量同时发生变化。静态方法是通过类而非类的对象调用的方法,最典型的例子是Math类:doubl

2016-10-28 00:26:33 582

原创 Java抽象类与接口

2016/10/27定义和用法Java提供一种抽象方法的机制,抽象方法是不完整,只有声明而没有方法体,抽象方法用关键字abstract修饰:abstract void function(){}如果一个类包含一个或多个抽象方法,则这个类必须被限定为抽象类,非抽象类不能拥有抽象方法。抽象类不能实例化,但抽象类可以有多种构造器,供其子类使用。抽象类可以定义抽象方法和非抽象方法,非抽象方法不能有抽象方法。如

2016-10-27 20:25:11 428

原创 Java多线程(1)——基本实现方式

2016/10/11综合手中书本和多家博文总结于此,后半部分未编辑完善,明天要回学校,待之后完善。进程和线程:  进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。  线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。  线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止。  多进程是指操作

2016-10-11 20:14:53 3770 6

原创 Java多线程(3)——同步与synchronized关键字

线程同步在单线程程序中,每次只做一件事情,后面的事情等待前面的事情完成才进行,但如果使用多线程程序,就会出现多个线程抢占资源的问题,线程的优先级部分地解决了这个问题,但还不够,Java提供线程同步机制来防止资源访问的冲突。先举一个例子来阐述线程不同步导致的问题:这类似于一个售票系统,查询票剩余数量,如果有票就买一张,剩余票量减1,初始有10张票。public class ThreadSafeTest

2016-10-11 17:19:38 1177

转载 算法入门(5)——分支限界法

转自:http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741378.html一、基本描述类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值

2016-10-06 21:47:04 821

转载 算法入门(4)——回溯法

转自:http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741376.html1、概念回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选

2016-10-06 21:45:47 478

转载 算法入门(3)——贪心算法

转自:http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741375.html 一、基本概念:所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体

2016-10-06 21:35:26 488

转载 算法入门(2)——动态规划算法

转自:http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741374.html一、基本概念动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求

2016-10-06 21:33:42 278

转载 算法入门(1)——分治算法(Divide and Conquer)

一、基本概念在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题的规模越小

2016-10-06 21:29:56 643

原创 Java集合框架(1)——概述

2016/10/6Java集合框架“如果一个程序只包含固定数量的且其生命周期都是已知的对象,那么这将是一个简单的程序”复杂的程序对于数据的组织有多种多样的需求,从中提取共性形成了Java的集合框架。下图摘自:http://www.importnew.com/23549.html#comment-542805如图所说,Java集合框架有Collection, Collections, Map, Com

2016-10-06 21:19:50 687

原创 Java知识碎片整理(2)——异常处理

2016/10/6异常是一个程序执行期间发生的事件,它中断了正在执行的程序的正常指令流。在Java中,异常被封装到了一个类中,当程序出现错误时,会创建一个异常对象并把它传递给正在运行的系统,从而触发异常处理机制。这样可以将程序主逻辑和异常处理代码分离开。异常捕捉机制Java异常捕捉结构:try,catch,finallytry{ //可能发生异常的主逻辑代码 } catch(Exceptio

2016-10-06 13:14:58 314

原创 Java知识碎片整理(1)——数组相关

数组是最常见的一种数据结构,是同类型的,用一个标识符封装在一起的基本数据序列或对象序列(在Java中所有的东西都是对象,但在C++中可能是对象,结构体等)。数组使用:声明——>内存分配——>初始化声明:int arr[]; String arr2[];内存分配:arr=new int[5];使用new关键字为数组分配内存时,整形数组各个元素的初始值均为0。初始化:int arr[]=new int[

2016-10-06 10:58:11 353

空空如也

空空如也

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

TA关注的人

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