Java之旅
记录Java学习的点点滴滴,分享自己的心得体会。
flyawayl
打工人
展开
-
Java文件复制与读写
函数介绍 public String readLine():每次读取文件的一行,当文件读取完毕时,返回null public int read(byte[] b):将文件内容读取到字节数组b public int write(byte[] b, int off, int len):将字节数组中[off, off+len)位置的内容写入文件文件复制 其实文件复制,在读取原创 2017-08-27 21:31:51 · 1219 阅读 · 0 评论 -
多线程同步锁模拟售票系统
使用同步代码块:保证了数据的安全性,因为售票不止一个售票点,多个售票点同时操作同一个数据(卖票)会出现错误。实例:package cn.edu.pzhu;//票务中心 class TicketsCenter { private int tickets; public TicketsCenter(int tickets) { this.tickets = tickets;原创 2017-08-18 19:25:44 · 1065 阅读 · 0 评论 -
Java中Synchronized的用法
原文:http://blog.csdn.net/luoweifu/article/details/46613015 《编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程》一文详细讲述了线程、进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础。本文将接着讲一下Java线程同步中的一个重要的概念synchronized.synchronized是Java中的关键字,是一种同步锁。转载 2017-08-19 08:59:31 · 307 阅读 · 0 评论 -
生产者与消费者模型
先介绍几个函数: setPriority( ): 设置线程的优先权。 yield( ): 暂停线程的执行,给其它具有相同优先权的线程执行的机会,若此时没有其它线程执行,则此线程继续执行。这个函数并不会释放锁住的对象。 join( ): 等待加入的线程执行完毕才会执行下一个线程。加入的线程通过interrupt( )来唤醒。 wait( ): 类似sleep( ), 不同的是,wait( )会先释放锁原创 2017-08-19 09:37:41 · 267 阅读 · 0 评论 -
多线程与死锁
死锁 死锁发生的情况:创建两个字节数组LockA和LockB,再创建两个线程A和B,让每个线程都用synchronized锁住字节数组(A先锁LockA,再尝试去锁定LockB;B先锁LockB,再尝试锁定锁定LockA),如果A锁住LockA,B锁住LockB,A就没办法锁住LockB,B也没办法锁住LockB,两者相互等待,这时就陷入了死锁。代码示例package cn.edu.pzhu;原创 2017-08-19 19:03:24 · 257 阅读 · 0 评论 -
Java文件及文件夹的创建与删除
功能 这个实例实现了在D盘创建一个文件和文件夹,并删除它们。函数介绍 createNewFile():当文件不存在时,根据绝对路径创建该文件。 delete():删除文件或者文件夹。 exists():判断文件或者文件夹是否存在。 isDirectory():判断是否为文件夹。 mkdir():创建文件夹。 mkdirs():创建文件夹及原创 2017-08-20 18:43:28 · 2952 阅读 · 1 评论 -
String、StringBuffer、与StringBuilder的区别
转载自博客园,原文链接:String、StringBuffer、与StringBuilder的区别 相信大家都知道StringBuffer、StringBuilder,但是这两个的用法都差不多,到底有什么区别呢,这也是面试的时候问的比较多的一道题,这里我就来说说,这两个的区别结合String来说~ String:查看源码得知,String类的声明是:public final,所以可以很清楚的知道,转载 2017-08-20 20:31:29 · 225 阅读 · 0 评论 -
Java遍历文件目录
函数介绍 File[] listFiles():返回当前文件的子目录或子文件的文件数组.遍历目录 调用listFiles()即可得文件的子目录和子文件,如果存在子目录,那么子目录需要再次调用listFiles()去处理该目录。代码实例package cn.edu.pzhu;import java.io.*;public class FileDirListDemo { public原创 2017-08-24 17:07:00 · 850 阅读 · 0 评论