随笔分类 -  java提高篇

上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要:我们平时写程序需要经常用到集合类,比如ArrayList、HashMap等,但是这些集合不能够实现并发运行机制,这样在服务器上运行时就会非常的消耗资源和浪费时间,并且对这些集合进行迭代的过程中不能进行操作,否则会出现错误,例如下面程序: [Java] public class CollectionM 阅读全文
posted @ 2016-12-29 10:06 brave-sailor 阅读(428) 评论(0) 推荐(0) 编辑
摘要:悲观锁: 它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系 阅读全文
posted @ 2016-12-29 10:06 brave-sailor 阅读(378) 评论(0) 推荐(0) 编辑
摘要:1. java.util.concurrent - Java 并发工具包 Java 5 添加了一个新的包到 Java 平台,java.util.concurrent 包。这个包包含有一系列能够让 Java 的并发编程变得更加简单轻松的类。在这个包被添加以前,你需要自己去动手实现自己的相关工具类。 本 阅读全文
posted @ 2016-12-29 10:05 brave-sailor 阅读(290) 评论(0) 推荐(0) 编辑
摘要:Selector允许单线程处理多个Channel,能够检测一到多个Channel,并能够知晓通道是否为诸如读写事件做好准备。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 如果你的应用打开了多个连接(通道),但每个连接的流量都很低,使用Selector就会很方便。例如,在一个 阅读全文
posted @ 2016-12-29 10:03 brave-sailor 阅读(461) 评论(0) 推荐(1) 编辑
摘要:java.nio.channels 类 ServerSocketChannel java.lang.Object java.nio.channels.spi.AbstractInterruptibleChannel java.nio.channels.SelectableChannel java.n 阅读全文
posted @ 2016-12-29 09:48 brave-sailor 阅读(2182) 评论(0) 推荐(0) 编辑
摘要:java.nio.channels 类 Selector SelectableChannel 对象的多路复用器。 可通过调用此类的 open 方法创建选择器,该方法将使用系统的默认选择器提供者创建新的选择器。也可通过调用自定义选择器提供者的 openSelector 方法来创建选择器。通过选择器的 阅读全文
posted @ 2016-12-29 09:47 brave-sailor 阅读(1812) 评论(0) 推荐(0) 编辑
摘要:面是本次学习的笔记。主要分异常类型、交互原理、Socket、ServerSocket、多线程这几个方面阐述。 异常类型 在了解Socket的内容之前,先要了解一下涉及到的一些异常类型。以下四种类型都是继承于IOException,所以很多之后直接弹出IOException即可。 UnkownHost 阅读全文
posted @ 2016-12-29 09:46 brave-sailor 阅读(320) 评论(0) 推荐(0) 编辑
摘要:java.nio.channels 类 SelectionKey 表示 SelectableChannel 在 Selector 中的注册的标记。 每次向选择器注册通道时就会创建一个选择键。通过调用某个键的 cancel 方法、关闭其通道,或者通过关闭其选择器来取消 该键之前,它一直保持有效。取消某 阅读全文
posted @ 2016-12-29 09:46 brave-sailor 阅读(6481) 评论(0) 推荐(1) 编辑
摘要:不错的文章,推荐一下。 http://www.ibm.com/developerworks/cn/education/java/j-nio/j-nio.html Java NIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,如果有内容进来,会自动通知我们, 阅读全文
posted @ 2016-12-29 09:45 brave-sailor 阅读(250) 评论(0) 推荐(0) 编辑
摘要:实现五:统计一个单词可重复的英文文件(假设4G)中每个单词出现的次数,把结果按照英文排序放入一个文件中。并能够检索特定单词的出现次数。由于文件过大,不重复单词总数有限,需要考虑到执行速度和内存使用情况。(淘宝笔试技术题) [java] view plain copy print? import ja 阅读全文
posted @ 2016-12-29 09:43 brave-sailor 阅读(263) 评论(0) 推荐(0) 编辑
摘要:在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需 阅读全文
posted @ 2016-12-29 09:42 brave-sailor 阅读(513) 评论(0) 推荐(0) 编辑
摘要:Java.util.concurrent包完全建立在CAS之上的,没有CAS就不会有此包。可见CAS的重要性。 CAS CAS:Compare and Swap, 翻译成比较并交换。 java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁。 本文 阅读全文
posted @ 2016-12-29 09:40 brave-sailor 阅读(360) 评论(0) 推荐(0) 编辑
摘要:1. 引言 在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现, 阅读全文
posted @ 2016-12-29 09:38 brave-sailor 阅读(243) 评论(0) 推荐(0) 编辑
摘要:ConcurrentHashMap ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和HashTable功能相同但是线程安全的方法。ConcurrentHashMap可以做到读取数据不加锁,并且其内部的结构可以让其在进行写操作的时候能够将锁的粒度保持地 阅读全文
posted @ 2016-12-29 09:32 brave-sailor 阅读(316) 评论(0) 推荐(0) 编辑
摘要:跳跃表是一种随机化数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要O(log n)平均时间),并且对并发算法友好。 关于跳跃表的具体介绍可以参考MIT的公开课:跳跃表 跳跃表的应用 Skip list(跳表)是一种可以代替平衡树的数据结构,默认是按照Key值升序的。Skip list让已排序的数据分布在多层链表中,以0-1随机数决定一个数据的向上攀升与否,通过“空间来... 阅读全文
posted @ 2016-12-29 09:30 brave-sailor 阅读(1990) 评论(0) 推荐(0) 编辑
摘要:比较Java原生的 3种Map的效率。 1. TreeMap 2. HashMap 3. ConcurrentSkipListMap 结果: 模拟150W以内海量数据的插入和查找,通过增加和查找两方面的性能测试,结果如下: Map类型 插入 查找(在100W数据量中) 10W 50W 100W 15 阅读全文
posted @ 2016-12-29 09:29 brave-sailor 阅读(694) 评论(0) 推荐(0) 编辑
摘要:Java SE5的Java.util.concurrent包中的执行器(Executor)将为你管理Thread对象,从而简化了并发编程。Executor在客户端和执行任务之间提供了一个间接层,Executor代替客户端执行任务。Executor允许你管理异步任务的执行,而无须显式地管理线程的生命周 阅读全文
posted @ 2016-12-29 09:28 brave-sailor 阅读(459) 评论(0) 推荐(0) 编辑
摘要:Queue的成员函数 add 增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常 remove 移除并返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常 element 返回队列头部的元素 如果队列为空,则抛出一个NoSuch 阅读全文
posted @ 2016-12-24 10:09 brave-sailor 阅读(258) 评论(0) 推荐(0) 编辑
摘要:最近碰到一个这样的功能要求:怎么在一个类里面,实现高效并发处理下只可以初始化一次的方法? 实现方式: 1)volatile方式: [java] view plain copy /** * Created by Chengrui on 2015/7/28. */ public class MyThre 阅读全文
posted @ 2016-12-24 10:03 brave-sailor 阅读(911) 评论(0) 推荐(0) 编辑
摘要:package com.suypower.chengyu.test; public class ByteTest { /** * byte 8 bits -128 - + 127 * 1 bit = 1 二进制数据 * 1 byte = 8 bit * 1 字母 = 1 byte... 阅读全文
posted @ 2016-09-12 17:35 brave-sailor 阅读(6909) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 9 下一页
点击右上角即可分享
微信分享提示