自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 java多线程(6) ----- 单例模式和多线程

6.1立即加载/“饿汉模式”立即加载/“饿汉模式”就是使用类的时候已经将对象创建完毕,常见的实现办法就是直接new实例化。6.2 延迟加载/“懒汉模式”延迟加载/“懒汉模式”就是在调用get()方法时实例才被创建,常见的实现办法就是在get()方法中进行new实例化。使用DCL双检查锁机制来实现多线程环境中的延迟加载单例设计模式。使用双重检查锁功能,成功地解决了“懒汉模式”遇到多线程的问题。DCL...

2018-07-04 21:39:05 1412

原创 java多线程(4) ----- Lock的使用

4.1使用ReentrantLock类调用ReentrantLock对象的lock()方法获取锁,调用unlock()方法释放锁,效果和使用synchronized关键字一样。Object类中的wait()方法相当于Condition类中的await()方法。在condition. await()方法调用之前需要先调用lock.lock()代码获得同步器。Object类中的wait(longtim...

2018-07-03 11:44:27 199

原创 java多线程(3) ----- 线程间通信

3.1使用wait/notify实现线程间的通信wait()方法可以使调用该方法的线程释放共享资源的锁,然后从运行状态退出,进入等待队列,直到被再次唤醒;锁被自动释放;当线程呈wait()状态时,调用线程对象的interrupt()方法会出现InterruptedException异常,锁被释放(在执行同步代码块的过程中,遇到异常而导致线程终止,锁也会被释放);带一个参数的wait(long)方法...

2018-07-03 11:44:06 142

原创 java多线程(5) ----- 定时器Timer

在JDK库中Timer类主要负责计划任务的功能,也就是在指定的时间开始执行某一个任务。Timer类的主要作用就是设置计划任务,但封装任务的类却是TimerTask类。执行计划任务的代码要放入TimerTask的子类中,因为TimeTask是一个抽象类。5.1 方法schedule(TimerTasktask,Date time)的测试该方法的作用是在指定的日期执行一次某一任务。1.执行任务的时间晚...

2018-07-03 11:25:54 142

原创 java多线程(2) ----- 对象及变量的并发访问(下)

1.  synchronized对象监视器为Class时的使用synchronized关键字加到static静态方法上是给Class类上锁,而synchronized关键字加到非static静态方法上是给对象上锁。对象锁和Class锁属于不同的锁,是异步的;而Class锁可以对类所有对象实例起作用,换句话说,类中静态同步synchronized方法与synchronized(class)是同步的。...

2018-07-01 19:07:07 124

原创 java多线程(2) ----- synchronized对象监视器为Object时的使用(上)

synchronized同步方法   “非线程安全”其实会在多个线程对用一个对象中的实例变量进行并发访问时发生,产生的后果就是“脏读”,也就是取到的数据其实是被更改过的。“线程安全”就是以获得的实例变量的值是经过同步处理的,不会出现脏读的现象。  “非线程安全”问题存在于“实例变量”中,如果是方法内部的私有变量,则不存在“非线程安全”问题,所得结果也就是“线程安全”的了。在两个线程访问同一个对象中...

2018-06-30 23:06:09 1175

原创 java多线程(1) ----- java多线程技能(下)

1、停止线程1.1 停止不了的线程调用interrupt()方法仅仅是在当前线程中打了一个停止的标记,并不是真的停止线程。1.2 判断线程是否是停止状态this.interrupted():测试当前线程是否已经是中断状态,执行后具有将状态标志清除为false的功能。package t12;publicclass MyThread extends Thread {       @Override  ...

2018-06-02 21:19:07 148

原创 java多线程(1) ----- java多线程技能(上)

1、实现多线程编程的方式主要有两种,一种是继承Thread类,另一种是实现Runnable接口。使用继承Thread类的方式创建新线程时,最大的局限性就是不支持多继承,因为Java语言的特点就是单根继承,所以为了支持多继承,完全可以实现Runnable接口的方式,一边实现一边继承。注意(1)同一个thread如果多次调用start()方法,则会出现异常Exception in thread“mai...

2018-06-02 11:04:57 272

原创 Spring -----Spring中整合mybatis

1、在xml中定义MyBatis的配置文件,包括一些属性信息。xmlversion="1.0"encoding="UTF-8"?>DOCTYPEconfiguration PUBLIC"-//mybatis.org//DTDConfig 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">configurat

2017-07-11 23:05:53 265

空空如也

空空如也

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

TA关注的人

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