- 博客(25)
- 收藏
- 关注
原创 文章标题
Exception in thread "Memcached IO over {MemcachedConnection to www.webserver02.com/127.0.0.1:11210}" Exception in thread "Memcached IO over {CouchbaseConfigConnection to /127.0.0.1:11210}" Exception in
2016-02-13 22:24:45
520
原创 欢迎使用优快云-markdown编辑器
SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/E:/devsf/richinfo_mvnrepo/org/slf4j/slf4j-log4j12/1.7.12/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBind
2016-02-13 22:18:09
462
原创 couchbase
二月 13, 2016 7:35:00 下午 org.apache.catalina.core.AprLifecycleListener init信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on th
2016-02-13 19:41:58
1616
原创 mysql之sql优化
一、mysql数据库优化层面。1、硬件优化,使用ssd,加大内存 2、合理部署(读写分离,集群) 3、mysql配置文件优化 4、索引 5、sql语句的书写 6、数据结构的优化90%的性能原因是由于SQL语句、索引和数据本身(数据结构、数据量)的变化引起的。二、sql导致性能的原因大部分情况下,sql是导致mysql性能问题的最直接的原因。以下是书写sql时,应该时刻记住的。 1、书写使
2015-12-05 15:36:00
534
原创 Flume安装与测试
用户手册Flume单机安装安装jdk wget http://mirror.esocc.com/apache/flume/1.3.1/apache-flume-1.3.1-bin.tar.gz测试测试需求:从某个外部资源获取数据,然后打印出来 设计环境: Source:netcat Source Channel:memory Sink:Logger Sink准备配置文件# example.
2015-12-05 10:52:21
877
原创 Flume 核心组件介绍
flume 核心组件Source完成对日志数据的收集,收集完成后,分成transtion、event放到Sink或者Channel中。 Flume提供了各种Source的实现,包括 Avro Source:监控某一个端口 Exce Source:对linux命令如cat、tail等的输出进行监控 ExecSource 可以实现对日志的实时手机,但是存在Flume不运行或者指令执行出错时,将无
2015-12-04 14:30:57
1382
原创 同步集合
HashSet、HashMap、ArrayList这些都是线程不安全的,在多线程并发操作的时候,会使其中的数据发生混乱。 所以多线程的时候要使用api提供的同步集合 ConcurrentHashMap ConcurrentHashMap, ConcurrentSkipListMap, ConcurrentSkipListSet, CopyOnWriteArraySet.
2015-12-03 21:20:31
320
原创 ArrayBlockingQueue阻塞队列的使用示例
和BoundQueue(见上一篇文章线程间的通信Condition)中代码实现的功能是相似的。package cn.iktz.thread.demo;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;public class BlockingQueueTest {
2015-12-03 21:09:10
1033
原创 线程之间的通信Condition
Condition 对象的获取 Lock lock = new ReentrantLock(); Condition condition = lock.newCondition();condition.await();// 当前线程等待 condition.signal();// 给其他线程发信号,唤醒其他线程文档中通过Condition实现的可阻塞的队列例子分析Bounded:有界限的pa
2015-12-03 20:54:13
433
原创 关于各种字符编码
ASCII:美国标准信息交换码。它用一个字节的7位表示ISO8859-1拉丁码表(欧洲码表,法语,意大利语等)GB2312(8k+) GBK(2w+字符)特点: 1、中文编码表,GBK是GB2313的升级版,可以表示的中文文字字符更多。 2、使用2个字节表示, 3、2个字节的高位都是1,避免和ASCII码重复。 4、这两种编码兼容ASCII码表。Unicode UTF-8Unicode国际标
2015-12-03 17:08:57
444
原创 文章标题
一、字节流二、Printwriter三、合并流四、切割流五、对象的序列化六、管道流七、随机读写IO包中的RandomAccessFileRandomAccessFile,直接继承自Object,即支持读,也支持写。对象内部封装了字节输入流和字节输出流,和字节数据,可以操作指针。获取数组元素,写入数组元素。类的声明public class RandomAccessFileextends Object
2015-12-03 16:13:46
321
原创 Socket编程服务端可能出现阻塞的位置,以及解决方法
下图描述了服务端在处理客户端请求时可能出现的地方。解决方法是使接收客户端请求和处理请求分离,接收到请求后,新创建线程来处理请求。package cn.iktz.socket.uploadpic;import java.io.File;import java.io.FileInputStream;import java.io.OutputStream;import java.net.Socket
2015-12-02 23:31:09
903
原创 读写锁
为什么读写要互斥,读的时候不能写,写的时候不能读? 举个例子,用户A正在读的时候,用户B对数据进行了写操作,就会出现A读到的数据不准确。A在写的时候,B去读,则读到的数据也是不准确的。所以读和写要互斥。读写锁的特点1、读锁与写锁互斥。 2、读锁之间不互斥。 3、写锁与写锁互斥。读写锁分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这些特性由jvm底层控制,代码中加上相应的锁即可。使用的时候注意
2015-12-01 23:32:06
982
原创 Lock的基本使用
Lock的实现类ReentrantLockReentrant:折返 注意:不同线程中需要同步的代码需要要持有同一个锁,才能实现同步的效果。在以下的代码中,使用了传入统一Outputer对象的方法,使其具有同一个锁。package cn.iktz.thread.demo;import java.util.concurrent.locks.Lock;import java.util.concurre
2015-12-01 21:33:40
414
原创 Callable&&Future的基本使用
ExecutorService的submitExecutorService的submit方法可以接收一个Callable对象,并且返回一个Future 。public interface Callable { /** * Computes a result, or throws an exception if unable to do so. * *
2015-12-01 14:56:49
407
原创 线程池的基本使用
对线程池的理解一个池子中有多个线程,可以放入多个任务,任务被不确定的线程执行。Executors工具类1、创建固定数目的线程池2、缓存线程池:线程数是可伸缩的,任务多的时候,会创建新的线程来执行任务,任务完成后,空闲的线程会被回收。这样若请求过多,可能造成创建大量线程,造成服务器性能下降,甚至宕机。3、单线程池:1个线程,这个线程死了,会有替补线程接替执行任务。
2015-12-01 02:54:04
396
原创 02_netty粘包/拆包的解决:字符串的编码解码
netty中的粘包、拆包解决方案LineBasedFrameDecode+StringDecoderLineBasedFrameDecode:遍历字节数组,遇到"\n","\r\n"以此作为结束符。可以配置单行的最大长度,超过后抛出异常。StringDecoder:将接收到的字节转换成字符串。initChannel(SocketChannel ch) throws Exceptio
2015-11-30 12:06:58
2737
原创 01_netty5入门应用-时间服务器程序代码
public interface Constants { public String QUERY_TIME_ORDER = "1"; public String EN_CODE_UTF8 = "UTF-8"; public int DEFAULT_PORT = 8080;}package cn.iktz.netty.test.time.client;import io.netty.
2015-11-30 01:02:37
332
原创 ActiveMQ和JMS的使用
简介ActiveMQ 是apache 开源的消息系统,java实现。JMS:java消息服务,提供消息的创建、发送、接收、读取等一系列服务。JMS定义了公共接口,类似于jdbc。使java程序可以和不同厂商的消息组件很好地进行通信。JMS概述1、JMS支持的消息类型包括:简单文本(TextMessage)、可序列化的对象(ObjectMessage)、键值对(MapMe
2015-11-28 23:46:32
348
原创 mytatis解析xml的过程01
###描述一下mybatis是怎么解析xml的?1、Xml配置构建器,和它的parse方法SqlSessionFactoryBuilder类中有build的具体代码。 public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) { try
2015-11-28 18:56:18
518
原创 nginx常用配置
官档http://nginx.org/en/docs/nginx的负载均衡主要依赖这个模块:ngx_http_upstream_module负载均衡的简易配置1、安装好nginx(192.168.1.111)2、修改egrep -v "#|^$" nginx.conf.default > nginx.conf对其进行修改worker_processes 1
2015-11-28 11:25:15
882
原创 ngnix1.6.3 安装
ngnix版本:1.6.3环境:最小化安装的redhat6.4yum install telnet nmap dos2unix -y #安装telnetyum install make gcc gcc-g++ -y #安装编译环境yum install -y pcre-devel #安装pcrewget http://124.205.69.171/files/
2015-11-27 21:33:42
736
原创 负载均衡下的多台tomcat服务器,通过memcache实现session共享
session共享的应用场景大型分布式网站,通常使用的架构是,硬件均衡设备(cisco以太网通道、windows nlb技术、linux lvs技术、f5等负载均衡器)——>多台Squid、nginx服务器(反向代理、负载均衡)——>weserver(tomcat,jboss,jetty,nginx等)——>cache集群(redis、memcache、一些企业自己实现的分布式缓存框架)——>
2015-11-27 21:15:36
7045
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人