`
文章列表
面试题  子线程执行10次,主线程执行100次;接着子线程再执行十次,主线程再执行100次,如此循环50次   package com.ronbay.thread.timer; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import javax.swing.text.StyledEditorKit.ForegroundAction; /** ...
1.Semaphore可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个允许的并发访问数。    (1)Semaphore实现的功能就类似厕所有5个坑,假如有十个人要上厕所,那么同时能有多少个人去上厕所呢?同时只能有5个人能够占用,当5个人中的任何一个人让开后,其中在等待的另外5个人中又有一个可以占用了。   (2)另外等待的5个人中可以是随机获得优先机会,也可以是按照先后到的顺序获得机会,这取决于构造Semaphore对象传入的参数选项。   2.单个信号量的Semaphore对象可以实现互斥锁的功能,并且可以是有一 ...

Condition

Condition    Condition的功能类似在传统线程技术中的Object.wait()和Object.notify() 的功能。在等待Condition时,允许发生“虚假唤醒”,这通常作为对基础平台语义的让步。对于大多数应用程序,这带来的实际影响很小,因为Condition应该是在一个循环中被等待,并测试正被等待状态声明。某个实现可以随意移除可能的虚假唤醒,但建议应用程序程序员总是嘉定这些虚假唤醒可能发生,因此总是在一个循环中等待。 package com.ronbay.thread; import java.util.concurrent.locks.Conditi ...
1.多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥   package com.ronbay.thread.timer; import java.util.HashMap; import java.util.Map; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; /** * @author Ronbay * 一个面试题 缓存系统 * */ public class CacheDemo ...
1. du -h --max-depth=1  该目录下文件按照大小排序; 2.
Java1.5提供了锁机制,位于java.util.current.locks下面   Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们徐用同一个Lock对象。锁是上在代表要操作的资源的类的内部方法中,而不是线程代码中。读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥这是由JVM自己控制的,你只要上号相应的锁即可。如果你的代码只读数据,可以多人同时读,但不能同时写,那就上读锁;如果你的代码修改数据。只能有一个在写,且不能同时读取,那就上写锁。总之,读的时候上读 ...

Callable和Future

 package com.ronbay.thread.timer; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; public c ...

Redis安装

1、安装需要的支持环境 在安装Redis之前首要先做的是安装Unix的Tcl工具,如果不安装的话后期将无法对Redis进行测试。在后期执行make test的时候返回如下错误信息:You need tcl 8.xuyao de5 or newer in order to run the Redis test,具体的流程 ...
Redis-stat 一个用ruby写成的监控redis的程序,基于info命令获取信息,而不是通过monitor获取信息,性能应该比monitor要好。     redis监控软件,redis-stat安装   1、安装依赖 yum -y install ruby ruby-devel rubygems   2、安装redis-stat软件,可能比较慢且执行失败,多执行几次就会成功  
运用Ajax这么多年了,PrintWriter中write()方法和print()方法都在用,还不知道其区别 1.共同点:两者都不刷新页面,只在原来的页面写数据.最终都是重写了抽象类Writer里面的write方法.2.区别:    (1)print方法可以将各种类型的数据转换成字符串的形式输出。                   (2)重载的write方法只能输出字符、字符数组、字符串等与字符相关的数据。 
Java四种线程池的使用 本文转载,转载地址:http://cuisuqiang.iteye.com/blog/2019372   Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回 ...
 java.util.Date是在除了SQL语句的情况下面使用的。java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分它们都有getTime方法返回毫秒数,自然就可以直接构建。 java.util.Date 是 java.sql.Date 的父类,前者是常用的表示时间的 ...

Centos安装Redis

1、安装需要的支持环境   在安装Redis之前首要先做的是安装Unix的Tcl工具,如果不安装的话后期将无法对Redis进行测试。在后期执行make test的时候返回如下错误信息:You need tcl 8.xuyao de5 or newer in order to run the Redis test,具体的流程为: cd /usr/local/srcwget http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gztar -zxvf tcl8.6.3-src.tar.gzcd ​tcl8.6.3/unix/./conf ...

Redis监控工具调研

nagios,zabbix

RSF分布式框架

RSF分布式框架       
Global site tag (gtag.js) - Google Analytics