自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jungle_hello的博客

专注服务端开发

  • 博客(74)
  • 资源 (4)
  • 收藏
  • 关注

原创 JAVA——基本数据类型对象包装类/自动装箱

基本数据类型对象包装类。 基本数据类型 基本数据类型对象 byte Byte short Short int Integer long Long boolean Boolean float Float double Double char Character基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间

2016-04-30 14:36:55 712

原创 代码训练营——StringBuffer

StringBuffer是一个字符缓冲区。是一个容器。 1、而且长度是可变的。 2、可以字节操作多个数据类型。 3、最终会通过toString方法变成字符串。|C create |U update |R read |D delete1、存储StringBuffer append();将指定数据作为参数添加到已有数据的结尾处; StringBuffer insert(inde

2016-04-30 12:15:28 496

原创 代码训练营——String

一、模拟一个trim方法,去除字符串两端的空格。 思路: 1,判断字符串第一个位置是否是空格,如果是继续向下判断,直到不是空格为止。 结尾处判断空格也是如此。 2,当开始和结尾都判断到不是空格时,就是要获取的字符串。二、将一个字符串进行反转。将字符串中指定部分进行反转,”abcdefg”;abfedcg 思路: 1,曾经学习过

2016-04-30 11:04:07 523

原创 JAVA——多线程中的join

class Demo implements Runnable{ public void run() { for(int x = 0;x<50;x++) { System.out.println(Thread.currentThread().getName()+"......"+x); } }}cla

2016-04-28 09:55:25 437

原创 JAVA——守护线程或用户线程(setDaemon)

class StopThread implements Runnable{ private boolean flag = true; public synchronized void run() { while(flag) { try { wait();

2016-04-28 09:47:46 1239

原创 JAVA——如何停止线程呢?(interrupt)

stop方法已经过时;那么如何停止线程? 只有一种,run方法结束。开启多线程运行,运行代码通常是循环结构。 只要控制住循环,就可以让run方法结束,也就是线程结束。特殊情况: 当线程处于了冻结状态。就不会读取到标记。那么线程就不会结束。 当没有指定的方式让冻结的线程恢复到运行状态时,这时需要对冻结进行清除。强制让线程恢复到运行状态中来。这样就可以操作标记让线程结束。 Thread类提供了

2016-04-27 21:29:24 626

原创 JAVA——生产者与消费者以及JDK1.5以后新特性

生产者和消费者问题是很常见的一类多线程问题。问题大致描述为: 有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个具有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消费者可以从缓冲区中取走产品进行消费,显然生产者和消费者之间必须保持同步,即不允许消费者到一个空的缓冲区中取产品,也不允许生产者向一个已经放入产品的缓冲区中再次投放产

2016-04-27 18:18:55 978

原创 JAVA——多线程间通信(wait 和notify)

从语法角度来说: Obj.wait(),Obj.notify必须在synchronized(Obj){…}语句块内。 从功能上来说: wait就是说线程在获取对象锁后,主动释放对象锁,同时本线程休眠。直到有其它线程调用对象的notify()唤醒该线程,才能继续获取对象锁,并继续执行。 notify()就是对对象锁的唤醒操作。 注意 (1)notify()调用后,并不是马上就释放对象

2016-04-27 13:10:26 441

原创 软件设计模式——访问者模式(Visitor)

定义与结构访问者模式,顾名思义使用了这个模式后就可以在不修改已有程序结构的前提下,通过添加额外的“访问者”来完成对已有代码功能的提升。《设计模式》一书对于访问者模式给出的定义为:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。从定义可以看出结构对象是使用访问者模式必须条件,而且这个结构对象必须存在遍历自身各个对象的方法。这便类似于java 中

2016-04-27 10:23:14 744

原创 JAVA——多线程之单例模式

我在博客的设计模式一栏曾经介绍过单例模式。因为学到了多线程,下面就再回顾一下单例模式的两种方式: 1、饿汉式class Single{ private static final Single s = new Single(); private Single(){} public static Single getInstance() { return

2016-04-26 21:35:00 455

原创 JAVA——多线程举例

同步函数用的是哪一个锁呢? 函数需要被对象调用。那么函数都有一个所属对象引用。就是this。所以同步函数使用的锁是this。下面通过程序进行验证。使用两个线程来买票。一个线程在同步代码块中。一个线程在同步函数中。都在执行买票动作。class Ticket implements Runnable{ private int ticket = 100; Object obj = ne

2016-04-26 20:25:59 476

原创 JAVA——线程安全(synchronized)

卖票的程序我们在卖票的中间暂停一段时间。观察程序的运行结果。class Ticket implements Runnable{ private int ticket = 20; public void run() { while(true) { if(ticket>0) {

2016-04-26 10:29:27 451

原创 JAVA——多线程(Runnable)

实现Runnable接口是创建线程的第二种方式;步骤: 1、定义类实现Runnable接口 2、覆盖Runnable接口中的run方法 将线程要运行的代码存放在该run方法中。 3、通过Thread类建立线程对象 4、将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数。 为什么要将Runnable接口的子类对象传递给Thr

2016-04-26 09:42:35 810

原创 软件设计模式——模版方法模式(Template Pattern)

定义在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使的子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。将主要的方法定义为final,防止子类修改算法骨架,将子类必须实现的方法定义为abstract。而普通的方法(无final或abstract修饰)则称之为钩子。钩子作用1)作为可选内容,子类可以重写或者置之不理 2)让子类有机会对模板方法中即将发生的或者已经发生的步

2016-04-26 00:06:56 608

原创 JAVA——多线程Thread

进程:是一个正在执行中的程序。每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。 线程: 就是进程中的一个独立的控制单元。线程在控制着进程的执行。 一个进程中至少有一个线程。Java VM启动的时候会有一个进程java.exe 该进程中至少一个线程负责java程序的执行。而且这个线程运行的代码存在于main方法中。该线程称为主线程。扩展:其实更细节说明JVM,JVM启动

2016-04-25 21:30:05 4296

原创 JAVA——包(package)及对jar包的操作

对类文件进行分类管理。 给类提供多层命名空间。 写在程序文件的第一行。 类名的全称的是 包名.类名。 包也是一种封装形式。总结: 包与包之间进行访问,被访问的包中的类以及类中的成员,需要public修饰。不同包中的子类还可以直接访问父类中被protected权限修饰的成员。 包与包之间可以使用的权限只有两种,public protected。 c:\myclassc:\myc

2016-04-24 21:53:24 11373

原创 JAVA:子类无法覆盖父类中的方法

class Super { public int get(){return 4;} } class Demo15 extends Super { public long get(){return 5;} public static void main (String[] args) { Super s = new Demo15();

2016-04-24 17:22:53 4517 1

原创 JAVA面试题---多态成员变量的特点

在多态中,成员变量的特点:无论编译和运行,都参考左边(引用型变量所属的类)。 在多态中,静态成员函数的特点:无论编译和运行,都参考左边。class Fu{ int num = 4; void show() { System.out.println(""show Fu); }}class Zi extends Fu{ itn num =

2016-04-24 17:07:18 2485 2

原创 软件设计模式——建造者模式(Builder)

定义与结构GOF 给建造模式的定义为:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。这句话说得很抽象,不好理解,其实它的意思可以理解为:将构造复杂对象的过程和组成对象的部件解耦。就像攒电脑一样,不管什么品牌的配件,只要兼容就可以装上;同样,一样的配件,可以有好多组装的方式。这是对降低耦合、提高可复用性精神的一种贯彻。当要生成的产品有复杂的内部结构——比如由多个对象组

2016-04-24 16:51:15 844

原创 JAVA——异常的总结

1、异常是什么? 回答:是对问题的描述。将问题进行对象的封装2、异常体系: Throwable |–Error |–Exception(RuntimeException是子类)异常体系的特点:异常体系中的所有类以及建立的对象都具备可抛性。也就是说可以被throw和throws关键字所操作。只有异常体系具备这个特点。3、throw和throws的

2016-04-24 15:48:44 498

原创 JAVA——运行时异常(RuntimeException)

Exception中有一个特殊的子类异常RuntimeException运行时异常。 如果在函数内抛出该异常,函数上可以不用声明,编译一样通过。 如果在函数上声明了该异常。调用者可以不用进行处理。编译一样通过。之所以不用在函数上声明,是因为不需要让调用者处理。 当该异常发生,希望程序停止,因为在运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修正。 自定义异常时:如果该异常的发生

2016-04-23 20:45:10 3177

原创 JAVA——自定义异常

概叙:因为项目中会出现特有的问题,而这些问题并未被java所描述并封装对象。所以对于这些特有的问题可以按照java的对问题封装的思想。对特有的问题,进行自定义的异常封装。当在函数内部出现了throw抛出异常对象,那么就必须要给对应的处理动作。 要么在内部try catch处理 要么在函数上声明让调用者处理 一般情况下,函数内出现异常,函数上需要声明自定义异常必须是自定义类继承Exception

2016-04-23 16:52:52 767

原创 JAVA——异常(1)

异常定义:就是程序在运行时出现的不正常情况;异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述,并封装成对象。其实就是java对不正常情况进行描述后的对象体现。对于问题的划分:两种。 一种是严重的问题,一种是非严重的问题。对于严重的,java通过Error类进行描述。 对于Error一般不编写针对性的代码对其进行处理对于非严重的,java通过Exception类进行

2016-04-23 16:40:15 382

原创 JAVA——内部类

定义:内部类就是在一个类中再定义一个类。如下面的Inner类。class Outer{ private int x = 3; class Inner //内部类 { void function() { System.out.println("inner :"+x); } } vo

2016-04-22 17:26:45 449

原创 JAVA中类修饰具体有哪些?其中如果class前面什么都不加,它默认的是什么?

public 公共类 default 默认类(即class前什么都不加) abstract 抽象类 fanal 不能被继承的类 static 静态类 private 只能修饰内部类,一般不推荐使用

2016-04-22 15:44:23 5116

原创 JAVA----Object类

Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类。Object类是Java中唯一没有父类的类。 其他所有的类,包括标准容器类,比如数组,都继承了Object类中的方法。 下面是Object类中的相关方法摘要:(具体用法请参考JDK API)举例: Object 类中提供了对象是否相同的功能,没有必要重新定义。 只要沿袭父类中的功能,建立自己特有比较内容即可。这就是覆盖

2016-04-22 13:35:48 526

原创 SUN官方API中文版【JDK1.6】

1.6API文档(中文)的下载地址: ZIP格式: http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish/1.6.0/html_zh_CN.zipCHM格式: http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish

2016-04-22 12:07:36 1119

原创 软件设计模式——门面模式(Facade)

定义: 面模式(facade)又称为外观模式,它是为了解决类与类之间的依赖关系的,像 spring 一样,可以将类和类之间的关系配 置到配置文件中,而外观模式就是将他们的关系放在一个 Facade 类中,降低了类类之间的 耦合度,该模式中没有涉及到接口,看下类图:(我们以一个计算机的启动过程为例) 门面模式的组成: 1)门面角色( facade ):这是门面模式的核心。它被客户角色调用,因此它熟

2016-04-22 00:06:24 1273 1

原创 JAVA——多态

/*多态:可以理解为事物存在的多种体现形态。猫 X = new 猫();动物 X= new 猫();1、多态的体现父类的引用指向了自己的子类对象。父类的引用也可以接收自己的子类对象。2、多态的前提必须是类与类之间有关系。要么继承,要么实现。通常还有一个前提:存在覆盖。3、多态的好处多态的出现大大提高了程序的扩展性4、多态的弊端提高了扩展性,但是只能使用父类的引用访问父类中的成员。

2016-04-20 21:38:49 468

原创 JAVA——interface(接口)

接口的初期理解,可以认为是一个特殊的抽象类 当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。 class 用于定义类 interface 用于定义接口接口定义时,格式特点:1、接口中常见定义:常量,抽象方法。2、接口中的成员都是固定修饰符。常量:public static final 方法:public abstract记住:接口中的成员都是public的

2016-04-20 12:20:22 556

转载 JVM的内存区域划分

JVM的内存区域划分学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢?由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java程序具体执行的过程: 如上图所示,首先Java源代码文件

2016-04-20 10:40:54 548

转载 软件设计模式——中介者模式(Mediator)

定义与结构中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。GOF 给调停者模式下的定义是:用一个中介类对象来封装一系列的对象交互。调停者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。简单点来说,将原来两个直接引用或者

2016-04-20 08:37:59 889

原创 JAVA——abstract(抽象)

abstract的性质1、abstract(抽象)可以修饰类、方法 2、如果将一个类设置为abstract,则此类必须被继承使用。此类不可生成对象,必须被继承使用。 3、abstract可以将子类的共性最大限度的抽取出来,放在父类中,以提高程序的简洁性。 4、abstract虽然不能生成对象,但是可以声明,作为编译时类型,但不能作为运行时类型。 5、final和abstract永远

2016-04-19 20:43:17 422

原创 软件设计模式——观察者模式(Observer)

介绍当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。应用实例1、拍卖的时候,拍卖师观察最高标价,然后通知给其他竞价者竞价。 2、西游记里面悟空请求菩萨降服红孩儿,菩萨洒了一地水招来一个老乌龟,这个乌龟就是观察者,他观察菩萨洒水这个动作。 实现观察者模式使用三个类 Subject、Obs

2016-04-19 18:22:56 1591

转载 软件设计模式——原型模式(Prototype)

定义与结构原型模式属于对象创建模式,我们从名字即可看出该原型模式的思想就是将一个对象作为原型,其进行复制、克隆产生和类似的新对象。GOF给它的定义为:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Java 中提供了clone()方法,使用Object的clone()方法来实现对象的克隆,所以Prototype 模式实现变得简单许多。既然用到clone()方法,不可避免的我们就会涉及

2016-04-19 16:43:30 1834

转载 软件设计模式:享元模式(Flyweight)

转载自:http://blog.csdn.net/wangyanguiyiyang定义与分类享元模式(Flyweight Pattern) 主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。GOF中对享元模式的定义为:采用一个共享类来避免大量拥有相同内容的“小类”的开销。这种开销中最常见、直观的影响就是增加

2016-04-19 16:28:04 551

转载 软件设计模式——桥接模式(Bridge)

定义与结构GOF 在《设计模式》中给桥接模式的定义为:将抽象部分与它的实现部分分离,使它们都可以独立地变化。这里的抽象部分和实现部分不是我们通常认为的父类与子类、接口与实现类的关系,而是组合关系。也就是说,实现部分是被抽象部分调用,以用来完成(实现)抽象部分的功能。而桥接的用意就是:将抽象化和实现化解耦,使得二者独立变化。像我们常用的 JDBC桥 DriverManager一样, JDBC进行连接数

2016-04-18 09:57:44 1428

转载 软件设计模式——命令模式(Command Pattern)

定义与结构命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。《设计模式》中命令模式的定义为:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。命令模式很好理解,举个例子,司令

2016-04-18 08:55:17 972

原创 JAVA——继承相关

当子类继承父类,沿袭了父类的功能 到子类中,但是子类虽具备该功能,但是功能的内容和父类不一致,这是,没有必要定义新功能,而是使用覆盖,保留父类的功能定义,并重写功能内容。覆盖: 1.子类覆盖父类,必须保证子类的访问权限大于等于父类权限,才可以覆盖,否则编译失败。 2.静态只能覆盖静态。class Fu{ void show() { System.o

2016-04-17 21:04:18 376

原创 软件设计模式——适配器(Adapter)模式

适配器模式(Adapter Pattern):是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。该类负责加入独立的或不兼容的接口功能。将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以

2016-04-17 17:48:53 1752

hadoop权威指南第四版中文

hadoop大数据开发,并介绍相关技术,hive ,hbase,yarn,flume,kafka,spark等技术。很不错的

2018-08-18

jdbc-oracle

java开发用于连接oracle数据库jar包

2017-04-08

UML绘图软件

可绘制9款UML图:用例图、类图、序列图、状态图、活动图、通信图、模块图、部署图以及复合结构图等。

2016-06-03

软件设计模式书籍资料

软件设计模式、书籍、UML、单例、工厂方法、观察者模式等等

2016-05-04

空空如也

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

TA关注的人

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