自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Morgan_Xiang的专栏

越学越多,越多越是什么都不会

  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 多线程下的单例模式

        单例模式就不在这里详细介绍了,这里要了解的是如何使单例模式遇到多线程是安全的。        单例模式分为饿汉模式和懒汉模式。        饿汉模式就类在加载的时候就创建实例,当使用类的时候已经将对象创建好了 public class SingletonMode1 { private static SingletonMode1 singletonMode1 = new ...

2018-06-07 11:16:02 340

原创 读写锁 ReentrantReadWriteLock(共享锁+排他锁)

        重入锁ReentrantLock具有完全互斥排他的效果,即在同一时间,只有获取锁的线程才能够执行相应的操作,这样保证了线程安全,但是某些情况下也造成了效率低下的问题,比如被锁的代码块中只有读操作,不会修改任何变量,这样的话就会效率较低,那么我们可以使用JDK提供的另一种读写锁ReentrantReadWriteLock。        ReentrantReadWriteLock包...

2018-06-05 15:02:46 951

原创 重入锁ReentrantLock常用方法(三)

1. isHeldByCurrentThread()    查询当前线程是否保持锁定。    isLocked()    查询是否存在任意线程保持此锁定。public class ReentrantLockMethodTest7 { private ReentrantLock lock = new ReentrantLock(); public void testMethod(...

2018-06-05 11:04:19 1783

原创 Java基础之并发实用工具

   并发实用工具位于java.util.concurrent包以及它的两个子包(java.util.concurrent.atomic和java.util.concurrent.locks)。   java.util.concurrent包定义的关键特征有:    同步器    执行器    并发集合    Fork/Join框架    1. 同步器        同步器提供了同步多线程之间交互...

2018-06-04 22:53:28 167

原创 重入锁ReentrantLock常用方法(二)

重入锁ReentrantLock常用方法1. boolean hasQueuedThread(Thread thread)    Queries whether the given thread is waiting to acquire this lock    查询当前线程是否在等待获取此锁    boolean hasQueuedThreads()    Queries whether an...

2018-06-04 18:06:58 225

原创 重入锁ReentrantLock常用方法(一)

        重入锁ReentrantLock常用方法        1. int getHoldCount()             Queries the number of holds on this lock by the current thread.            查询当前线程保持此锁定的个数,即调用lock()方法的次数。public class ReentrantLoc...

2018-06-04 16:03:35 1528

原创 重入锁ReentrantLock之公平锁与非公平锁

        公平锁:线程获取锁的顺序是按照线程加锁的顺序来分配的,即先进先出。        非公平锁:线程获取锁的顺序是随机的,听天由命。        怎样构建公平锁与非公平锁?        类ReentrantLock有两个构造方法,其中一个是传递一个boolean类型的参数,标识创建一个具有给定公平策略的ReentrantLock,即:1. 创建公平锁或非公平锁public clas...

2018-06-04 14:54:30 250

原创 重入锁ReentrantLock+Condition 实现生产者/消费者模式

        使用ReentrantLock+Condition同样可以实现经典模式生产者/消费者模式        开始测试        1. 两个线程一对一交替执行线程交替执行的方法public class TestPC { private volatile boolean printA = true; private Lock lock = new ReentrantL...

2018-06-04 14:07:47 770

原创 重入锁ReentrantLock+Condition 实现等待/通知

        在Java多线程编程中,可以使用Synchronized来实现同步,可以synchronized类,方法或代码块,另外还可以使用ReentrantLock来实现同样的功能,而且功能更加强大。        1. 使用ReentrantLock实现同步public class ReentrantLockTest { private Lock lock = new Reent...

2018-06-04 12:33:04 1069

原创 JVM-内存区域

        发现自己老了,好多东西开始慢慢忘却,,趁现在还记得一点,感觉记下来,如果得到各位读者的补充或指正,不胜感激。        先画个简易图,看起来清晰明了        其中深色的区域是线程共享数据区,浅色的是线程隔离数据区。        1. Java堆            Java堆是用来存放Java对象实例的内存区域,所有的对象实例以及数组都在堆这分配,而且它也是JVM管理...

2018-06-01 15:52:12 235

原创 多线程通信(四)join()方法的使用

        开发中常常会遇见这样的问题,主线程在运行的时候,需要一些子线程去进行相应的运算,如果主线程需要子线程提供一个处理后的数据,那么主线程就必须要等子线程运行完后才能继续执行。先看下面的这种情况影视作品的一个拍摄场景中,这次不是主角(主线程)的独角戏,他需要一个配角(子线程)来搭戏,但是配角还没来,主角只能等配角来了才能开始,要是配角没来,主角非要开始的话那这个场景的戏就乱了。publi...

2018-06-01 12:47:10 1134 3

原创 多线程通信(三)多线程通知/等待交叉进行

        如何向A、B两个文件中写数据并且向A、B中写数据是交叉进行的,假定向A中写数据的是A线程,向B中写数据的是B线程,那么可以通过定义一个标识,用来控制A、B线程的交叉效果。定义输出类public class FileOutput { // 定义volatile类型的变量,让多个线程能从公共内存中直接获取值 private volatile boolean print...

2018-06-01 10:14:02 307

原创 多线程通信(二)生产者/消费者模式

        生产者/消费者模式其原理是基于wait/notify实现的。        通过代码更能便于理解,废话不多说,上代码。        生成者和消费者一对一模式        生产者public class Producer { private String obj; public Producer(String obj){ super(); ...

2018-05-31 20:21:04 747

原创 多线程通信(一)wait/notify

测试

2018-05-31 15:35:02 202

转载 视图、索引、存储过程优缺点

1.视图(1).什么是视图?视图(View)作为一种数据库对象,为用户提供了一个可以检索数据表中的数据方式。用户通过视图来浏览数据表中感兴趣的部分或全部数据,而数据的物理存储位置仍然在表中。视图是一个虚拟表,并不代表任何物理数据,只是用来查看数据的窗口而已。视图并不是以一组数据的形式存储在数据库中,数据库中只存储视图的定义,而不存储视图对应的数据,这些数据仍存储在导出视图的基本表中。当

2014-06-16 14:11:27 386

原创 Java调用MySQL存储过程

在MySQL存储过程的学习(一)(二)

2014-06-16 11:49:04 481

原创 MySQL存储过程的学习(二)

在(一)中完成了对存储过程的增删改查,接下来学习下怎么使用存储过程

2014-06-16 10:42:42 394

原创 MySQL存储过程的学习(一)

1.存储过程的创建CREATE PROCEDURE proc_demo()BEGINSELECT username FROM t_user;END

2014-06-13 16:56:44 411

原创 使用HttpSessionBindingListener统计在线人数

使用HttpSessionBindingListener统计在线人数统计在线

2014-06-13 10:24:43 929

原创 Java定时器

现在JavaWeb工程中经常见有人问

2014-06-12 17:09:17 422

原创 数据库查询优化

简单总结下sql语句的优化,有自己的

2014-06-12 16:09:00 304

原创 处理高并发要注意的一些东西

1.优化SQL语句,减少使用hibernate直接生产查询语句,对于负责的操作使用

2014-06-12 15:29:09 376

springside-joddform.jar

springside-joddform.jar

2012-01-17

eXtremeComponents1.0.1.jar

eXtremeComponents1.0.1.jar

2012-01-17

空空如也

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

TA关注的人

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