- 博客(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关注的人