- 博客(32)
- 资源 (38)
- 收藏
- 关注
转载 三个实例演示 Java Thread Dump 日志分析
jstack Dump 日志文件中的线程状态dump 文件里,值得关注的线程状态有:死锁,Deadlock(重点关注) 执行中,Runnable 等待资源,Waiting on condition(重点关注) 等待获取监视器,Waiting on monitor entry(重点关注)暂停,Suspended对象等待中,Object.wait() 或 TIM
2015-04-28 17:39:52 706
转载 Apache Common Pool的使用
Apache CommonPool包括很多已经实现的Pool,常用的Pool有GenericObjectPool,GenericKeyedObjectPool。本文主要讲述如何使用以上两种Pool,其它的用法相似。使用Common Pool需求到Apache网站下载commons-pool.jar和commons-collections.jar两个包。一.GenericObjectPool
2015-04-27 18:54:50 2569
转载 struts2的核心和工作原理
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处?设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的好处就不在提了。技术优势 Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The Java Serv
2015-04-26 14:29:02 641
转载 浅谈Struts2拦截器的原理与实现
一、理解Struts2拦截器1. Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现.2. 拦截器栈(Interceptor Stack)。Struts2拦截器栈就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,Struts2拦截器链中的拦截器就会按其之前定义的顺
2015-04-26 11:56:26 574
转载 使用XFire进行web services开发有三种方式:
使用XFire进行web services开发有三种方式:1. 不集成Spring: 配置services.xml 文件和web.xml(配置org.codehaus.xfire.transport.http.XFireConfigurableServlet servlet)2. Spring使用XFireSpringServlet方式。3.Spring集成使用
2015-04-26 11:49:34 10438
转载 Struts2中过滤器和拦截器的区别
拦截器和过滤器的区别:1、拦截器是基于java的反射机制的,而过滤器是基于函数回调2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用4、拦截器可以访问action上下文、值栈里的对象,而过滤器不能5、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在
2015-04-26 11:45:55 499
转载 同是流行MVC框架,比较Strtus2和SpringMVC的区别
Struts2和SpringMVC是比较流行的MVC框架,二者的工作流程大体相似,从下面两张图就可以看出。SpringMVC工作流程图图二 SpringMVC的工作流程描述 1. 用户向服务器发送请求,请求被Spring前端控制Servelt DispatcherServlet捕获; 2. DispatcherServle
2015-04-26 10:22:43 2551
原创 接口中定义的变量为什么是常量
如果接口可以定义变量,但是接口中的方法又都是抽象的,在接口中无法通过行为来修改属性。有的人会说了,没有关系,可以通过实现接口的对象的行为来修改接口中的属性。这当然没有问题,但是考虑这样的情况。如果接口A中有一个public访问权限的静态变量a。按照java的语义, 我们可以不通过实现接口的对象来访问变量a,通过A.a = xxx;就可以改变接口中的变量a的值了。正如抽象类中是可以这样做的,那么实现
2015-04-24 16:07:53 4763
转载 反应器(Reactor)模式
概述Java NIO非堵塞技术实际是采取反应器模式,或者说是观察者(observer)模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。同步和异步区别:有无通知(是否轮询)堵塞和非读者区别:操作结果是否等待(是否马上又返回值),只是设计方式的不同NIO 有一个主要的类Selecto
2015-04-24 15:42:43 607
转载 Reactor模式和NIO
Reactor模式和NIO板桥里人 jdon.com 2002/11/08本文可看成是对Doug Lea Scalable IO in Java一文的翻译。当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作。他们都有一个共同的结构:1. Read request2. Decode request3. Proc
2015-04-24 11:21:45 646
转载 zookeeper配置文件详解
配置参数详解(主要是%ZOOKEEPER_HOME%/conf/zoo.cfg文件)参数名说明clientPort客户端连接server的端口,即对外服务端口,一般设置为2181吧。dataDir存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir
2015-04-24 09:34:04 560
转载 Shell脚本中$0、$?、$!等的意义
在阅读别人shell脚本的时候,我们可能会看到类似$0这些变量符号。那么他们是什么意思呢?变量说明$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的
2015-04-22 10:44:44 3759
转载 shell脚本中的shift的用法
Shell编程中Shift的用法位置参数可以用shift命令左移。比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1、$2、$3丢弃,$0不移动。不带参数的shift命令相当于shift 1。非常有用的 Unix 命令:shift。我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当 Shell 程序不知道其个数时,可以把所有参数一起赋值
2015-04-22 10:43:07 4125
转载 shell 脚本的case例子
case和select结构在技术上说并不是循环, 因为它们并不对可执行代码块进行迭代. 但是和循环相似的是, 它们也依靠在代码块顶部或底部的条件判断来决定程序的分支. 在代码块中控制程序分支 case (in) / esac 在shell中的case结构与C/C++中的switch结构是相同的. 它允许通过判断来选择代码块中多条路径中的一条. 它的作用和多个if/t
2015-04-22 10:34:35 1373
转载 oracle启动脚本
#!/bin/bashset -xsu -oracle >>EONlsnrctl startsqlplus /nolog >>EOFconn / as sysdbastartupexitEOFexitEON我们经常在shell脚本程序中用[plain] view plaincopysqlplus em
2015-04-22 10:21:06 632
转载 RHEL5安装Oracle11g并设置随机启动
RHEL5安装Oracle11g并设置随机启动 系统环境:CentOS5.2英文版。地址:192.168.0.30 主机名:localhost.localdomain修改 /etc/redhat-release为enterprise-5 安装位置:/u01/app/oracle以下添加文件内容的操作默认都是添加在末尾1.检查依赖安装包rpm -qa | grep
2015-04-21 10:45:07 515
转载 HashMap的工作原理
HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入
2015-04-17 17:47:46 648
转载 Java自带的性能监测工具用法简介——jstack、jconsole、jinfo、jmap、jdb、jsta、jvisualvm
JDK内置工具使用一、javah命令(C Header and Stub File Generator)二、jps命令(Java Virtual Machine Process Status Tool)三、jstack命令(Java Stack Trace)四、jstat命令(Java Virtual Machine Statistics Monitoring To
2015-04-13 15:04:47 626
转载 jstat使用
1. jstat -gc pid 可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。2.jstat -gccapacity pid 可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小, 如:PGCMN
2015-04-13 09:35:38 424
转载 Java中继承thread类与实现Runnable接口的区别
Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中2. 通过实现Runnable接口,实例化Thread类 在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票口相当于各个线程。当我们做这个系统的时候可能会想到两种方式来实现,继承Thread类或实现Runnable接口,现在看
2015-04-12 18:46:22 2957
转载 经典算法题每日演练——第四题 最长公共子序列
http://www.cnblogs.com/huangxincheng/archive/2012/11/11/2764625.html一: 作用 最长公共子序列的问题常用于解决字符串的相似度,是一个非常实用的算法,作为码农,此算法是我们的必备基本功。二:概念 举个例子,cnblogs这个字符串中子序列有多少个呢?很显然有27个,
2015-04-10 10:52:51 533
转载 为什么要有Set接口
Set不保存重复的元素。Set中最常被使用的是测试归属性,你可以很容易的询问某个对象是否在某个Set中。Set具有与Collection完全一样的接口,因此没有任何额外的功能。实际上Set就是Collection,只是行为不同。 实现了Set接口的主要有HashSet、TreeSet、LinkedHashSet这几个共同点就是每个相同的项只保存一份。他们也有不同点,区别如下:
2015-04-08 23:08:10 1177
转载 Servlet单例多线程分析
Servlet的生命周期:1. Servlet在web服务器启动时被加载并实例化,容器运行其init方法初始化,请求到达时运行其service方法;2. service运行请求对应的doXXX(doGet,doPost)方法;3. 服务器销毁实例,运行其destory方法;Servlet的生命周期由Servlet容器管理
2015-04-08 22:58:11 2355
转载 怎样理解Servlet的单实例多线程
首先明确:Servlet是单实例的,即对于同一种业务请求只有一个是实例。不同的业务请求可以通过分发来产生多个实例。其次:单实例的原因我想是因为单实例足可以处理某一个请求,就像ibatis的Querydao、UpdateDao一样都是单实例的。再次:为什么单实例足可以处理某一个请求,因为Servlet是单实例多线程的。http://hiyachen.cublog.cn chf@tsin
2015-04-08 22:50:02 833
转载 TCP和UDP的区别
TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。 TCP/IP协
2015-04-08 22:21:57 685
转载 Oracle中修改表列名,用SQL语句的方式
对字段操作操作方法更新字段名alter table TABLE_NAME rename column column_old to column_new;添加字段alter table TABLE_NAME add COLUMN_NAME varchar(10);删除字段alter table TABLE_NAME dr
2015-04-08 21:44:11 17573
转载 堆和栈的区别以及衍生出来的栈的效率为什么比堆高
栈与堆都是Java用来在Ram中存放数据的地方。栈中主要存放一些基本类型的变量(,int, short, long, byte, float, double, boolean, char)。 存在栈中的数据可以共享。栈的优势是,存取速度比堆要快,仅次于寄存器,栈数据可以共享。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。堆是一个运行时数据区,类的(对象从中分配空间。
2015-04-08 21:34:11 727
转载 Trie树:应用于统计和排序
1. 什么是trie树 1.Trie树 (特例结构树) Trie树,又称单词查找树、字典树,是一种树形结构,是一种哈希树的变种,是一种用于快速检索的多叉树结构。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie的核心思想是
2015-04-08 21:32:02 595
转载 字典树(讲解+模版)
字典树(讲解+模版)又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。 字典树与字典很相似,当你要查一个单词是不是在字典树中,首先看单词的第一
2015-04-08 20:51:55 511
转载 zookeeper 大量连接断开重连原因排查
问题现象最后发现线上的zookeeper的日志zookeeper.out 文件居然有6G,后来设置下日志为滚动输出,参考:http://blog.csdn.net/hengyunabc/article/details/19006911但是改了之后,发现一天的日志量就是100多M,滚动日志一天就被冲掉了,这个不科学。再仔细查看下日志里的内容,发现有很多连接建立好,
2015-04-08 16:59:32 18811 3
转载 Spring基于注解TestContext 测试框架使用详解
原创整理不易,转载请注明出处:Spring基于注解TestContext 测试框架使用详解代码下载地址:http://www.zuidaima.com/share/1775574182939648.htm概述Spring 2.5 相比于 Spring 2.0 所新增的最重要的功能可以归结为以下 3 点:基于注解的 IoC 功能;基于注解驱动的 Spring MVC
2015-04-03 17:12:31 2362
转载 spring测试套件
一、会用Spring测试套件的好处在开发基于Spring的应用时,如果你还直接使用Junit进行单元测试,那你就错过了Spring为我们所提供的饕餮大餐了。使用Junit直接进行单元测试有以下四大不足:1)导致多次Spring容器初始化问题根据JUnit测试方法的调用流程,每执行一个测试方法都会创建一个测试用例的实例并调用setUp()方法。由于一般情况下,我们在setUp
2015-04-03 16:59:03 1594
AnyBizSoft_PDF_Converte
2013-08-27
printf__左补零
2013-05-15
特殊数系列之卡特兰数
2013-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人