自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

田园园野的博客

每一个你不满意的现在,都有一个你没有努力的曾经。

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

原创 堆,栈,堆栈

下面主要从数据结构书中所说的堆,栈,树以及计算机操作系统中的栈,堆说。一、数据结构中的堆,栈数据结构中的堆,栈,树,是一个概念,是逻辑存在的,也就只是一个名字,不是物理存在的。1、堆(heap):堆有大根堆和小根堆,堆是一种特殊的树,它每个结点都有一个值,堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。就类似一堆东西一样,按照由大到小(或由小到大)“堆”起来。

2017-07-23 20:34:10 468

原创 java 集合类

一、1、所有的Java集合都在java.util包中2、Java集合框架:Java中的 一套设计优良的接口和类组成的集合框架。3、List、Set、Map是这个集合体系中最主要的三个接口。List有序且允许元素重复。ArrayList、LinkedList是主要的实现类。Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。Map也属于集合系统,HashMap、TreeMap是主...

2017-07-23 17:09:55 453

原创 Date类,Calendar类,DateFormat类,SimpleDateFormat类

一、Date类Date 类在java.util 包。这个类最主要的作用就是获取当前时间,Calendar类取代了Date 类很多的功能,下面为 Date 类获取当前时间:以默认的英文格式输出日期和时间。import java.util.*;public class Example22 { public static void main(String[] args) { Date date1...

2017-07-22 21:06:16 493

原创 Math类 random()与Random()

一、Math类Math 类位于 java.lang 包中,Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。Math类中有两个静态常量PI和E,分别代表数字常量π和epackage tcy01;public class Math1 { public static void main(String[] args) { double a=45...

2017-07-22 16:43:32 850

原创 Java 中的包装类

一、Java 中的包装类1、在Java中,很多类的方法都需要接收引用类型的对象,此时就无法将一个基本数据类型的值传入,又如,基本数据类型是不具备对象的特性的,比如基本类型不能调用方法、功能简单。。。,为了让基本数据类型也具备对象的特性,JDK中提供了一系列的包装类,通过这些包装类可以将基本数据类型的值包装为引用数据类型的对象(装箱),同样,引用数据类型的对象变成基本数据类型的值叫做(拆箱)将在Ja...

2017-07-21 21:26:45 443

原创 Java valueOf() 方法 parseInt()方法

一、String类中:valueOf() 方法返回字符串形式     String.valueOf()它可以将JAVA基本类型(int,double,boolean等)和对象(Object)转换成String型     valueOf(boolean b):                                     返回 boolean 参数的字符串表示形式。.      value...

2017-07-21 21:17:32 906

原创 String类和StringBuilder类

一、String类和StringBuilder类和StringBuffer类的区别:String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同。因此使用String类时,程序运行时会额外创建对象,当频繁操作字符串时,就会额外产生很多临时变量。使用 StringBuilder 或 StringBuffer 就可以避免这个问题。 至于 String...

2017-07-21 17:08:12 418

原创 线性表链式存储及其实现(单链表,循环链表,双向链表)

一、单链表:①用一组 地址任意的存储单元存放线性表中的数据元素。②以元素(数据元素的值) + 指针(指示后继元素存储位置) =  结点   (表示数据元素  或  数据元素的映象),③这种以“结点的序列”表示线性表,称作链表1、头结点,头指针 以线性表中第一个数据元素a0的存储地址作为线性表的地址,称作线性表的头指针。 有时为了操作方便,在第一个结点(首结点)之前虚

2017-07-11 13:31:04 1032

原创 线性表-顺序存储(Java数据结构)

一、线性表 一个线性表(Linear List)是由n(n≥0)个数据元素(结点,它可以是一个字母,数字,记录或更复杂的信息)所构成的有限序列。线性表逻辑地表示为:(a0,a1,…,an-1)。其中,n为线性表的长度,n=0时为空表。称i为ai在线性表中的位序号。二、线性表的抽象数据类型1、线性表的置空操作:  clear()2、线性表判空操作:      isEmpty(

2017-07-10 23:02:06 952

原创 网络通信协议(IP地址,端口号,InetAddress,UDP与TCP)

一、计算机网络:通过某种方式将多台计算机进行连接,实现多台计算机彼此之间的互联以及数据的交换。即在不同的计算机上编写一些实现了网络连接的程序,这些程序可以实现位于同一个网络中的计算机之间的数据的交换。二、网络通信协议:同一个网络中的计算机进行连接和通信时的规则;目前应用最广泛的是TCP/IP协议(包括,IP协议、TCP协议,UDP协议,ICMP协议等)。在进行数据传输时,要求发送的数据与接收到的数...

2017-07-10 18:04:35 4920

原创 多线程通信( wait(),notify(),notifyAll() )

多线程通信:线程之间进行通信,协同完成工作。例如一条流水线的上下两个工序,他们必须以规定的速率完成各自的工作,才能保证产品再流水线中顺利的流转。如果下工序过慢,会造成产品再两道工序之间的积压,如果上工序过慢,会造成下工序长时间无事可做。线程之间的通信,可以让整个工作更好的完成。1、下面一个例子,两个线程去操作同一个存储空间,其中一个线程向存储空间存入数据,另一个线程负责取出数据。用此例子来演示线程...

2017-07-08 22:50:16 440

原创 线程死锁问题

Java线程死锁 Java线程死锁是一个多线程问题,是指不同的线程都在等待那些根本不可能被释放的锁,从而导致所有的工作都无法完成。例如有两个线程,分别代表两个饥饿的人,他们必须共享刀叉并轮流吃饭。他们都需要获得两个锁:共享刀和共享叉的锁。 假如线程 “A”获得了刀,而线程“B”获得了叉。线程“A”就会进入阻塞状态来等待获得叉,而线程“B”则阻塞来等待“A”所拥有的刀。这种现象就成为死锁。如下例所示...

2017-07-08 17:52:14 240

原创 多线程同步(线程安全,同步方法)

多线程同步java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。线程安全线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不出现数据不...

2017-07-08 17:15:27 395

原创 线程的调度(线程休眠,线程让步,线程插队)

程序中的多个线程是并发执行的,某个线程若想被执行必须要得到CPU的使用权,Java虚拟机会按照特定的机制为程序中的每个线程分配CPU的使用权,这种机制被称作线程的调度。两种线程调度模式:分时调度模式:让所有的线程轮流获得CPU的使用权,并且平均分配每个线程占用的CPU的时间片。抢占式调度模式:让可运行池中优先级高的线程优先占用CPU,而对于优先级相同的线程,随机选择一个线程使其占用CPU,当它失去...

2017-07-07 21:28:11 4571

原创 线程的生命周期及状态转换

Java中,任何对象都有生命周期,线程也有生命周期。线程的生命周期开始:当Thread对象创建完成时线程的生命周期结束:①当run()方法中代码正常执行完毕                                    ②线程抛出一个未捕获的异或错误时。线程整个生命周期的五个阶段:新建状态,就绪状态,运行状态,阻塞状态,死亡状态。新建状态:        当Thread对象创建完成时, 使...

2017-07-07 18:24:20 2003

原创 线程的创建(Runnable,Thread)

一种时继承java.lang包下的Thread类,另一种是实现java.lang.Runnable接口。一、继承Thread类创建多线程①先看一个单线程程序,单线程程序的线程是进程默认创建,在代码中看不到。当一个Java程序启动时,就会产生一个进程,该进程会默认创建一个线程,在这个线程上会运行main()方法中的代码public class Example01 { public static v...

2017-07-07 12:01:57 617

原创 进程与线程(Java多线程总结一)

一、并发执行①在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。如我们在使用计算机时,可以一边听歌,一边玩游戏。这种多个程序块同时运行的现象被称作并发执行。②但并发和并行是不同的两个概念。并发是指一个时间段内同时运行,这是个区间;而并行是指在同一个时间点上运行,这个是一个点。而且并发在同一个时间...

2017-07-02 10:58:33 214

原创 Java 异常 异常链

一、异常在程序运行过程中,会发生各种非正常的状况,比如程序运行时空间不足,网路连接中断,被装载的类不存在等,针对这种情况,在Java中引入了异常,以异常类的i形式对这些非正常情况进行封装,通过异常处理机制对程序运行时发生的各种问题进行处理。二、异常处理1、try....catchtry代码块中编写可能发生异常的Java语句,catch代码块中编写针对异常进行处理的代码,当try代码

2017-07-02 00:14:59 396

原创 多态 Java

1、多态性是指允许不同类的对象对同一消息作出响应。可以设计一个方法,参数类型为类或接口(是一个父类类型的变量),传入的参数是一个子类类型的对象,根据引用子类对象特征的不同,得到不同的运行结果。如下面代码:// 定义接口Anmalinterface Animal { void shout(); // 定义抽象shout()方法}// 定义Cat类实现Animal接口cl

2017-07-01 17:37:35 369

原创 抽象类和接口

1、抽象类当定义一个类时,常常需要定义一些方法来描述该类的行为特征,但有时这些方法的实现时无法确定的,例如定义一个Animal类,其中shout()方法用于表示动物的叫声,但针对不同的动物,叫声是不同的,因此在shout()方法中无法准确描述动物的叫声。针对上面的情况,Java中允许在定义方法时不写方法体,不包含方法体的方法为抽象方法,抽象方法必须使用abstract关键字来修饰。含有抽象

2017-07-01 00:36:44 408

空空如也

空空如也

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

TA关注的人

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