blog.hongxi.org

Java生态研究(Spring Boot + Redis + Dubbo + RocketMQ + Elasticsearch)

高性能数据库连接池的内幕

大家可能会有这样疑问:连接池类似于线程池或者对象池,就是一个放连接的池子,使用的时候从里面拿一个,用完了再归还,功能非常简单,有什么可讲的。可能还会有这样的疑问:高性能这么高大上,一个小小的连接池,如何跟高大上靠上边的。本主题将会全面介绍连接池原理,高性能的设计,优化实践,现有连接池的瓶颈及解决...

2016-09-26 02:12:56

阅读数:1

评论数:0

Java中的Unsafe

在阅读AtomicInteger的源码时,看到了这个类:sum.msic.Unsafe,之前从没见过。所以花了点时间google了一下。   Unsafe的源码:http://www.docjar.com/html/api/sun/misc/Unsafe.java.html   Uns...

2016-09-22 22:50:24

阅读数:1

评论数:0

站在Java的角度看LinkedList

站在Java的角度看,玩队列不就是玩对象引用对象嘛!   public class LinkedList<E> implements List<E>, Deque<E&am...

2016-09-22 21:25:09

阅读数:1

评论数:0

Java内部类详解

说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲:   一.内部类基础   二.深入理解内部类   三.内部类的使用场景和...

2016-09-21 00:13:59

阅读数:0

评论数:0

浅析Java中的final关键字

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。下面是本文的目录大纲:   一.final关键字的基本用法   二.深入理解final关键...

2016-09-21 00:11:53

阅读数:3

评论数:0

ConcurrentHashMap

下面这部分内容转载自:   http://www.haogongju.net/art/2350374   JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都 串行化了,这样保证了线程的安全性,所以这种...

2016-09-20 02:52:27

阅读数:2

评论数:0

阻塞队列

在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。   在前面我们接触的队列都是...

2016-09-20 02:51:51

阅读数:1

评论数:0

线程池的使用和实现

在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:   如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。   那么有没有一种办法使得线程可以复...

2016-09-20 02:50:50

阅读数:4

评论数:0

并发容器之CopyOnWriteArrayList

原文链接:   http://ifeve.com/java-copy-on-write/      Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新...

2016-09-20 02:50:05

阅读数:1

评论数:0

Java ConcurrentModificationException异常原因和解决方法

在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。   以下是本文目录大纲:   一.Concurr...

2016-09-20 02:46:41

阅读数:5

评论数:0

同步容器

为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。今天我们就来讨论下同步容器。   以下是本文的目录大纲:   一.为什么会出现同步容器?   二.Java中的同...

2016-09-19 00:07:28

阅读数:1

评论数:0

volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。   volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容...

2016-09-19 00:04:05

阅读数:2

评论数:0

Thread类的使用

在前面2篇文章分别讲到了线程和进程的由来、以及如何在Java中怎么创建线程和进程。今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态、上下文切换,然后接着介绍Thread类中的方法的具体使用。   以下是本文的目录大纲:   一.线程的状态...

2016-09-19 00:02:59

阅读数:7

评论数:0

深入剖析ThreadLocal

想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。   以下是本文目录大纲:...

2016-09-19 00:02:11

阅读数:2

评论数:0

Lock

在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。   也许有朋友会问,既然都可以通过synchroni...

2016-09-19 00:01:53

阅读数:2

评论数:0

如何创建线程

在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程。当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够融会贯通使用的,需要在实践中不断积累。由于并发肯定涉及到多线程,因此在进入并发编程主题之前,我们先来了解一下进程和线程的由来,这对后...

2016-09-18 13:14:48

阅读数:3

评论数:0

浅析IO模型

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

2016-09-18 13:08:27

阅读数:4

评论数:0

Timer和TimerTask

下面内容转载自:   http://blog.csdn.net/xieyuooo/article/details/8607220   其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这...

2016-09-18 13:06:22

阅读数:0

评论数:0

synchronized

虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。   以下是本文的目录大纲:   一.什么时候会出现线程安全...

2016-09-18 07:48:36

阅读数:1

评论数:0

Java Socket与操作系统的关系

Socket与操作系统有什么关系呢?请细读下文 简介 TCP简介 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层...

2016-09-16 20:01:07

阅读数:11

评论数:0

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