自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZERO

  写程序归根到底就是做两件事---算法实现和错误处理

  • 博客(30)
  • 收藏
  • 关注

转载 深入理解JDBC的timeout

转载自:http://blog.csdn.net/kobejayandy/article/details/46916063恰当的JDBC超时设置能够有效地减少服务失效的时间。本文将对数据库的各种超时设置及其设置方法做介绍。真实案例:       在遭到DDos攻击后,整个服务都垮掉了,当屏蔽了所有的DDos攻击,并恢复了网络后,业务系统却还是无法工作。通过分析系统的th

2016-05-28 08:50:32 15673

转载 Tomcat 7服务器线程模型

转载自:http://blog.csdn.net/kobejayandy/article/details/47810201       Tomcat 7服务器网络处理主要由NioEndpoint,其处理客户端连接的主要流程如图所示:             图中Acceptor及Worker分别是以线程池形式存在,Poller是一个单线程。注意,与BIO的实现一样,缺省状态下,在s

2016-05-28 08:42:28 974

转载 Socket的半包,粘包与分包的问题

转载自:http://blog.csdn.net/kobejayandy/article/details/44632469 关于半包、粘包和分包的现象产生,是因为TCP当中只有流的概念,没有包的概念. ,而面向流的通信是无消息保护边界的。由于TCP无消息保护边界, 需要在消息接收端处理消息边界问题,因此自然产生了如何分包。半包 接受方没有接受到一个完整的包,只接受...

2016-05-28 08:38:47 1008

原创 Shell锁-flock

在linux中,提供了flock文件锁命令,具体格式如下:flock [-sxon] [-w timeout] lockfile [-c]command...flock [-sxun] [-w timeout] fd参数说明如下:       -s为共享锁,在定向为某文件的FD上设置共享锁而未释放锁的时间内,其他进程试图在定向为此文件的FD上设置独占锁的请求失败,而其他进程试图

2016-05-28 08:34:54 5997

转载 Mysql JDBC 连接串参数说明

转载自:http://blog.csdn.net/kobejayandy/article/details/46974185示例:jdbc:mysql://localhost:3306/db_name?useUnicode=true&characterEncoding=UTF-8几个重要的参数说明:useUnicode:是否使用Unicode字符集,如果有参数characterEnc

2016-05-28 08:31:15 3135

转载 Linux下查看及修改进程打开的文件句柄数量

转载自:http://blog.csdn.net/kobejayandy/article/details/47128349查看Linux系统默认的最大文件句柄数,系统默认是1024$ ulimit -n查看Linux系统某个进程打开的文件句柄数量$ lsof -n | grep 5950 -c修改Linux系统的最大文件句柄数限制的方法:1)$ulimit -n

2016-05-28 08:25:47 1901

原创 配置文件解析利器-Config库

Typesafe的Config库,纯Java写成、零外部依赖、代码精简、功能灵活、API友好。支持Java properties、JSON、JSON超集格式HOCON以及环境变量。public class Configure { private final Config config; public Configure(String confFileName) {

2016-05-24 21:47:03 9001

原创 关于Linux中的Profile文件

用户可以在Profile文件中加入环境变量,比如JAVA_HOME,PATH...这样重新登录之后,这些环境变量都会得以设置,不用每次都手工设置。Bash登陆(login)的时候,Profile执行的顺序:    1. 先执行全局Profile, /etc/profile,该文件会定义如下这些变量:PATH、USER、LOGNAME、MAIL、HOSTNAME、HISTSIZE、INP

2016-05-24 21:15:31 6369

原创 split

split 是把一个文件拆分为长度或体积相等的若干文件。split [参数选项] infile [outfile]split 把输入的文件拆分为若干体积或长度相等的文件,输入文件保持不变,只是把结果拆分结果写到outfileaa、outfileab等文件中。如果我们不指定outfile,被拆分后的文件会写到 xaa、xab等文件。参数-a, --suffix-length=

2016-05-20 20:56:09 430

转载 JDBC中的setFetchSize()

转载自:http://blog.csdn.net/seven_3306/article/details/9303879在使用MySQL的JDBC时,如果查询结果集过大,使用一次查询,可能会出现Java.lang.OutOfMemoryError: Java heap space问题,因为DB服务器端一次将查询到的结果集全部发送到Java端保存在内存中而造成OOM。MySQL JDB

2016-05-20 20:41:44 9234

原创 Spring的组件装配

annotation-config将会在Spring容器注册AutowiredAnnotationBeanPostProcessor(该bean可以自动装配具有@Autowired、@Resource、@Inject等注解的属性),而不需要我们再使用这种方式手动注入该bean了。除了上述的那个bean,还有CommonAnnotationBeanPostProcessor、PersistenceA

2016-05-20 20:36:08 663

原创 Shell命令行快捷键

#Ctrl + F : 光标向前移动一个字符,相当与->(forwards)#Ctrl + B : 光标向后移动一个字符,相当与<-(backwards)#Ctrl + A : 切到命令行开始(ahead)#Ctrl + E : 切到命令行结尾(end)#Ctrl + H : 向前删除一个字符#Ctrl + D : 向后删除一个字符#Ctrl + W : 清除光标之前...

2016-05-14 10:21:30 890

原创 Spring属性占位符PropertyPlaceholderConfigurer

通常在Spring项目中如果用到配置文件时,常常会使用org.springframework.beans.factory.config.PropertyPlaceholderConfigurer来简化代码,例如: man 我们希望将name、gender的值写在配置文件中,以后的改动只需要对配置文件进行修改即可,于是就会用到PropertyPlac

2016-05-14 09:29:47 1389

转载 MySQL删除数据后磁盘空间的释放情况

MySQL删除数据几种情况以及是否释放磁盘空间:1、drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM ;2、truncate table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 。truncate table其实有点类似于drop table 然后creat,只不过这个create tabl

2016-05-14 08:05:08 15158

原创 零碎笔记(四)

JAVA中,当需要把一个类序列化的时候,显示提供一个serialVersionUID有什么用呢?       a)小幅性能提升,免除JVM运行时对这个值的计算。       b)避免java.io.InvalidClassException,不同的JVM对serialVersionUID的计算方法可能不一样,就算类的定义和序列化后的对象是一致的,也可能从JVM-A里序列化后的对象到达JVM

2016-05-13 23:29:24 447

转载 简析TCP中的TIME_WAIT与CLOSE_WAIT状态

转载自:http://blog.chinaunix.net/uid-20384806-id-1954363.html http://network.chinabyte.com/87/13312087.shtml http://blog.csdn.net/dyzhen/article/details/5993975 ...

2016-05-13 21:02:18 3449 1

原创 MySQL中的ON DUPLICATE KEY UPDATE

在数据库操作中,例如fee_record记录,如果插入的数据对应的主键userId(或为UNIQUE索引)不存在,则插入;如果新数据的userId已经存在,如果我们期望的是累加fee,而不是提示主键冲突。       在MySQL中可以在INSERT语句末尾使用 ON DUPLICATE KEY UPDATE 来解决我们的需求:insert into fee_record (userId,

2016-05-13 20:25:39 684

转载 Quartz2.x使用

参考:http://blog.csdn.net/seven_3306/article/details/17098493          http://lavasoft.blog.51cto.com/62575/181907/Quartz是Java版开源定时调度器,功能强大,使用方便。。 一、核心概念1.Job     表示一个作业/任务,要执行的具体内容。此接口中只有

2016-05-12 20:40:05 1749 1

原创 tar

tar [-cxtzjvfpPN] 文件与目录 参数:     -c :建立一个压缩文件     -x :解开一个压缩文件     -t :查看压缩文件里面的文件            特别注意: c/x/t 同时只能存在一个。     -z:是否需要用gzip压缩     -j:是否需要用bzip2压缩     -v:压缩的过程中显示文件     -f:使用档

2016-05-11 20:53:44 515

原创 Gradle多模块的项目构建

示例程序拥有两个模块:     core模块包含一些通用的组件,它们能够被程序的其他模块使用。例子中,只包含一个类:MessageService类返回‘Hello World!’字符串。该模块有两个依赖:Junit 4.11与commons-lang3。     app模块包含HelloWorld类,是程序的开端,它从MessageService对象中获取信息,并将接收到的信息写入一个日志

2016-05-07 12:19:58 8941

转载 Java 8从永久代到metaspace

转载自:http://blog.csdn.net/chenleixing/article/details/48286127              http://blog.csdn.net/wang8118/article/details/45765869      http://lovestblog.cn/blog/2016/10/29/metaspace/       Jav

2016-05-06 21:02:52 5655

原创 Netty之ByteBuf

在使用NIO时需要使用缓冲区,常用的缓冲区就是JDK NIO类库提供的java.nio.Buffer,而主要使用的是ByteBuffer。但是ByteBuffer也有局限性: 1.ByteBuffer长度固定,一旦分配完成,它的容量就不能动态扩展和收缩,当需要编码的POJO对象大于ByteBuffer的容量时,会发送索引越界异常; 2.ByteBuf...

2016-05-05 22:04:34 3125

转载 Netty高性能之道

转载自:http://www.infoq.com/cn/articles/netty-high-performance1. 异步非阻塞通信       在IO编程过程中,当需要同时处理多个客户端接入请求时,可以利用多线程或者IO多路复用技术进行处理。IO多路复用技术通过把多个IO的阻塞复用 到同一个select的阻塞上,从而使得系统在单线程的情况下可以同时处理多个客户端请求。与传统的多

2016-05-05 21:48:01 2261

原创 Java8下的ConcurrentHashMap新操作

更新值       在Java7时,对ConcurrentHashMap进行线程安全的更新操作需要使用循环来处理(可以参见http://blog.csdn.net/zero__007/article/details/49833819),但是在Java8中提供了更方便的原子更新方法。public V compute(K key, BiFunction remappingFunction)

2016-05-05 21:40:30 7191

原创 BigInteger、BigDecimal、数字格式化

BigInteger与BigDecimal的目的是用来精确地表示大整数和小数,常用于商业计算中。BigInteger:支持任意精度的整数,可以精确地表示任意大小的整数值,同时在运算过程中不会丢失任何信息。BigDecimal:可以精确地表示任意精度的小数,同时在运算过程中不会丢失任何信息。BigInteger与BigDecimal都是不可变的(immutable)的,在进行每一步运

2016-05-05 21:33:16 11747

转载 ChannelHandler

转载自:http://blog.csdn.net/abc_key/article/details/37928441     Netty提供了一个强大的处理这些事情的功能,允许用户自定义ChannelHandler的实现来处理数据。使得ChannelHandler更强大的是可以连接每个ChannelHandler来实现任务,这有助于代码的整洁和重用。但是处理数据只是ChannelHandle

2016-05-02 10:38:21 798

转载 Bootstrap

转载自:http://blog.csdn.net/abc_key/article/details/38275333     Netty包含了2个不同类型的引导,第一个是使用服务器的ServerBootstrap,用来接受客户端连接以及为已接受的连接创建子通道;第二个是用于客户端的Bootstrap,不接受新的连接,并且是在父通道类完成一些操作。     还有一种情况是处理Datagra

2016-05-02 10:08:05 1528

转载 Netty核心概念

转载自:http://blog.csdn.net/abc_key/article/details/37672187        一个Netty程序开始于Bootstrap类,Bootstrap类是Netty提供的一个可以通过简单配置来设置或"引导"程序的一个很重要的类。Netty中设计了Handlers来处理特定的"event"和设置Netty中的事件,从而来处理多个协议和数据。事件可以

2016-05-02 09:24:54 1955

原创 NIO2.0

JDK1.7升级了NIO类库,升级后的NIO类库被称为NIO2.0,引人注目的是,Java正式提供了异步文件I/O操作,同时提供了与UNIX网络编程事件驱动I/O对应的AIO。     NIO2.0引入了新的异步通道的概念,并提供了异步文件通道和异步套接字通道的实现。异步通道提供两种方式获取操作结果。 通过java.util.concurrent.Future类来表示异步操作的结果

2016-05-02 08:00:51 846

原创 Optional

Optional对象表示对一个T类型引用的封装,或则表示不是任何对象。它比一般指向T类型的引用更安全,因为它不会返回null。如果存在被封装的对象,那么get方法会返回该对象,否则会抛出NoSuchElementException。isPresent方法会反映出一个Optional对象是否有值。但是if (optionalValue.isPresent()) { optiona

2016-05-02 07:52:14 1774

空空如也

空空如也

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

TA关注的人

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