blog.hongxi.org

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

Java 如何有效地避免OOM:善于利用软引用和弱引用

想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲:   一.了解 强引用、软引用、弱引用、虚引用的概念   二.进一步理解软引用和弱引...

2015-07-30 02:10:57

阅读数:2

评论数:0

设计模式之六大原则

关于设计模式的六大设计原则的资料网上很多,但是很多地方解释地都太过于笼统化,我也找了很多资料来看,发现CSDN上有几篇关于设计模式的六大原则讲述的比较通俗易懂,因此转载过来。   原作者博客链接:http://blog.csdn.net/LoveLion/article/category/...

2015-07-30 01:14:33

阅读数:2

评论数:0

5分钟理解一致性 hash 算法

转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179     一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。...

2015-07-30 00:59:07

阅读数:2

评论数:0

【转载】相对平均分布

本文转载自http://shift-alt-ctrl.iteye.com/blog/1961598   有一个项目用来负责调度集群中的"cron任务",比如一个application中可以配置N个定时任务,这些任务信息最终注册到zookeeper上,并开...

2015-07-25 13:27:29

阅读数:6

评论数:0

【转载】java 排序算法

本文转载自http://shift-alt-ctrl.iteye.com/blog/1888827 (laoda.toutiao.im)   一.冒泡排序 特点:实现简单,无额外空间消耗,速度较慢,适合数据较少的场景,复杂度为O(N^2) 思路:每一轮比较都从头开始,然后两两比较,如果...

2015-07-24 18:36:32

阅读数:0

评论数:0

JAVA序列化/反序列化与单例

单例设计类:   Java代码   package com.test.singleton;      import java.io.IOException;   import java.io.ObjectStreamException;   import java...

2015-07-24 09:53:38

阅读数:1

评论数:0

JVM垃圾回收

  一.对象查找     在对对象回收之前,需要首先查找出亟待回收的对象,在JVM中,采取"根检索"算法来查找"死亡"的对象;这个算法的基本思想是通过一系列名为"GC Roots"的...

2015-07-24 09:52:57

阅读数:1

评论数:0

jvm 内存与垃圾回收

JVM内存管理和JVM垃圾回收机制(1) 2010-09-26 16:42 cutesource blog.csdn.net 我要评论(0) 字号:T | T 这里向大家描述一下JVM学习笔记之JVM内存管理和JVM垃圾回收的概念,JVM内存结构由堆、栈、本地方法栈、...

2015-07-24 09:51:41

阅读数:2

评论数:0

CountDownLatch、CyclicBarrier和Semaphore

在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。   以下是本文目录大纲:   一.CountDownLatch用法   二.Cycl...

2015-07-23 11:17:00

阅读数:2

评论数:0

ExecutorService

一.ExecutorService: 它也是一个接口,它扩展自Executor接口,Executor接口更像一个抽象的命令模式,仅有一个方法:execute(runnable);Executor接口简单,但是很重要,重要在这种设计的模式上。。   ExecutorService在Exec...

2015-07-23 11:16:46

阅读数:3

评论数:0

CompletionService、Future

一.CompletionService接口提供了可以操作异步任务的功能,其唯一实现的API为ExecutorCompletionService。此API只是可以获取异步任务执行的结果,它不是ExecutorService。 其有5个核心方法: Future<...

2015-07-23 11:16:30

阅读数:0

评论数:0

【转载】JDBC中Connection解惑

本文转载自http://shift-alt-ctrl.iteye.com/blog/1967020   关于JDBC中关于Connection的两个疑问:   1.Connection实例是线程安全的吗?     即一个connection实例,在多线程环境中是否可以确保数据操作是安...

2015-07-23 11:16:14

阅读数:3

评论数:0

【转载】BitSet

本文转载自http://shift-alt-ctrl.iteye.com/blog/2194519   JAVA中BitSet就是“位图”数据结构,根据“位图”的语义,数据的存在性可以使用bit位上的1或0来表示;一个bit具有2个值:0和1,正好可以用来表示false和true。对于判断...

2015-07-23 11:15:39

阅读数:4

评论数:0

zookeeper原理入门

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合...

2015-07-22 10:10:16

阅读数:4

评论数:0

JAVA内存模型和线程安全

参考http://shift-alt-ctrl.iteye.com/blog/1845309   一.JAVA内存模型(JMM,JAVA Memory Model):     运行时涉及到两种内存,主内存和工作区内存,其中工作区内存通常为CPU的高速缓存区用来加快内存数据读取操作的(各线...

2015-07-22 10:09:51

阅读数:0

评论数:0

【转载】并发数据结构

本文转载自http://shift-alt-ctrl.iteye.com/blog/1841084   请首先参考:http://shift-alt-ctrl.iteye.com/blog/1839142 一.BlockingDeque阻塞双端队列(线程安全): 注意ArrayDequ...

2015-07-21 01:03:08

阅读数:2

评论数:0

线程间协作的两种方式:wait、notify、notifyAll和Condition

在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消费队列中的...

2015-07-21 01:01:48

阅读数:2

评论数:0

【转载】Reference

本文转载自http://shift-alt-ctrl.iteye.com/blog/1839163   前言:java提供了几种引用类型,以方便编程者跟踪对象生命周期。     Reference抽象类提供了除强引用之外的其他引用类型基本功能。ReferenceQueue是一个队列(内部...

2015-07-21 01:00:09

阅读数:9

评论数:0

【转载】ArrayList 中数据删除 & fail fast

本文转载自http://shift-alt-ctrl.iteye.com/blog/1839147   在循环arrayLlist时,经常会遇到remove操作,那么arrayList的remove的底层是怎么做的? AbstractList中,有一个属性modCount,这个属性是跟踪...

2015-07-21 00:58:54

阅读数:4

评论数:0

Lock&Condition

package com.ixhong.base.thread; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurre...

2015-07-20 00:24:15

阅读数:1

评论数:0

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