qiuri2008

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  JAVA

上一页 1 2 3 4 5 6 下一页

Java的学习
摘要:在阎宏博士的《JAVA与模式》一书中开头是这样描述原型(Prototype)模式的: 原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。这就是选型模式的用意。 原型模式的结构 原型模式要求对象实现一个可以“克隆”自身的接口 阅读全文
posted @ 2017-08-04 21:59 江召伟 阅读(254) 评论(0) 推荐(0)

摘要:在阎宏博士的《JAVA与模式》一书中开头是这样描述建造(Builder)模式的: 建造模式是对象的创建模式。建造模式可以将一个产品的内部表象(internal representation)与产品的生产过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。 产品的内部表象 一个产品常 阅读全文
posted @ 2017-08-04 21:58 江召伟 阅读(280) 评论(0) 推荐(0)

摘要:在阎宏博士的《JAVA与模式》一书中开头是这样描述单例模式的: 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 单例模式的结构 单例模式的特点: 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供 阅读全文
posted @ 2017-08-04 21:57 江召伟 阅读(173) 评论(0) 推荐(0)

摘要:在阎宏博士的《JAVA与模式》一书中开头是这样描述工厂方法模式的: 工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。 工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中 阅读全文
posted @ 2017-08-04 21:56 江召伟 阅读(315) 评论(0) 推荐(0)

摘要:场景问题 举个生活中常见的例子——组装电脑,我们在组装电脑的时候,通常需要选择一系列的配件,比如CPU、硬盘、内存、主板、电源、机箱等。为讨论使用简单点,只考虑选择CPU和主板的问题。 事实上,在选择CPU的时候,面临一系列的问题,比如品牌、型号、针脚数目、主频等问题,只有把这些问题都确定下来,才能 阅读全文
posted @ 2017-08-04 21:56 江召伟 阅读(230) 评论(0) 推荐(0)

摘要:在阎宏博士的《JAVA与模式》一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。 那么简单工厂模式是在什么场景下使用呢,下面就以本人的理解举例说明: 就拿登录 阅读全文
posted @ 2017-08-04 21:55 江召伟 阅读(189) 评论(0) 推荐(0)

摘要:1. 基本数据员的默认值 Boolean false Char '\u0000'(null) byte (byte)0 short (short)0 int 0 long 0L float 0.0f double 0.0d 2、static关键字 通常,我们创建类时会指出那个类的对象的外观与行为。除 阅读全文
posted @ 2017-07-27 17:29 江召伟 阅读(176) 评论(0) 推荐(0)

摘要:计数信号量用来控制同时访问某个特定资源的操作数或同时执行某个指定操作的数量 A counting semaphore.Conceptually, a semaphore maintains a set of permits. Each acquire blocks if necessary unti 阅读全文
posted @ 2017-07-22 14:00 江召伟 阅读(1141) 评论(0) 推荐(0)

摘要:Semaphore的作用: 在Java中,使用了synchronized关键字和Lock锁实现了资源的并发访问控制,在同一时间只允许唯一了线程进入临界区访问资源(读锁除外),这样子控制的主要目的是为了解决多个线程并发同一资源造成的数据不一致的问题。在另外一种场景下,一个资源有多个副本可供同时使用,比 阅读全文
posted @ 2017-07-22 13:26 江召伟 阅读(439) 评论(0) 推荐(0)

摘要:一个信号量有且仅有3种操作,且它们全部是原子的:初始化、增加和减少 增加可以为一个进程解除阻塞; 减少可以让一个进程进入阻塞。 信号量维护一个许可集,若有必要,会在获得许可之前阻塞每一个线程: //从此信号量获取给定数目的许可,在提供这些许可前一直将线程阻塞。 acquireUninterrupti 阅读全文
posted @ 2017-07-22 11:18 江召伟 阅读(1126) 评论(0) 推荐(0)

摘要:wait(),notify()和notifyAll()都是java.lang.Object的方法: wait(): Causes the current thread to wait until another thread invokes the notify() method or the no 阅读全文
posted @ 2017-07-21 15:32 江召伟 阅读(489) 评论(0) 推荐(0)

摘要:一,volatile关键字的可见性 要想理解volatile关键字,得先了解下JAVA的内存模型,Java内存模型的抽象示意图如下: 从图中可以看出: ①每个线程都有一个自己的本地内存空间--线程栈空间???线程执行时,先把变量从主内存读取到线程自己的本地内存空间,然后再对该变量进行操作 ②对该变量 阅读全文
posted @ 2017-07-21 14:49 江召伟 阅读(307) 评论(0) 推荐(0)

摘要:一,介绍 本文介绍JAVA多线程中的synchronized关键字作为对象锁的一些知识点。 所谓对象锁,就是就是synchronized 给某个对象 加锁。关于 对象锁 可参考:这篇文章 二,分析 synchronized可以修饰实例方法,如下形式: 这里,synchronized 关键字锁住的是当 阅读全文
posted @ 2017-07-21 14:37 江召伟 阅读(287) 评论(0) 推荐(0)

摘要:一. 线程状态类型1. 新建状态(New):新创建了一个线程对象。2. 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。3. 运行状态(Running):就绪状态的线程获取了CPU,执行程序代 阅读全文
posted @ 2017-07-20 18:36 江召伟 阅读(909) 评论(0) 推荐(0)

摘要:1. 引言 当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制台敲入quit命令以结束某个后台服务时……都需要通过一个线程去取消另一个线程正在执行的任务。Java没有提供一种安全直接的方法来停止某个线程,但是Java提供了中断机制。 如果对Java中断没有一个全面的了解,可能会误以为被中 阅读全文
posted @ 2017-07-20 10:45 江召伟 阅读(7637) 评论(1) 推荐(2)

摘要:以前虽然知道一些异常的处理,也用过一些,但是对throw和throws区别还是有不太清楚。今天用实例测试一下。 异常处理机制 异常处理是对可能出现的异常进行处理,以防止程序遇到异常时被卡死,处于一直等待,或死循环。 异常有两个过程,一个是抛出异常;一个是捕捉异常。 抛出异常 抛出异常有三种形式,一是 阅读全文
posted @ 2017-07-19 19:28 江召伟 阅读(415) 评论(0) 推荐(0)

摘要:1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗? Java 1 2 3 4 5 6 7 new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method s 阅读全文
posted @ 2017-07-18 17:12 江召伟 阅读(260) 评论(0) 推荐(0)

摘要:Java线程之中,一个线程的生命周期分为:初始、就绪、运行、阻塞以及结束。当然,其中也可以有四种状态,初始、就绪、运行以及结束。 一般而言,可能有三种原因引起阻塞:等待阻塞、同步阻塞以及其他阻塞(睡眠、join或者IO阻塞);对于Java而言,等待阻塞是调用wait方法产生的,同步阻塞则是由同步块( 阅读全文
posted @ 2017-07-18 16:37 江召伟 阅读(862) 评论(0) 推荐(1)

摘要:在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆: 只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM 阅读全文
posted @ 2017-07-18 13:50 江召伟 阅读(311) 评论(0) 推荐(0)

摘要:对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。 sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。 在调用sleep()方法的过程中,线程不会 阅读全文
posted @ 2017-07-17 17:40 江召伟 阅读(333) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 下一页