- 博客(10)
- 收藏
- 关注
原创 浅谈java多线程(四)——生产者消费者模型
在java多线程共享数据中有一个经典的模型就是生产者消费者模型,他是实现数据的一一对应的,就是你生产者生产一个东西,消费者就消费那个东西,并且有先后顺序只有先生产了,才能被消费。在这我要先介绍一个方法wait(): wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入...
2018-10-07 02:03:53
215
原创 浅谈java多线程(三)——线程的同步和死锁
今天我们聊聊线程同步的问题:我们知道在多线程共享数据时,有可能遇到多个线程同时处理同一个数据或者资源的问题如果这时候一个线程对数据进行增加操作,一个线程对数据进行删除操作我们知道这样是不行的,这时候我们就要用到线程的同步了,线程的同步就是为了解决数据共享的问题,所谓线程的同步就是指多个线程在同一时间段内只能有一个线程执行指定代码,其他线程要等待此线程完成之后才能继续执行。线程进行同步有三...
2018-10-07 01:20:43
341
原创 浅谈java多线程(二)——线程的中断
1.首先我们来了解java中的一个join()方法,它是Thread中的一个方法,join()方法在java的API文档时的描述为: join()方法 在主线程中,加入了myThread.join(); 把谁加入了就要等谁。同时join还有join(millis)方法,可以加入等待时间,效果上类似sleep,但是还是有实际区别的。join底层是wait方法,所以它是会释放对象锁的,而sl...
2018-10-06 22:24:41
381
原创 浅谈java多线程(一)
在我们学习java的线程时首先我们来了解两个两个概念:1.什么是进程 2.什么是线程1.进程:程序是指令和数据的有序集合,它本身没有任何运行的含义,是个静态的概念而我们所说的进程是程序在处理机上的一次执行过程,它是一个动态的概念,他是一个具有独立的功能的程序,是一个实体,每一个进程都有自己的地址空间,简单来说,我们在计算机上打开一个我们编程用的eclipse编译软件,或者打开一个音乐播放器就...
2018-10-06 02:54:49
177
原创 java字节数组流——读取字符串中的英文字母
之前在做恒生电子java开发的笔试题中,有这么个题目,给定你一个字符串,字符串中包含数字,英文大小写字母,各种符号等,要求我们取出里面的英文大写字母,对于这个题目我用的是java中IO流中的字节数组流进行操作的。下面我介绍一下什么是字节数组流:字节数组流包括字节数组输入流ByteArrayInputStream和字节数组输出流ByteArrayOutputStream,ByteArrayI...
2018-10-03 16:38:52
2228
原创 java-IO流中的对象流和序列化理解
首先我们介绍两个对象流的类:ObjectOutputStream:将java对象的基本数据类型和图形写入OutputstreamObjectInputStream:对以前使用的ObjectOutputStream写入的基本数据类型和图形对象进行反序列化那么什么是序列化呢:按照字面上的意思,我们不难知道是有顺序的排列,那么怎把对象序列化到文件中呢,我们不可能直接把对象存到文件中,这在ja...
2018-10-03 01:25:14
502
原创 数据结构之表达式二叉树
java中的树是一种重要的非线性数据结构,我们之前学习的,数组,列表属于线性的数据结构, 直观的的看,Java中的树是数据元素(我们在Java的树中我们称为结点)按照分支的关系组织起来的结构,二叉树则是每个结点最多只有两个子树的有序树,在二叉树中的子树通常称为左子树和右子树。 我们要讲的表达式二叉树是什么呢:怎么生成表达式二叉树呢?下面我举个列子来介绍一下 ,我们在生成表达式二叉树时有个...
2018-09-12 01:46:10
1363
原创 java学习之字节流和字符流
首先我们简单介绍一下java中的I\O流:java中的流是一组有起点有终点的字节集合,它的本质是数据传输,是对java中数据传输的总称,即数据在两设备中的传输称为流。java中I\O流我们根据处理的数据类型不同我们分为:字节流和字符流。根据数据的流向不同我们分为:输入流和输出流,Java中的输入输出流是以我们的程序为参照物,从外部向我们的程序中传输数据我们称为输入流,从程序中向外部传输数据...
2018-09-09 12:54:15
214
原创 java中的File类
java中的File类是计算机的文件和目录路径名的抽象表达形式,比如我们的电脑中的一个.txt文件是一个File,一个文件夹也可是File,java中我们对一个文件或者一个文件夹可以进行包括新建,删除,等等一系列操作,JDK中提供了一个File类,该类封装了一个路径,并提供了一系列用于操作该路径下文件的方法。下面我简单介绍一下新建文件夹mkdir()新建一个文件createNewFile();,删...
2018-09-07 20:24:31
143
原创 Java中自定义单链表
首先我们先了解一下什么是链表: 链表是一种数据结构,它是一种物理存储单元上非连续,非顺序的存储单元,只是在逻辑上是连续的,链表逻辑形态和铁链相识,链表是由一系列结点组成,结点在运行时动态生成,每个结点由两部分组成及:存储数据元素的数据域,和存储下一个结点的地址的指针域,链表有易于插入,删除,存储空间灵活等优点,但是不允许随机存取。 回归正题,我们来了解一下什么是单向链表:单...
2018-09-06 14:11:22
12785
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人