自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java集合—结合要点解析源码

关系图: 可以根据下述关键点自行源码剖析。ArrayList要点:初始化(数组一但在堆内存中创建,长度是固定的): 不指定初始化数组长度(public ArrayList(){...}):底层默认在jvm内存中开辟长度为10的数组 指定初始化数组长度(public ArrayList(int initialCapacity){...}):开辟指定长度的数组数组扩容

2017-11-30 11:19:22 284

转载 NIO使用的例子

package nio;import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer;import java.nio.channels.ClosedChannelException;import java.nio.channels.SelectionKey; import

2017-11-29 17:14:03 277

转载 java NIO 知识点汇总

一、概述java NIO 开始于JDK1.4,其核心元件有:Channel、Buffer、Selector。 Channel可以理解为标准IO中流,数据可以从Channel读到Buffer中,也可以从Buffer 写到Channel中。Channel主要实现:FileChannel、SocketChannel、ServerSocketChannel、DatagramChannel。Buffer主要

2017-11-29 11:56:52 527

转载 Java NIO:浅析I/O模型

博客转载自:http://www.cnblogs.com/dolphin0520/p/3916526.html 也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步I

2017-11-24 19:03:50 211

转载 java 动态代理

本篇博客转载自:https://my.oschina.net/huangyong/blog/159788Proxy,也就是“代理”了。意思就是,你不用去做,别人代替你去处理。比如说:赚钱方面,我就是我老婆的 Proxy;带小孩方面,我老婆就是我的 Proxy;家务事方面,没有 Proxy。 它在程序开发中起到了非常重要的作用,比如传说中的 AOP(面向切面编程),就是针对代理的一种应用。此外,在设计

2017-11-24 15:40:02 240

转载 并发编程工具之五:Future和Callable 使用

转载自:https://www.cnblogs.com/fengsehng/p/6048609.html感谢这位朋友的无私奉献Callable和Future出现的原因创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样

2017-11-23 19:40:16 459

原创 并发编程工具之四:Exchanger 使用

Exchanger 使用Exchanger(java.util.concurrent包的类),从名字上理解就是交换。它用于在两个线程之间进行交换数据。线程会阻塞在Exchanger的exchange方法上,知道另一个线程也到了同一个Exchanger的exchange方法时,二者进行交换,然后两个线程会继续执行自身相关的代码。 如上图,无论谁先到达exchanger.exchange,都会等待另一

2017-11-23 18:41:44 272

转载 并发编程工具之三:Semaphore 用法及源码分析

转载出处:http://www.cnblogs.com/nullzx/1. 信号量Semaphore的介绍我们以一个停车场运作为例来说明信号量的作用。假设停车场只有三个车位,一开始三个车位都是空的。这时如果同时来了三辆车,看门人允许其中它们进入进入,然后放下车拦。以后来的车必须在入口等待,直到停车场中有车辆离开。这时,如果有一辆车离开停车场,看门人得知后,打开车拦,放入一辆,如果又离开一辆,则又可以

2017-11-23 16:11:02 272

原创 并发编程工具之二:CyclicBarrier 用法

CyclicBarrier 用法从字面上这个类可以理解为环形屏障,它可以协同多个线程,让多个线程在这个屏障前等待。当所有线程都达到这个屏障时,再一起执行后续的动作。如下图: 三个线程各有一个barrier.await,那么任何一个线程执行到barrier.await时就会进入阻塞状态进行等待,知道三个线程都达到了barrier.await才会同时从await返回,就需后续的工作。此外,如果在构造C

2017-11-23 15:40:38 405

原创 并发编程工具之一:CountDownLatch 用法

CountDownLatch 用法CountDownLatch是java.util.concurrent包中一个类,CountDownLatch只要提供的机制是多个(具体数量等于初始化CountDownLatch时count的值)线程都达到了预期状态或者完成了预期工作时触发事件,其他线程可以等待这个事件来触发自己后续的工作。等待的线程可以是多个,即CountDownLatch可以唤醒多个等待的线程。

2017-11-23 14:51:41 13054 2

原创 大型网站系统与java消息中间件

1、多进程与多线程模式线程属于进程。一个进程中的多个线程共享了进程的内存空间,而多个进程之间的内存是相互独立的,因此多进程间的内存共享交换数据的方式与多个线程间的方式不同。分布式系统是多机组成的系统,可以近似看作单机多进程变成多级多进程。2、网络通信基础知识分布式系统中,组件分布在网络上的多个节点上,通过消息的传递来通信并进行动作的协调。2.1、网络IO实现方式当我们使用S

2017-11-20 11:57:13 273

空空如也

空空如也

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

TA关注的人

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