自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黑马程序员_ord

永远相信,美好的事情即将发生......

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

原创 Java线程知识__其他几种线程同步的工具类的使用(CyclicBarrier,CountDownLatch,Exchanger)

1,CyclicBarrier类,表示指定数量的线程都在等待吗,只有到齐了才出发进行下面的步骤。就相当于我们一个班出去春游,规定在图书馆集合,有的同学先到,有的后到,但是先到的不能先走只有等到全部来齐了,才能上车出发。示例:模拟同学们出去春游,只有人都到齐了才能进入下一个景点。

2014-07-22 20:48:13 589

原创 Java线程之信号灯的使用

java中的信号灯Semaphore的使用

2014-07-22 20:39:19 1674

原创 Java多线程高级_读写锁

一,jdk1.5的上锁机制和解锁机制  传统的方法是通过synchronized给代码块上锁,jdk1.5之后提供了显示的锁机制,通过创建ReentrantLock对象:Lock lock = new ReentrantLock();获得一个锁,然后调用ReentrantLock类的lock()方法上锁,unLock()方法解锁。代码中给出了两种上锁的方式,注意注释部分。

2014-06-22 20:45:50 467

原创 黑马程序员_线程高级_多线程,同步,互斥,线程数据共享

一,线程回顾线程就是进程的独立控制单元。控制着进程的执行。一个进程至少有一个线程。进程就是正在执行的程序。window操作系统的Ctrl + Alt + Del进入任务管理器就可以看到很多进程。传统线程的创建方式:        1,直接继承自Thread类,并且重写Thread类的run方法,将要执行的线程代码放在run方法的方法体内部。 

2014-05-21 19:38:05 523

原创 黑马程序员_7K面试题_银行业务调度系统

银行业务调度系统 模拟实现银行业务调度系统逻辑,具体需求如下: Ø 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 Ø 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。 Ø 异步随机生成各种类型的客户,生成各类型用户的概率比例为: 

2014-05-21 19:17:25 588

原创 黑马程序员_7K面试题_交通灯管理系统

一,面向对象在分析        面向对象的一个重要经验:谁拥有数据,谁就对外提供操作这些数据的方法。比如:人在黑板上画圆,其实并不是人在画,而是黑板在画圆,人调用了黑板的画圆的方法,其实真正在画圆的是黑板,黑板拥有圆对象,所以黑板应该提供画的方法。人关门也是一样,我们只是调用了门的关的方法,其实还是门自己关上的。包括列车司机刹车,售票员售票等等。1,面向对

2014-05-21 17:51:27 720

原创 黑马程序员_Java基础加强_代理

一,代理什么叫代理呢?要为已经存在的具有相同接口的目标类的每个方法增加一些额外的系统功能,比如:异常,日志,方法运行时间,事务管理等。这时候就需要实现代理。可以生成一个代理类,该代理类拥有与给定类的相同的方法,并且调用该类的方法。比如:class A{sayHello() {}}要为该类的sayHello方法增加一个时间监

2014-05-21 17:08:49 400

原创 黑马程序员_Java基础加强_Java类加载器,委托机制,模板方法设计模式

一,Java的类加载器Java虚拟机可以安装多个类加载器,系统默认主要有三个类加载器,每个类负责加载特定的位置的类。这三个类加载器是:BootStrap,ExtClassLoader,AppClassLoader。类加载器也是一个Java类,所以类加载器也要被加载器加载,这样加载类加载器的加载器就不是一个Java类,这个加载器就是BootStrap。

2014-05-21 16:33:47 457

原创 黑马程序员_Java基础加强_注释的使用,哈希算法补充

一,注释注释就相当于一个标记,加上了标记就是给自己的程序加上了某种标记,标记可以加在包,类,方法,字段,方法参数,局部变量上面。在java.lang中有最基本的注释类型。在myEclipse中编写Java程序时方法的重写的注释是:@override,一旦添加这个注释,如果重写方法是不下心写错一点,编译器是会报错的。比如:当某个方法不建议使用,

2014-05-21 16:23:16 615

原创 黑马程序员_Java基础加强_内省

一,内省(IntroSpector)        内省就是Java语言对JavaBean属性的一种缺省的处理方法。什么叫JavaBean呢?javaBean其实也是一种Java类,只不过是这种Java类必须符合某种特殊的规则。这种规则就是:类的方法有小写的set和get开头,我们可以把一个JavaBean当做一个普通的Java类来使用,但是普通的Java类不一定可以当做Jav

2014-05-21 16:17:00 439

原创 黑马程序员_Java基础加强_反射

一,反射(反射不是jdk1.5的新特性,它是1.2就出现的。)反射的基石是-->ClassJava程序中的各个Java类(class)是属于同一类事物的,这类事物在Java中也属于一个类的,这个类就是Class类。比如定义一个Person类,Person.class就是Class的一个实例对象,java.lang.String.class也是Class的一个实例对象

2014-05-21 15:58:30 433

原创 黑马程序员_Java基础加强_jdk1.5重要新特性详解

一,静态导入:    import语句是导入包中的某个类,或者包中的所有类,它不占用任何资源,只是让程序员们少写一些包名和类名。    import static 语句是导入一个包中的某个静态方法或者所有静态方法。比如说Math类,Arrays类,    Collections类,导入这些类之后,就可以不用写这些类名了,可以直接写方法。    impor

2014-05-21 15:38:41 589

原创 黑马程序员_Java基础_正则表达式,校验QQ号,手机号,邮箱,IP地址排序,网络爬虫

一,正则表达式概述:符合一定规则的表达式。用于专门用于操作字符串的。虽然字符串中有很多字符串的操作方法,但是使用起来比较繁琐,而且代码量比较多。特点:用一些特定的符号表示以一些代码操作,简化书写,学习正则表达式就是学习一些特殊符号的使用。好处:可以简化对字符串的复杂操作。 拿一个简单的例子比较说明:比如需要编写一个程序验证QQ号是否正确,首先QQ号必须是

2014-05-21 11:13:47 1937

原创 黑马程序员_Java基础_网络编程_客户端服务端数据传输,交互,客户端请求服务原理,自定义浏览器,URL统一资源定位符

网络编程在实际应用当中,并不只是简单的单线程应用,因为客户端和服务端之间经常存在多个客户端同时访问一个服务端的情况,服务端必须能够同时接收多个服务端的访问,这就要用到多线程技术。本节总结主要给出网络编程的一些高级应用实例。 一,需求:定义服务端和客户端,客户端上传图片文件到服务端,服务端允许同时接收多个用户上传文件。分析:之前的上传图片的程序,服务端只允许单个客户端连接

2014-05-21 10:47:30 1475

原创 黑马程序员_Java基础_网络编程_TCP协议编程,客户端服务端程序

一,TCP通信在UPD通信分成发送端和接收端,而在TCP协议中则分成客户端和服务端。客户端对应的对象时Socket,服务端对应的对象时ServerSocket。客户端一建立就会去寻找服务端,原因正是因为TCP是面向连接的,所以Socket一建立服务必须要有服务端存在,并连接成功。形成通道后在该通道进行数据传输。(TCP/IP通信协议的特点在网络编程UDP中已经做过详细的概述)

2014-05-21 10:14:26 803

原创 黑马程序员_Java基础_网络编程_UDP传输协议编程,控制台聊天程序

一,网络编程1,网络通信概述:网络在我们生活中很常见,比如我们使用QQ,微信,MSN等聊天软件,都是通过网络进行数据传输的。实现这样的数据传输需要满足那些条件呢?能够满足这些条件的应用程序就可以看做是一个网络应用程序。当我们和别人之间使用这样的程序进行通信时,首先我们必须知道别人在哪里,知道别人的电脑主机地址,这个地址也就是我们很熟悉的IP地址。但是只知道别人的IP地址还不够,我们的电

2014-05-21 09:52:30 713

原创 黑马程序员_Java基础_GUI图形界面入门

一,GUI(Graphical User Interface)图形用户接口Java中为GUI提供的对象都存储在java.Awt和javax.Swing两个包中。java.Awt:Abstract Window ToolKit(抽象窗口工具包),需要调用本地系统方法实现功能,属于重量级控件。 javax.Swing:在AWT的基础上,建立的一套图形界面系统,其中提

2014-05-21 09:37:07 802

原创 黑马程序员_Java基础_IO流_打印流,合并流,分割文件,对象持久化,管道流...其他常用流

一,IO的打印流:PrintStream和PrintWriter        public PrintWriter(OutputStream out,boolean autoFlush)    该打印流的强大之处在于可以提供自动刷新功能,可以直接使用println方法将数据打印到控制台或某个指定的文件,之前都是使用Write()方法,然后刷新流,将数据刷新到内存中,现在不用手

2014-05-20 23:26:51 878

原创 黑马程序员_Java基础_IO流_编码表,编码与解码

一,字符流的出现时为了能够操作字符数据,它能操作字符的原因是在其内部加入了编码表。字节和字符的转换是要通过转换流:InputStreamReader和OutputStreamWriter。这两个流对象时加入了编码表的流对象,当然加入编码表的流对象还有PrintStream和PrintWriter,但是这两个对象只能进行数据的打印,不能读取。 二,所谓的编码表就是,机器中

2014-05-20 23:09:42 600

原创 黑马程序员_Java基础_IO流_File类,列出(删除)目录下内容,Properties类,付费软件提示原理

一,File类1,File类是文件和目录的抽象表示形式。public class Fileextends Objectimplements Serializable, Comparable它将文件或者文件夹封装成对象,方便对文件或文件夹的属性信息进行操作。File对象可以作为参数传递给流的构造函数。2,常用的构造方法:          File(Fil

2014-05-20 23:01:31 731

原创 黑马程序员_Java基础_IO流_字节流,字节流操作文件,缓冲区字节流,流的使用规律,异常记录原理

一,字节流字节流顾名思义就是操作字节的流。字节流是可以操作任意数据的,比如说媒体数据,音乐,电影,图片等,当然它也是可以操作字符的。字符流就是基于字节流来实现的,我们知道一个字节是8个二进制位,在UTF-8中一个字节对应一个英文字符,人们发现用单个字节操作文本比较麻烦,所以就对字节流进行封装,当对文本进行操作的时候就不直接对字节流进行操作,而直接对封装后的字节流也就是字符流进行操作,这

2014-05-20 22:45:43 1675 1

原创 黑马程序员_Java基础_IO流_字符流,带缓冲区的字符流,文本文件读写

一,IO流是java学习中十分重要的一个知识点,I代表的是Input,O代表的是Output。到底什么是IO流呢?其实IO流就是用来处理设备之间的数据传输,包括我们复制文本到另一个文本,拷贝电影到别的移动设备等等。Java中对数据的操作都是通过流的方式,java中操作流的对象都在IO包中。 二,流的分类:1,按照操作数据分为字节流和字符流。2,按照流向分类分为输

2014-05-20 22:23:20 1525

原创 黑马程序员_Java基础_装饰设计模式

一,装饰设计模式:当想要对已有的对象进行功能增强时,可以定义一个类,基于有的功能,并提供加强的功能。那么自定义的该类成为装饰类。装饰类会通过构造函数接受被装饰的对象,并基于该装饰的对象的功能,提供更强的功能。装饰类最典型的例子是IO流中的BufferedWriter和BufferedReader。     它们的构造函数:    public Buffe

2014-05-20 21:47:20 608

原创 黑马程序员_Java基础_集合框架工具类

一,集合框架工具类Collections首先要明确Collections和Collection是两个完全不同的概念,Collection是集合框架中的一员,它是一个根接口,他有很多子接口,其中有我们最常用的List和Set集合。Collections是集合框架的工具类,它有很多方法可以对很多集合进行操作,并且它没有构造函数,它提供的方法都是静态的,因为它能操作的集合都共享它的方法,所以

2014-05-20 21:30:56 597

原创 黑马程序员_Java基础_泛型的使用,通配符,泛型限界

一,泛型泛型是jdk1.5出现的新特性,用于解决安全问题,它是一种类型安全机制。我们在定义数组的是时候,就已经明确了数组中应该存储的元素类型,而在集合中没有这个明确,所以在jdk1.5出现了泛型,在定义集合容器的时候,就规定这个集合应该存储什么类型的元素。 泛型的好处:1,将运行时期出现的ClassCastException转移到了编译时期。方便程序员解

2014-05-20 21:10:10 505

原创 黑马程序员_Java基础_集合框架成员Map

一,Map接口不是Collection的子接口,但Map集合也是集合框架中的一员。二,Map集合中我们重点要掌握HashMap,HashTable,TreeMap这三个分类,以及它们的区别,以及各自的应用领域。 Map接口的方法分类主要有:1,判断:containsKey(Object key)containsValue(Object value

2014-05-20 20:54:39 520

原创 黑马程序员_Java基础_集合框架成员Collection

一,集合类在C语言中我学习过数据结构,但是在java中的数据结构就是集合对数据的存储方式。学习集合后我的感触就是,集合把数据结构的封装的特别好,其实这些是源于在java中一切事物都是对象,我们不需要管一个方法内部是怎样实现的,我们只要会使用,能够明白其原理就可以了。集合就为我们提供了很多操作数据的方法,这也是这么多人爱好学习java的原因吧。下面用专业术语对集合的概念做一下总结

2014-05-20 20:35:15 565

原创 黑马程序员_Java基础_API文档之String类

一,javaAPI文档,就是java给我们的已经实现了的接口,也就是我们能够直接使用的部分。    其实我们在学习java的过程实际上就是学习javaAPI的过程,学会了javaAPI的使用,熟记里面的常用接口,类,方法,掌握他们的用法,你就学会了java。 二,java中的字符串类为什么要将字符串String类独立拿出来学习呢?因为很多计算机语言中都字符串进行

2014-05-20 19:39:05 503

原创 黑马程序员_Java基础_线程间通信,生产者消费者案例,jdk1.5锁机制,守护线程

一,线程间的通信1,在线程中我们使用多线程进行操作的时候,都是对同一个资源进行相同的操作。如果我们想要通过多线程操作某一个资源但是操作的动作都不相同的时候,这时候就会有两个run方法。那么这两个run方法就代表不同的动作,也就是有不同的线程,那么怎样让着两个线程之间的同步是安全的呢?方法当然是加锁。我们先来看这个程序的需求:一个人在往系统中输入一个人的姓名和性别,另一个人在

2014-05-20 19:22:00 574

原创 黑马程序员_Java基础_线程基础,创建,同步(单例设计模式的同步),死锁

一,进程与线程1,进程定义:进程就是指正在执行的程序,怎样查看正在执行的进程呢?我们在使用电脑的时候,其实就有多个正在执行的程序,通过Ctri+Alt+Del 组合键可以进入windows任务管理器查看进程,我们进入后会看到很多.exe,这些就是我们的电脑当前正在执行的程序,也就是一个个的进程。每一个程序执行的都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。

2014-05-20 18:54:47 637

原创 黑马程序员_Java基础_异常

异常:是什么?是对问题的描述,将问题进行对象的封装。----------------------异常体系:Throwable|--Error|--Exception|--RuntimeException|--IOException异常体系的特点:异常体系中所有类以及建立的对象都具有可抛性。也就是说可以被throw和throws关键字操作;

2014-05-20 18:12:04 499

原创 黑马程序员_Java基础_抽象类,模板设计模式,接口,内部类,多态

一,抽象类

2014-05-20 12:45:52 740

原创 黑马程序员_Java基础_this,super,static,final关键字

四,类中this关键字的使用1,当成员变量和局部变量重名时,可以使用this关键字来区分。this关键字代表的是本类对象,this一般是在一个函数中,那个对象在调用this所在的函数,this就代表那个对象。//this关键字的使用class Person{ private String name; private int age; Person(int age) {

2014-04-24 18:37:26 710

原创 黑马程序员_Java基础_面向对象,封装,继承,单例设计模式,构造函数,构造代码块

一,面向对象1,基本理解面向对象其实是一种思想,现实生活中我们所看到的东西,包括想到的一个概念都可以看做是一个对象。如果有人问到你对面向对象的理解,可以举一个例子说明,比如:我们去餐馆就餐,首先我们需要叫来服务员点菜,因为服务员具备点菜的功能,点完餐后,服务员会将菜单给厨师,厨师具有做饭的功能,会根据你的选择做出你想吃的东西,然后服务员给你上菜,你就可以开始吃了。这其中的面向对

2014-04-24 18:36:53 856

原创 黑马程序员_Java基础_函数,数组,常用排序

一,

2014-04-24 18:36:13 474

原创 黑马程序员_Java基础_编程基础

1,Java程序是以.java为后缀的,通过编译器编译后的文件时.class文件。.class

2014-04-24 18:34:58 500

空空如也

空空如也

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

TA关注的人

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