自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Java多线程系列--“JUC锁”11之 Semaphore信号量的原理和示例 (r)

概要本章,我们对JUC包中的信号量Semaphore进行学习。内容包括:Semaphore简介Semaphore数据结构Semaphore源码分析(基于JDK1.7.0_40)Semaphore示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3534050.html Semaphore简介Sem

2016-08-28 16:27:49 912

转载 Java多线程系列--“JUC锁”10之 CyclicBarrier原理和示例 (r)

概要本章介绍JUC包中的CyclicBarrier锁。内容包括:CyclicBarrier简介CyclicBarrier数据结构CyclicBarrier源码分析(基于JDK1.7.0_40)CyclicBarrier示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3533995.html Cyclic

2016-08-28 16:27:19 518

转载 Java多线程系列--“JUC锁”09之 CountDownLatch原理和示例 (r)

概要前面对"独占锁"和"共享锁"有了个大致的了解;本章,我们对CountDownLatch进行学习。和ReadWriteLock.ReadLock一样,CountDownLatch的本质也是一个"共享锁"。本章的内容包括:CountDownLatch简介CountDownLatch数据结构CountDownLatch源码分析(基于JDK1.7.0_40)CountDownL

2016-08-28 16:26:33 666

转载 Java多线程系列--“JUC锁”08之 共享锁和ReentrantReadWriteLock

概要Java的JUC(java.util.concurrent)包中的锁包括"独占锁"和"共享锁"。在“Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock ”中,对Java的独占锁进行了说明。本章对Java的“共享锁”进行介绍,JUC中的共享锁有CountDownLatch, CyclicBarrier, Semaphore, ReentrantReadWrit

2016-08-28 16:25:33 3176

转载 Java多线程系列--“JUC锁”07之 LockSupport (r)

概述本章介绍JUC(java.util.concurrent)包中的LockSupport。内容包括:LockSupport介绍LockSupport函数列表LockSupport参考代码(基于JDK1.7.0_40)LockSupport示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3505784.html

2016-08-28 16:24:58 368

转载 Java多线程系列--“JUC锁”06之 Condition条件 (r)

概要前面对JUC包中的锁的原理进行了介绍,本章会JUC中对与锁经常配合使用的Condition进行介绍,内容包括:Condition介绍Condition函数列表Condition示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3496716.html Condition介绍Condition的作用是对

2016-08-28 16:24:15 282

转载 Java多线程系列--“JUC锁”05之 非公平锁 (r)

概要前面两章分析了"公平锁的获取和释放机制",这一章开始对“非公平锁”的获取锁/释放锁的过程进行分析。内容包括:参考代码获取非公平锁(基于JDK1.7.0_40)释放非公平锁(基于JDK1.7.0_40)关于锁的数据结构请参考"Java多线程系列--“JUC锁”03之 公平锁(一) ",锁的使用示例请参考“Java多线程系列--“JUC锁”02之 互斥锁ReentrantL

2016-08-28 16:23:43 6834

转载 Java多线程系列--“JUC锁”04之 公平锁(二) (r)

概要前面一章,我们学习了“公平锁”获取锁的详细流程;这里,我们再来看看“公平锁”释放锁的过程。内容包括:参考代码释放公平锁(基于JDK1.7.0_40)“公平锁”的获取过程请参考“Java多线程系列--“JUC锁”03之 公平锁(一)”,锁的使用示例请参考“Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock”。注意:(01) 这里是以

2016-08-28 16:21:03 5037

转载 Java多线程系列--“JUC线程池”06之 Callable和Future

概要本章介绍线程池中的Callable和Future。Callable 和 Future 简介示例和源码分析(基于JDK1.7.0_40)转载请注明出处:http://www.cnblogs.com/skywang12345/p/3544116.html Callable 和 Future 简介  Callable 和 Future 是比较有趣的一对

2016-08-28 16:19:33 334

转载 Java多线程系列--“JUC线程池”05之 线程池原理(四)

概要本章介绍线程池的拒绝策略。内容包括:拒绝策略介绍拒绝策略对比和示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3512947.html 拒绝策略介绍线程池的拒绝策略,是指当任务添加到线程池中被拒绝,而采取的处理措施。当任务添加到线程池中之所以被拒绝,可能是由于:第一,线程池异常关闭。第二,任务数

2016-08-28 16:11:14 303

转载 Java多线程系列--“JUC线程池”04之 线程池原理(三)

转载请注明出处:http://www.cnblogs.com/skywang12345/p/3509960.html 本章介绍线程池的生命周期。在"Java多线程系列--“基础篇”01之 基本概念"中,我们介绍过,线程有5种状态:新建状态,就绪状态,运行状态,阻塞状态,死亡状态。线程池也有5种状态;然而,线程池不同于线程,线程池的5种状态是:Running, SHUTDOWN, S

2016-08-28 16:01:43 300

转载 Java线程池架构原理和源码解析(ThreadPoolExecutor)

Java线程池架构原理和源码解析(ThreadPoolExecutor)在前面介绍JUC的文章中,提到了关于线程池Execotors的创建介绍,在文章:《java之JUC系列-外部Tools》中第一部分有详细的说明,请参阅;文章中其实说明了外部的使用方式,但是没有说内部是如何实现的,为了加深对实现的理解,在使用中可以放心,我们这里将做源码解析以及反馈到原理上,Executors

2016-08-27 23:06:12 461

转载 Java多线程系列--“JUC线程池”03之 线程池原理(二)

概要在前面一章"Java多线程系列--“JUC线程池”02之 线程池原理(一)"中介绍了线程池的数据结构,本章会通过分析线程池的源码,对线程池进行说明。内容包括:线程池示例参考代码(基于JDK1.7.0_40)线程池源码分析    (一) 创建“线程池”    (二) 添加任务到“线程池”    (三) 关闭“线程池”转载请注明出处:http://www.c

2016-08-27 14:40:39 1035

转载 Java多线程系列--“基础篇”11之 生产消费者问题 (r)

概要本章,会对“生产/消费者问题”进行讨论。涉及到的内容包括:1. 生产/消费者模型2. 生产/消费者实现转载请注明出处:http://www.cnblogs.com/skywang12345/p/3480016.html 1. 生产/消费者模型生产/消费者问题是个非常典型的多线程问题,涉及到的对象包括“生产者”、“消费者”、“仓库”和“产品”。他们

2016-08-26 23:47:20 288

转载 Java多线程系列--“基础篇”10之 线程优先级和守护线程 (r)

概要本章,会对守护线程和线程优先级进行介绍。涉及到的内容包括:1. 线程优先级的介绍2. 线程优先级的示例3. 守护线程的示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479982.html 1. 线程优先级的介绍java 中的线程优先级的范围是1~10,默认的优先级是5。“高优先级线程”会优先

2016-08-26 23:45:31 248

转载 Java多线程系列--“基础篇”09之 interrupt()和线程终止方式 (r)

概要本章,会对线程的interrupt()中断和终止方式进行介绍。涉及到的内容包括:1. interrupt()说明2. 终止线程的方式  2.1 终止处于“阻塞状态”的线程  2.2 终止处于“运行状态”的线程3. 终止线程的示例4. interrupted() 和 isInterrupted()的区别转载请注明出处:http://www.cnblogs.

2016-08-26 23:42:54 303

转载 Java多线程系列--“基础篇”08之 join() (r)

概要本章,会对Thread中join()方法进行介绍。涉及到的内容包括:1. join()介绍2. join()源码分析(基于JDK1.7.0_40)3. join()示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479275.html 1. join()介绍join() 定义在Thread.j

2016-08-26 23:38:13 254

转载 Java多线程系列--“基础篇”06之 线程让步 (r)

概要本章,会对Thread中的线程让步方法yield()进行介绍。涉及到的内容包括:1. yield()介绍2. yield()示例3. yield() 与 wait()的比较转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479243.html 1. yield()介绍yield()的作用是让步。它

2016-08-26 23:35:56 325

转载 Java多线程系列--“基础篇”07之 线程休眠 (r)

概要本章,会对Thread中sleep()方法进行介绍。涉及到的内容包括:1. sleep()介绍2. sleep()示例3. sleep() 与 wait()的比较转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479256.html 1. sleep()介绍sleep() 定义在Thread.ja

2016-08-26 23:33:43 259

转载 Java多线程系列--“基础篇”05之 线程等待与唤醒 (r)

概要本章,会对线程等待/唤醒方法进行介绍。涉及到的内容包括:1. wait(), notify(), notifyAll()等方法介绍2. wait()和notify()3. wait(long timeout)和notify()4. wait() 和 notifyAll()5. 为什么notify(), wait()等函数定义在Object中,而不是Thread中

2016-08-26 23:32:24 307

转载 Java多线程系列--“基础篇”04之 synchronized关键字 (r)

概要本章,会对synchronized关键字进行介绍。涉及到的内容包括:1. synchronized原理2. synchronized基本规则3. synchronized方法 和 synchronized代码块4. 实例锁 和 全局锁转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479202.html

2016-08-26 23:24:42 229

转载 Java多线程系列--“基础篇”03之 Thread中start()和run()的区别 (r)

概要Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答。本章内容包括:start() 和 run()的区别说明start() 和 run()的区别示例start() 和 run()相关源码(基于JDK1.7.0_40)转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479083.html

2016-08-26 23:23:33 367

转载 Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式(r)

概要本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable。之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程。关于线程池的内容,我们以后会详细介绍;现在,先对的Thread和Runnable进行了解。本章内容包括:Thread和Runnable的简介Thread和Runnable的异同点Thre

2016-08-26 23:20:23 231

转载 Java多线程系列--“基础篇”01之 基本概念 (r)

多线程是Java中不可避免的一个重要主体。从本章开始,我们将展开对多线程的学习。接下来的内容,是对“JDK中新增JUC包”之前的Java多线程内容的讲解,涉及到的内容包括,Object类中的wait(), notify()等接口;Thread类中的接口;synchronized关键字。注:JUC包是指,Java.util.concurrent包,它是由Java大师Doug Lea完成并在J

2016-08-26 23:16:21 280

转载 Java多线程系列--“JUC锁”03之 公平锁(一) (r)

概要本章对“公平锁”的获取锁机制进行介绍(本文的公平锁指的是互斥锁的公平锁),内容包括:基本概念ReentrantLock数据结构参考代码获取公平锁(基于JDK1.7.0_40)  一. tryAcquire()  二. addWaiter()  三. acquireQueued()  四. selfInterrupt()“公平锁”的释放锁的机制在后面一章再

2016-08-26 23:11:49 3828

转载 Java多线程系列--“JUC线程池”02之 线程池原理(一)

概要在上一章"Java多线程系列--“JUC线程池”01之 线程池架构"中,我们了解了线程池的架构。线程池的实现类是ThreadPoolExecutor类。本章,我们通过分析ThreadPoolExecutor类,来了解线程池的原理。内容包括:ThreadPoolExecutor简介ThreadPoolExecutor数据结构线程池调度转载请注明出处:http://ww

2016-08-26 23:10:49 220

转载 Java多线程系列--“JUC线程池”01之 线程池架构

概要前面分别介绍了"Java多线程基础"、"JUC原子类"和"JUC锁"。本章介绍JUC的最后一部分的内容——线程池。内容包括:线程池架构图线程池示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3509903.html 线程池架构图线程池的架构图如下:  1. Execu

2016-08-26 23:00:14 267

转载 Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock (r)

本章对ReentrantLock包进行基本介绍,这一章主要对ReentrantLock进行概括性的介绍,内容包括:ReentrantLock介绍ReentrantLock函数列表ReentrantLock示例在后面的两章,会分别介绍ReentrantLock的两个子类(公平锁和非公平锁)的实现原理。转载请注明出处:http://www.cnblogs.com/skywang12

2016-08-26 22:55:23 232

转载 Java多线程系列--“JUC锁”01之 框架 (r)

本章,我们介绍锁的架构;后面的章节将会对它们逐个进行分析介绍。目录如下:01. Java多线程系列--“JUC锁”01之 框架02. Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock03. Java多线程系列--“JUC锁”03之 公平锁(一) 04. Java多线程系列--“JUC锁”04之 公平锁(二) 05. Java多线程系列--“JUC锁”0

2016-08-26 22:45:55 429

转载 Java虚拟机学习 - 类加载器(ClassLoader)

类加载器类加载器(ClassLoader)用来加载 class字节码到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源文件在经过 Javac之后就被转换成 Java 字节码文件(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.Class 类的一个实例。每一个这样的实例用来表示一个 Java 类。实际的情

2016-08-25 21:33:14 362

转载 Java虚拟机学习 - 内存调优

JVM调优主要是针对内存管理方面的调优,包括控制各个代的大小,GC策略。由于GC开始垃圾回收时会挂起应用线程,严重影响了性能,调优的目是为了尽量降低GC所导致的应用线程暂停时间、 减少Full GC次数。代大小调优最关键参数:-Xms、 -Xmx 、-Xmn 、-XX:SurvivorRatio、-XX:MaxTenuringThreshold、-XX:PermSize、-

2016-08-25 21:32:49 190

转载 Java虚拟机学习 - 对象引用强度

无论是通过计数算法判断对象的引用数量,还是通过根搜索算法判断对象引用链是否可达,判定对象是否存活都与“引用”相关。引用主要分为 :强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(PhantomReference) 四种,引用的强度依次骤减。强引用:就是指在代码之中普遍存在的,

2016-08-25 21:30:50 232

转载 Java虚拟机学习 - JDK可视化监控工具

1.JConsole JConsole工具在JDK/bin目录下,启动JConsole后,将自动搜索本机运行的jvm进程,不需要jps命令来查询指定。双击其中一个jvm进程即可开始监控,也可使用“远程进程”来连接远程服务器。进入JConsole主界面,有“概述”、“内存”、“线程”、“类”、“VM摘要”和"Mbean"六个页签:

2016-08-25 21:30:05 269

转载 Java虚拟机学习 - 查看JVM参数及值的命令行工具

查看JVM各个参数值方式1. HotSpot vm中的各个globals.hpp文件  查看jvm初始的默认值及参数globals.hpp globals_extension.hpp c1_globals.hpp c1_globals_linux.hpp c1_globals_solaris.hpp c1_globals_sparc.hpp

2016-08-25 21:29:20 2357

转载 Java虚拟机学习 - 类加载机制

类加载机制JVM把class文件加载的内存,并对数据进行校验、转换解析和初始化,最终形成JVM可以直接使用的Java类型的过程就是加载机制。类从被加载到虚拟机内存中开始,到卸载出内存为止,它的生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Usi

2016-08-25 21:28:27 277

转载 Java虚拟机学习 - 对象内存分配与回收

对象优先在Eden上分配大多数情况下,对象优先在新生代Eden区域中分配。当Eden内存区域没有足够的空间进行分配时,虚拟机将触发一次 Minor GC(新生代GC)。Minor GC期间虚拟机将Eden区域的对象移动到其中一块Survivor区域。大对象直接进入老年代所谓大对象是指需要大量连续空间的对象。虚拟机提供了一个XX:P

2016-08-25 21:27:44 192

转载 Java虚拟机学习 - 垃圾收集器

HotSpot JVM收集器              上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线程)。是Jvm client模式下默认的新生代收

2016-08-25 21:27:07 246

转载 Java虚拟机学习 - 垃圾收集算法

跟踪收集器跟踪收集器采用的为集中式的管理方式,全局记录对象之间的引用状态,执行时从一些列GC  Roots的对象做为起点,从这些节点向下开始进行搜索所有的引用链,当一个对象到GC  Roots 没有任何引用链时,则证明此对象是不可用的。下图中,对象Object6、Object7、Object8虽然互相引用,但他们的GC Roots是不可到达的,所以它们将会被判定为是可回收的对象。

2016-08-25 21:25:49 187

转载 Java虚拟机学习 - 对象访问

对象访问会涉及到Java栈、Java堆、方法区这三个内存区域。如下面这句代码:[java] view plain copy print?Object objectRef = new Object();         假设这句代码出现在方法体中,"Object objectRef” 这部分将会反映到Java栈的本地变量中,作为一个

2016-08-25 21:25:16 238

转载 Java虚拟机学习 - 体系结构 内存模型

一:Java技术体系模块图二:JVM内存区域模型1.方法区也称"永久代” 、“非堆”,  它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。

2016-08-25 21:24:41 219

java基础,java高级,java进阶 part1(1-2)

java基础,java序列化,java注解,java多态,注解,java反射,java代理,java多线程,JVM,java优化,java分布式

2017-09-05

java基础1111

java基础,java高级,java基础,java高级,java多线程java基础,java高级,java多线程java基础,java高级,java多线程java基础,java高级,java多线程11111

2017-09-05

java基础,java高级 part2(2-2)

java基础,java高级,java多线程java基础,java高级,java多线程java基础,java高级,java多线程java基础,java高级,java多线程java基础,java高级,java多线程

2017-09-05

java 总结 web mysql

java基础,java高级,java多线程,java基础,java高级,java多线程,java基础,java高级,java多线程,java基础,java高级,java多线程,java基础,java高级,java多线程,java基础,java高级,java多线程

2017-09-05

简单的javaweb项目

简单的javaweb项目

2017-08-08

一个简单的例子

一个简单的例子

2017-07-28

wireshark解析h.264的nal类型的lua(基于rtp协议)

使用方法: 1 确认你的Wireshark支持lua 如果Wireshark安装目录下面有init lua文件就说明支持Lua 2 将rtp h264 lua拷贝到Wireshark的安装目录下 3 需要启动对Lua的支持 默认不启动对Lua的支持 编辑 init lua文件 在“disable lua true; ”这一行前添加注释符“ ” 然后在文件的最后添加一行 dofile "rtp h264 lua" 这样 Wireshark 启动时就会自动调用 rtp h264 lua 4 最后打开wireshark 在菜单Edit >Preferences >RTP PAYLOAD中设置dynamic payload type为96即可 ">使用方法: 1 确认你的Wireshark支持lua 如果Wireshark安装目录下面有init lua文件就说明支持Lua 2 将rtp h264 lua拷贝到Wireshark的安装目录下 3 需要启动对Lua的支持 默认不启动对Lua的支持 编辑 init lua文件 在“disable lua true; [更多]

2014-09-28

J2EE核心模式

此资源详细介绍了在J2EE中的各种开发技术,以及各种开发的模式!

2013-07-03

GCC编译器,LINUX下的编译器

GCC编译器能将C、C++语言源程序、汇编程序编译、链接成可执行文件。在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。

2012-11-05

空空如也

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

TA关注的人

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