自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iktz.cn的博客

提供入门技术指导,为你由浅入深,娓娓道来。当然,深入是为了使用的时候得心应手,不是为了重复造轮子

  • 博客(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 457

原创 欢迎使用CSDN-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 410

原创 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 1558

原创 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 471

原创 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 806

原创 Flume 核心组件介绍

flume 核心组件Source完成对日志数据的收集,收集完成后,分成transtion、event放到Sink或者Channel中。 Flume提供了各种Source的实现,包括 Avro Source:监控某一个端口 Exce Source:对linux命令如cat、tail等的输出进行监控 ExecSource 可以实现对日志的实时手机,但是存在Flume不运行或者指令执行出错时,将无

2015-12-04 14:30:57 1307

原创 同步集合

HashSet、HashMap、ArrayList这些都是线程不安全的,在多线程并发操作的时候,会使其中的数据发生混乱。 所以多线程的时候要使用api提供的同步集合 ConcurrentHashMap ConcurrentHashMap, ConcurrentSkipListMap, ConcurrentSkipListSet, CopyOnWriteArraySet.

2015-12-03 21:20:31 287

原创 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 990

原创 线程之间的通信Condition

Condition 对象的获取 Lock lock = new ReentrantLock(); Condition condition = lock.newCondition();condition.await();// 当前线程等待 condition.signal();// 给其他线程发信号,唤醒其他线程文档中通过Condition实现的可阻塞的队列例子分析Bounded:有界限的pa

2015-12-03 20:54:13 392

原创 关于各种字符编码

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 394

原创 文章标题

一、字节流二、Printwriter三、合并流四、切割流五、对象的序列化六、管道流七、随机读写IO包中的RandomAccessFileRandomAccessFile,直接继承自Object,即支持读,也支持写。对象内部封装了字节输入流和字节输出流,和字节数据,可以操作指针。获取数组元素,写入数组元素。类的声明public class RandomAccessFileextends Object

2015-12-03 16:13:46 292

原创 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 853

原创 读写锁

为什么读写要互斥,读的时候不能写,写的时候不能读? 举个例子,用户A正在读的时候,用户B对数据进行了写操作,就会出现A读到的数据不准确。A在写的时候,B去读,则读到的数据也是不准确的。所以读和写要互斥。读写锁的特点1、读锁与写锁互斥。 2、读锁之间不互斥。 3、写锁与写锁互斥。读写锁分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这些特性由jvm底层控制,代码中加上相应的锁即可。使用的时候注意

2015-12-01 23:32:06 761

原创 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 370

原创 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 354

原创 线程池的基本使用

对线程池的理解一个池子中有多个线程,可以放入多个任务,任务被不确定的线程执行。Executors工具类1、创建固定数目的线程池2、缓存线程池:线程数是可伸缩的,任务多的时候,会创建新的线程来执行任务,任务完成后,空闲的线程会被回收。这样若请求过多,可能造成创建大量线程,造成服务器性能下降,甚至宕机。3、单线程池:1个线程,这个线程死了,会有替补线程接替执行任务。

2015-12-01 02:54:04 361

原创 netty 客户端线程退出

再完成请求的方法里,加入 channel.close()方法

2015-12-01 02:19:31 1139

原创 通过ThreadLoad实现线程范围内的共享变量

线程共享变量可能出现的问题

2015-11-30 21:00:42 2572 1

原创 02_netty粘包/拆包的解决:字符串的编码解码

netty中的粘包、拆包解决方案LineBasedFrameDecode+StringDecoderLineBasedFrameDecode:遍历字节数组,遇到"\n","\r\n"以此作为结束符。可以配置单行的最大长度,超过后抛出异常。StringDecoder:将接收到的字节转换成字符串。initChannel(SocketChannel ch) throws Exceptio

2015-11-30 12:06:58 2692

原创 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 296

原创 ActiveMQ和JMS的使用

简介ActiveMQ 是apache 开源的消息系统,java实现。JMS:java消息服务,提供消息的创建、发送、接收、读取等一系列服务。JMS定义了公共接口,类似于jdbc。使java程序可以和不同厂商的消息组件很好地进行通信。JMS概述1、JMS支持的消息类型包括:简单文本(TextMessage)、可序列化的对象(ObjectMessage)、键值对(MapMe

2015-11-28 23:46:32 323

原创 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 469

原创 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 819

原创 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 713

原创 负载均衡下的多台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 6959

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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