Java
lijiaz5033
这个作者很懒,什么都没留下…
展开
-
Java NIO系列教程(三) Buffer
Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。下面是NIO Buffer相关的话题列表:Buffer的基本用法Buffer的capacity,position和l转载 2015-11-23 19:43:31 · 335 阅读 · 0 评论 -
JVM内存管理
Java不需要开发人员来显式的分配内存和回收内存,而是由JVM来自动管理内存的分配以及回收(又称为垃圾回收、Garbage Collection或GC),这对于开发人员来说确实大大降低了编写程序的难度,但带来的副作用是可能在不知不觉中浪费了很多内存,造成JVM花费很多的时间在进行内存的回收;另外可能会带来的副作用是由于不清楚JVM内存的分配和回收机制,造成内存泄露,最终导致JVM内存不够用。除转载 2015-11-23 20:00:06 · 300 阅读 · 0 评论 -
Java NIO系列教程(一) Java NIO 概述
Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具类。因此,在概述中我将集中在这三个组件上。其它组件会在单独的章节中讲到。转载 2015-11-23 19:41:16 · 248 阅读 · 0 评论 -
JavaCore/HeapDump文件分析工具
BM HeapAnalyzer更多信息见官方网站地址:http://www.alphaworks.ibm.com/tech/heapanalyzer 在我们的应用程序发生内存泄露的时候,会生成heapdump文件,文件名字类似于这样:heapdump.20081105.031129.172870.phd,即heapdump. ...phd。表示什么不知道,好像不是时间。heapdump转载 2015-11-23 20:01:13 · 701 阅读 · 0 评论 -
Java NIO系列教程(二) Channel
Java NIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:Channel的实现这些是Java NIO中最重要的通道的实现:转载 2015-11-23 19:42:00 · 239 阅读 · 0 评论 -
DBCP、C3P0、Proxool 、 BoneCP开源连接池的比较
DBCP、C3P0、Proxool 、 BoneCP等开源数据库连接池基本简介 简介 使用评价 项目主页 DBCPDBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序用使用可以设置最大和最小连接,连接等待时间等,基本功能都有,此连接池的转载 2015-11-23 19:52:18 · 319 阅读 · 0 评论 -
阿里巴巴集团去IOE运动的思考与总结
预计2012年5月7日,阿里巴巴集团将正式公布技术团队合并的事情,涉及的部门:阿里巴巴运维团队、阿里巴巴DBA团队、阿里巴巴平台技术部、大淘宝运维团队、大淘宝DBA团队、大淘宝核心系统部、阿里云计算运维团队、阿里云计算DBA团队和阿里巴巴集团安全团队,上述技术团队合并之后,从一些可以猜测到的信息分析,大淘宝的员工成为相关技术团队的掌舵者,以及去IOE政治运动是阿里巴巴集团首席架构师王坚主导的,阿里转载 2015-11-23 19:50:51 · 458 阅读 · 0 评论 -
深入理解JDBC的超时设置
恰当的JDBC超时设置能够有效地减少服务失效的时间。本文将对数据库的各种超时设置及其设置方法做介绍。 真实案例:应用服务器在遭到DDos攻击后无法响应 在遭到DDos攻击后,整个服务都垮掉了。由于第四层交换机不堪重负,网络变得无法连接,从而导致业务系统也无法正常运转。安全组很快屏蔽了所有的DDos攻击,并恢复了网络,但业务系统却还是无法工作。 通过分析系统的thread dum转载 2015-11-23 19:53:46 · 292 阅读 · 0 评论 -
Java NIO系列教程(七) DatagramChannel
Java NIO中的DatagramChannel是一个能收发UDP包的通道。因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。打开 DatagramChannel下面是 DatagramChannel 的打开方式:1DatagramChannel channel = DatagramChannel.op转载 2015-11-23 19:46:25 · 282 阅读 · 0 评论 -
Java NIO系列教程(五) SocketChannel
Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel:打开一个SocketChannel并连接到互联网上的某台服务器。一个新连接到达ServerSocketChannel时,会创建一个SocketChannel。打开 SocketChannel下面是SocketChannel的打开方式:转载 2015-11-23 19:45:06 · 305 阅读 · 0 评论 -
JVM调优
JVM调优主要是针对内存管理方面的调优,包括控制各个代的大小,GC策略。由于GC开始垃圾回收时会挂起应用线程,严重影响了性能,调优的目是为了尽量降低GC所导致的应用线程暂停时间、 减少Full GC次数。 代大小调优 最关键参数:-Xms、 -Xmx 、-Xmn 、-XX:SurvivorRatio、-XX:MaxTenuringThreshold转载 2015-11-23 19:58:58 · 378 阅读 · 1 评论 -
Java问题排查常用linux命令
系统配置相关:查看内核/操作系统/CPU信息: uname -a查看操作系统版本: head -1 /etc/issue查看网卡信息:cat /sbin/ifconfig查看cpu配置: cat /proc/cpuinfo查看mem配置:cat /proc/meminfo查看环境变量 资源: env 查看各分区使用情况: df -h查看指定目录的大小: du -转载 2015-11-23 19:57:38 · 327 阅读 · 1 评论 -
Java NIO系列教程(八) FileChannel
Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。打开FileChannel在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileChannel,需要通过使用一个InputStream、 OutputStream或RandomAc转载 2015-11-23 19:47:10 · 243 阅读 · 0 评论 -
Spring 框架的设计理念与设计模式分析
Spring 作为现在最优秀的框架之一,已被广泛的使用,并且有很多对其分析的文章。本文将从另外一个视角试图剖析出 Spring 框架的作者设计 Spring 框架的骨骼架构的设计理念,有那几个核心组件?为什么需要这些组件?它们又是如何结合在一起构成 Spring 的骨骼架构? Spring 的 AOP 特性又是如何利用这些基础的骨骼架构来工作的? Spring 中又使用了那些设计模式来完成它的转载 2015-12-16 17:08:02 · 640 阅读 · 0 评论