文章分类 - java
摘要:一、“三层”架构就一定要分三层吗?答案当然是否定的,分层的根本目的就是要达到“高内聚,低耦合”。我们不应该为了分层而分层,那么什么样的分层才是最好的分层呢?我认为,没有最好的分层,只有合理的分层。同时,我们也要根据具体的情况来分析,如果系统很small,不用分层也不是不可。当然,对于一些逻辑复杂的大
阅读全文
摘要:引言在项目开发中,数据库的更换是需要考虑的问题,不同的数据库有着不同的访问方式,不同的SQL语法。恐怕最让人头疼的是项目开发完了,用户提出了更换数据库的要求,修改并不是一件容易的事儿。那么如何应对修改,本文将通过三层架构+抽象工厂+反射+配置文件结合实例讲述数据库的更换。概念三层架构三层架构即在软件
阅读全文
摘要:1.静态属性和静态方法是否可以被继承?是否可以被重写?1)先说是否可以被继承 1public class One { //静态属性和静态方法是否可以被继承?是否可以被重写?以及原因? public static String one_1 = "one"; public static void one
阅读全文
摘要:1、两者的区别 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁)。 wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地
阅读全文
摘要:对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。 sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。 在调用sleep()方法的过程中,线程不会
阅读全文
摘要:转自:https://juejin.im/entry/596343686fb9a06bbd6f888c 前言 生产者和消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一个存储空间,生产者往存储空间中添加产品,消费者从存储空间中取走产品,当存储空间为空时,消费者阻塞,当存储空间满时
阅读全文
摘要:Java生产者消费者是最基础的线程同步问题,java岗面试中还是很容易遇到的,之前没写过多线程的代码,面试中被问到很尬啊,面完回来恶补下。在网上查到大概有5种生产者消费者的写法,分别如下。 用synchronized对存储加锁,然后用object原生的wait() 和 notify()做同步。 用c
阅读全文
摘要:1、概述 生产者和消费者问题是一个经典的线程同步问题。生产者(Producer)生产产品(Product),放入仓库(Repertory);消费者(Consumer)消费产品,从仓库里获取。仓库爆满时生产者等待消费者消费,仓库为空时消费者等待生产者生产。2、实现2.1、synchronized 生产
阅读全文
摘要:一、问题描述生产者消费者问题(Producer-consumer problem),也称有限缓冲问题(Bounded-buffer problem),是一个多线程同步问题的经典案例。生产者生成一定量的数据放到缓冲区中,然后重复此过程;与此同时,消费者也在缓冲区消耗这些数据。生产者和消费者之间必须保持
阅读全文
摘要:Thread.yield( )方法: 使当前线程从执行状态(运行状态)变为可执行态(就绪状态)。cpu会从众多的可执行态里选择,也就是说,当前也就是刚刚的那个线程还是有可能会被再次执行到的,并不是说一定会执行其他线程而该线程在下一次中不会执行到了。 用了yield方法后,该线程就会把CPU时间让掉,
阅读全文
摘要:thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。 比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。 t.join(); //调用join方法,等待线程t执行完毕t.join(1000); //等待 t 线程,等待
阅读全文
摘要:简介join()是Thread类的一个方法。根据jdk文档的定义: public final void join()throws InterruptedException: Waits for this thread to die.join()方法的作用,是等待这个线程结束;但显然,这样的定义并不清
阅读全文
摘要:一:缓冲流1:定义:在内存与硬盘之间创建一个大小合适的缓冲区,当内存和硬盘进行数据访问时,能提高访问硬盘的次数,提高效率。2:分类:缓冲分为字节缓冲流(BufferedInputStream和BufferedOutputStream)和字符缓冲流(BufferedReader和BufferedWri
阅读全文
摘要:在io包里,打印流是输出最方便的类 主要包含字节打印流PrintStream,字符打印流PrintWriter PrintStream是OutputStream的子类,把一个输出流的实例传递到打印流之后,可以更加方便地输出内容,相当于打印流把输出流重新包装一下 PrintStream类的print(
阅读全文
摘要:InputStream.read(byte[] b)从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。OutputStream.write(byte[] b) 将 b.length 个字节从指定的 byte 数组写入此输出流。PrintWriter(Writer out) 创建不带自动行
阅读全文
摘要:Example10_8.java Example10_9.java
阅读全文
摘要:Example10_11.java Example10_12.java
阅读全文

浙公网安备 33010602011771号