自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Crazy Snail

万头攒动火树银花之处不必找我。如欲相见,我在各种悲喜交集处,能做的只是长途跋涉的归真返璞。

  • 博客(17)
  • 收藏
  • 关注

原创 java多线程等待唤醒机制

等待唤醒机制: Object类中提供了三个方法: wait():等待 notify():唤醒单个线程 notifyAll():唤醒所有线程 为什么这些方法不定义在Thread类而定义在Object类中呢? 这些方法的调用必须通过锁对象调用,而我们使用的锁对象是任意锁对象。所以,这些方法必须定义在Object类中。生产者和消费者多线程体现(线程间通信问题) 生产者:先看是否有数据,有就等

2016-05-23 01:24:38 346

原创 JAVA多线程实现的三种方式

方式一:继承Thread类 步骤: 1.自定义一个类并继承Thread类 2.自定义类需要重写Thread的run()方法 3.创建对象 4.启动线程class MyThread extends Thread{ public void run() { for(int i=0;i<100;i++){ System.out.println(get

2016-05-23 00:48:22 363

原创 进程与线程的区别

学习多线程的时候必然会遇到另外一个名词:进程。二者一字之差有什么区别呢? 看的一本书上有这样一段话: Windows操作系统是多任务操作系统,它是以进程为单位。一个进程是一个包含有自身地址的程序,每个独立执行的程序都称为进程,也就是正在执行的程序。系统可以分配给每一个进程一段有限的使用CPU的时间(也可叫CPU时间片),CPU在这段时间中实行某个进程,然后下一个时间片又调至另一个进程中去执行。由

2016-05-22 23:40:19 712

原创 并发与并行的区别

学习多线程的时候会遇到一个名词:并发。这是属于操作系统中的词汇,需要了解并发和并行的区别,从网上搜集了几种说法帮助理解。 一: 并发是指一个处理器同时处理多个任务。 并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。 并发是逻辑上的同时发生(simultaneous),而并行是物理上的同时发生。 来个比喻:并发是一个人同时吃三个馒头,而并行是三个人同时吃三个馒头。 二: 并行

2016-05-22 23:17:31 79631 19

转载 用StringBuffer与String解决同一个问题

关于StringBuffer与String的相互转换: 将String转换成StringBuffer:String s = "hello";// 方式1:通过构造方法StringBuffer sb = new StringBuffer(s);// 方式2:通过append()方法StringBuffer sb2 = new StringBuffer();sb2.append(s);注意:

2016-05-20 00:30:03 580

原创 关于StringBuffer

StringBuffer:线程安全的可变字符串。 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加合适一些。

2016-05-19 23:32:27 341

原创 详谈String类

String类概述: String 类代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。字符串是由多个字符组成的一串数据(字符序列),字符串可以看成是字符数组。构造方法: public String ():空构造 public String(byte[] bytes):把字节数组转成字符串 public String(byte[] bytes, int

2016-05-18 17:24:58 306

原创 Object类概述

java.lang.Object 1.java.lang包在使用的时候无需显示导入,编译时由编译器自动导入。 2.Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类。 3.Object类是Java中唯一没有父类的类。其他所有的类,包括标准容器类,比如数组,都继承了Object类中的方法。构造方法 public Object() Object类只有这一个构造方法,并且是

2016-05-18 14:40:26 355

原创 内部类

内部类概述:把类定义在其他类的内部,这个类就被称为内部类。内部类分类:成员内部类、静态内部类、方法内部类(又叫局部内部类)和匿名内部类。内部类共性: 1.内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号 。 2.内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的 。

2016-05-17 02:17:01 269

转载 抽象类与接口杂记

抽象类的特点 1.抽象类和抽象方法必须用abstract关键字修饰 2.抽象类中不一定有抽象方法,但是有抽象方法的类必须定义为抽象类 3.抽象类不能实例化,因为它不是具体的,但是它有构造方法用于子类访问父类数据的初始化。 4.抽象类的子类: a.子类还是抽象类,可以不必重写父类抽象方法; b.子类是一个具体的类,必须重写所有的抽象方法。 (抽象类的实例化其实是靠具体的子类实现的,多态的

2016-05-16 17:04:46 403

转载 深入理解Java的接口和抽象类

对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。一.抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:abstract void fun();  抽象方法必

2016-05-15 15:18:27 232

原创 多态特点及弊端

一、多态中的成员访问特点 Father f=new Son() 1.成员变量:编译看左边,运行看左边 f只能访问父类中定义过的成员变量,不能访问子类中特有的成员变量,并且该成员变量的值与父类一致。 2.构造方法:创建子类对象时,会访问父类的构造方法,先对父类进行初始化。 3.成员方法(非静态):编译看左边,运行看右边 f只能访问父类中定义过的成员方法,不能访问子类中特有的成员方法。如果该

2016-05-15 14:35:09 614

原创 equals和==的区别

一、“==”比较两个对象的地址是否相同。二、equals() 一般类的equals()方法继承自Object类,源码如下:public boolean equals(Object obj) { return (this == obj); }可见其比较的也是对象的地址是否相同,与“==”效果一样。可是有些类重写了equals()方法,比如说String类,源代码如下:publ

2016-05-13 12:10:48 278

原创 继承中构造方法的关系

在继承中,子类所有的构造方法默认访问父类中的无参构造,子类中每一个构造方法第一条语句默认为super();class Father{ public Father(){ System.out.println("父类无参构造"); } public Father(String s){ System.out.println("父类有参构造");

2016-05-12 19:44:36 794 1

原创 代码块

java中将用{}包起来的代码称之为代码块,根据其位置和声明的不同可将其分为:局部代码块、构造代码块、静态代码块和同步代码块。 局部代码块:处于局部位置,可用于限定变量的生命周期。public class CodeBlock { public static void main(String[] args) { { int y=0;//只存在于{}内

2016-05-12 19:23:19 338

原创 Static关键字

static特点: 1.可以修饰成员变量或成员方法; 2.随着类的加载而加载,优先于对象存在; 3.被类的所有对象共用; 4.可以通过类名调用也可以通过对象调用(推荐使用类名调用)。注意: 1.静态方法中是没有this关键字的(this随对象存在,static优先于对象存在); 2.静态方法只能访问静态的成员变量和静态的成员方法。静态变量和成员变量的区别: 1.所属不同:静态变量属于类

2016-05-12 18:59:17 215

原创 构造方法

java的类中,如果没有给出构造方法,通过反编译可以看出系统将默认提供一个无参构造方法,方法体中内容为空:class Demo{ Demo(){} 这是系统提供的默认的构造方法}public class Gouzao { public static void main(String[] args) { Demo d=new Demo(); }}如果我们给

2016-05-12 18:43:03 301

空空如也

空空如也

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

TA关注的人

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