- 博客(24)
- 资源 (26)
- 收藏
- 关注
原创 OpenResty连接Mysql
openresty连接mysql lua-resty-mysql模块的官方文档地址: https://github.com/openresty/lua-resty-mysql lua-resty-mysql - Lua MySQL client driver for ngx_lua based on the cosocket API lua-resty-mysql模块是基于cosocket A...
2019-02-28 11:54:01 621
原创 Java多线程系列--“JUC锁”04之 公平锁(二)
概要 前面一章,我们学习了“公平锁”获取锁的详细流程;这里,我们再来看看“公平锁”释放锁的过程。内容包括: “公平锁”的获取过程请参考“Java多线程系列--“JUC锁”03之 公平锁(一)”,锁的使用示例请参考“Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock”。 注意: (01) 这里是以“公平锁”来进行说明。 (02) 关于本章的术语,如“AQS”,“CA...
2019-02-25 14:37:43 125
原创 Java多线程系列--“JUC锁”03之 公平锁(一)
目录 概要 基本概念 ReentrantLock数据结构 参考代码 获取公平锁(基于JDK1.7.0_40) 一. tryAcquire() 二. addWaiter(Node.EXCLUSIVE) 三. acquireQueued() 四. selfInterrupt() 概要 本章对“公平锁”的获取锁机制进行介绍(本文的公平锁指的是互斥锁的公平锁),内容包括: “公...
2019-02-25 11:22:57 189
原创 Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock
目录 ReentrantLock介绍 ReentrantLock函数列表 ReentrantLock示例 本章对ReentrantLock包进行基本介绍,这一章主要对ReentrantLock进行概括性的介绍,内容包括: ReentrantLock介绍 ReentrantLock是一个可重入的互斥锁,又被称为“独占锁”。 顾名思义,ReentrantLock锁在同一个时间点只能被...
2019-02-25 10:53:01 142
原创 Java多线程系列--“JUC锁”01之 框架
根据锁的添加到Java中的时间,Java中的锁,可以分为"同步锁"和"JUC包中的锁"。 同步锁 即通过synchronized关键字来进行同步,实现对竞争资源的互斥访问的锁。Java 1.0版本中就已经支持同步锁了。 同步锁的原理是,对于每一个对象,有且仅有一个同步锁;不同的线程能共同访问该同步锁。但是,在同一个时间点,该同步锁能且只能被一个线程获取到。这样,获取到同步锁的线程就能...
2019-02-21 14:34:47 158
原创 Java多线程系列--“JUC原子类”05之 AtomicLongFieldUpdater原子类
概要 AtomicIntegerFieldUpdater, AtomicLongFieldUpdater和AtomicReferenceFieldUpdater这3个修改类的成员的原子类型的原理和用法相似。本章以对基本类型的原子类进行介绍。内容包括: AtomicLongFieldUpdater介绍和函数列表 AtomicLongFieldUpdater可以对指定"类的 'volati...
2019-02-21 14:29:59 148
原创 Java多线程系列--“JUC原子类”04之 AtomicReference原子类
概要 本章对AtomicReference引用类型的原子类进行介绍。内容包括: AtomicReference介绍和函数列表 AtomicReference是作用是对"对象"进行原子操作。 AtomicReference函数列表 // 使用 null 初始值创建新的 AtomicReference。 AtomicReference() // 使用给定的初始值创建新的 Atomi...
2019-02-21 14:20:35 112
原创 Java多线程系列--“JUC原子类”03之 AtomicLongArray原子类
概要 AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray这3个数组类型的原子类的原理和用法相似。本章以AtomicLongArray对数组类型的原子类进行介绍。内容包括: AtomicLongArray介绍和函数列表 在"Java多线程系列--“JUC原子类”02之 AtomicLong原子类"中介绍过,AtomicLong是作...
2019-02-21 14:15:37 111
原创 Java多线程系列--“JUC原子类”02之 AtomicLong原子类
概要 AtomicInteger, AtomicLong和AtomicBoolean这3个基本类型的原子类的原理和用法相似。本章以AtomicLong对基本类型的原子类进行介绍。内容包括: AtomicLong介绍和函数列表 AtomicLong是作用是对长整形进行原子操作。 在32位操作系统中,64位的long 和 double 变量由于会被JVM当作两个分离的32位来进行操作,所以不具有...
2019-02-21 13:39:49 114
原创 Java多线程系列--“JUC原子类”01之 框架
根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类。 1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ; 2. 数组类型: AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray ; 3. 引用类型: AtomicReference, AtomicStampedRerence...
2019-02-21 13:32:06 120
原创 Java多线程系列--“基础篇”12之 生产消费者问题
目录 概要 1. 生产/消费者模型 2. 生产/消费者实现 概要 本章,会对“生产/消费者问题”进行讨论。涉及到的内容包括: 1. 生产/消费者模型 生产/消费者问题是个非常典型的多线程问题,涉及到的对象包括“生产者”、“消费者”、“仓库”和“产品”。他们之间的关系如下:(01) 生产者仅仅在仓储未满时候生产,仓满则停止生产。 (02) 消费者仅仅在仓储有产品时候才能消...
2019-02-21 09:59:51 105
原创 Java多线程系列--“基础篇”11之 线程优先级和守护线程
目录 概要 1. 线程优先级的介绍 2. 线程优先级的示例 3. 守护线程的示例 概要 本章,会对守护线程和线程优先级进行介绍。涉及到的内容包括: 1. 线程优先级的介绍 java 中的线程优先级的范围是1~10,默认的优先级是5。“高优先级线程”会优先于“低优先级线程”执行。 java 中有两种线程:用户线程和守护线程。可以通过isDaemon()方法来区别它们:如...
2019-02-21 08:57:19 131
原创 Java多线程系列--“基础篇”10之 interrupt()和线程终止方式
目录 概要 1. interrupt()说明 2. 终止线程的方式 2.1 终止处于“阻塞状态”的线程 2.2 终止处于“运行状态”的线程 3. 终止线程的示例 4. interrupted() 和 isInterrupted()的区别 概要 本章,会对线程的interrupt()中断和终止方式进行介绍。涉及到的内容包括: 1. interrupt()说明 在介绍...
2019-02-21 08:49:18 221
原创 Java多线程系列--“基础篇”09之 join()
目录 概要 1. join()介绍 2. join()源码分析(基于JDK1.7.0_40) 3. join()示例 概要 本章,会对Thread中join()方法进行介绍。涉及到的内容包括: 1. join()介绍 join() 定义在Thread.java中。 Thread.join()把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。 ...
2019-02-21 08:32:21 218
原创 Java多线程系列--“基础篇”08之 线程休眠
目录 概要 1. sleep()介绍 2. sleep()示例 3. sleep() 与 wait()的比较 概要 本章,会对Thread中sleep()方法进行介绍。涉及到的内容包括: 1. sleep()介绍 sleep() 定义在Thread.java中。 sleep() 的作用是让当前线程休眠,即当前线程会从“运行状态”进入到“休眠(阻塞)状态”。sleep()...
2019-02-20 16:36:53 488
原创 Java多线程系列--“基础篇”07之 线程让步
目录 概要 1. yield()介绍 2. yield()示例 3. yield() 与 wait()的比较 概要 本章,会对Thread中的线程让步方法yield()进行介绍。涉及到的内容包括: 1. yield()介绍 yield()的作用是让步。使当前线程从执行状态(运行状态)变为可执行态(就绪状态),从而让其它具有相同优先级的等待线程获取执行权;但是,并不能保证...
2019-02-20 16:23:34 290
原创 Java多线程系列--“基础篇”06之 线程等待与唤醒
目录 概要 wait(), notify(), notifyAll()等方法介绍 2. wait()和notify()示例 3. wait(long timeout)和notify() 4. wait() 和 notifyAll() 5. 为什么notify(), wait()等函数定义在Object中,而不是Thread中 概要 本章,会对线程等待/唤醒方法进行介绍。涉及到...
2019-02-20 16:18:41 217
原创 Java多线程系列--“基础篇”05之 volatile关键字解析
目录 概要 一.内存模型的相关概念 二.并发编程中的三个概念 三.Java内存模型 四.深入剖析volatile关键字 五.使用volatile关键字的场景 概要 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 ...
2019-02-20 16:01:17 245
原创 Java多线程系列--“基础篇”04之 synchronized关键字
目录 概要 1. synchronized原理 2. synchronized基本规则 3. synchronized方法 和 synchronized代码块 4. 实例锁 和 全局锁 概要 本章,会对synchronized关键字进行介绍。涉及到的内容包括: 1. synchronized原理 在java中,每一个对象有且仅有一个同步锁。这也意味着,同步锁是依赖于对象而存在...
2019-02-19 17:03:45 161
原创 Java多线程系列--“基础篇”03之 Thread中start()和run()的区别
目录 概要 start() 和 run()的区别说明 start() 和 run()的区别示例 start() 和 run()相关源码(基于JDK1.7.0_40) 概要 Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答。本章内容包括: start() 和 run()的区别说明 start() : 它的作用是启动一个新线程,新线程会执...
2019-02-19 16:37:35 119
原创 Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式
目录 1.Thread和Runnable简介 2.Thread和Runnable的异同点 3. Thread的多线程示例 4. Runnable的多线程示例 概要 本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable。 之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程。关于线程池的内容,我们以后会详细...
2019-02-19 16:30:08 190
原创 Java多线程系列--“基础篇”01之 基本概念
多线程是Java中不可避免的一个重要主体。从本章开始,我们将展开对多线程的学习。接下来的内容,是对“JDK中新增JUC包”之前的Java多线程内容的讲解,涉及到的内容包括,Object类中的wait(), notify()等接口;Thread类中的接口;synchronized关键字。 注:JUC包是指,Java.util.concurrent包,它是由Java大师Doug Lea完成并在JDK...
2019-02-19 16:18:36 166
原创 Java多线程原理分析系列目录(共44篇)
最近,在研究Java多线程的内容目录,将其内容逐步整理并发布。 (一) 基础篇 01. Java多线程系列--“基础篇”01之 基本概念 02. Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式 03. Java多线程系列--“基础篇”03之 Thread中start()和run()的区别 04. Java多线程系列--“基础篇”04之 synchronized关键字 ...
2019-02-19 16:16:33 328
原创 Java实现微信公众号扫描二维码未关注时跳转关注界面已关注跳转业务界面
以下只是测试代码写得不太整齐规范,但是主要思路以及要注意的都写了: 前提:需要申请认证的微信公众号;获取对应的APPID和APPSECRET;并且还需要获取到用户信息权限(点击“修改“添加服务器的域名地址),前期工作安装测试账号为例给大家展示下: 1)、公众测试账号获取 访问上面的连接,选择“接口测试号申请”获得直接打开http://mp.weixin.qq.com/debug/cgi-...
2019-02-16 16:20:42 8456 1
Swing下CS结构软件自动升级实现
2012-10-16
java处理GIF文件格式时进行相关分析的类
2012-10-15
良好体验度的注册系统ASP.NET版本
2008-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人