技术分享
文章平均质量分 76
dawei0523
这个作者很懒,什么都没留下…
展开
-
JAVA CPU占用过高问题排查
1. 查找进程top查看进程占用资源情况明显看出java的两个进程22714,12406占用过高cpu. 2.查找线程使用top -H -p <pid>查看线程占用情况 3.查找java的堆栈信息将线程id转换成十六进制#printf %x 15664#3d30 然后再使用jstack查询线程的堆栈信息语法:jstack &...原创 2018-05-30 09:55:03 · 265 阅读 · 0 评论 -
解决:Project facet Java version 1.7 is not supported.
在移植eclipse项目时,如果遇到“Project facet Java version 1.7 is not supported.” 项目中的jdk1.7不支持。说明项目是其他版本jdk编译的,在eclipse里运行时会报版本不支持。解决办法:法1,选中项目 Properties , 选择 Project Facets,右击选择 Java , Change Version...原创 2014-04-08 09:19:43 · 169 阅读 · 0 评论 -
Jquery-zTree的基本用法
zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 兼容 IE、FireFox、Chrome 等浏览器 在一个页面内可同时生成多个 Tree 实例 支持 JSON 数据 支持一次性静态生成 和 Ajax 异步加载 两种方式 支持多种事件响应及反馈 支持 Tree 的节点移动、编辑、删除 支持任意更换皮肤 / 个性...原创 2014-04-04 10:41:22 · 68 阅读 · 0 评论 -
Hessian 原理分析
一. 远程通讯协议的基本原理网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 http 、 tcp 、 udp 等等, http 、 tcp 、 udp 都是在基于 Socket 概念上为某类应用场景而扩展出的传输协议,网络 IO ,主要有 bio 、 nio 、 aio 三种方式,所有的分布式应用通讯都基于这个原...原创 2014-08-29 17:06:37 · 67 阅读 · 0 评论 -
剖析top命令显示的VIRT RES SHR值
1 VIRT RES SHR的准确含义 三个内存指标,VRIT,RES,SHR准确含义是什么?谁能告诉我们?MAN页?Linux专家?SUSE工程师?Linus?谁能说出最正确答案?没人!因为惟有源代码才是最正确的答案。那我们就去看下源码吧,这就是开源软件的最大的好处。首先这三个数据的源头,肯定是内核,进程的相关数据结构肯定是由内核维护。那么top作为一个用户空间的...原创 2014-04-02 17:15:20 · 1164 阅读 · 0 评论 -
Redis 集群规范
文档翻译自 http://redis.io/topics/cluster-spec 。引言这个文档是正在开发中的 Redis 集群功能的规范(specification)文档, 文档分为两个部分:第一部分介绍目前已经在 unstable 分支中实现了的那些功能。第二部分介绍目前仍未实现的那些功能。文档各个部分的内容可能会随着集群功能的设计修改而发生改变, 其中...原创 2014-04-02 17:06:41 · 81 阅读 · 0 评论 -
STS创建maven web
推荐使用springsource的sts(一款基于eclipse整合的ide)sts下载地址安装好m2clipse插件后在ide菜单栏点击 window --> preferences输入maven出现下图中所示.点击user settings 选择解压后maven下conf文件夹中的settings.xml再点击apply.接着点击installations -->add --...原创 2014-03-31 10:06:15 · 234 阅读 · 0 评论 -
JVM内存模型概览
根据《Java虚拟机规范(第二版)》的规定,结构如下 1)程序计数器 Program Counter Register 是一小块内存空间,他的作用是当前线程所执行的行号指示器。此内存区是唯一一个没有规定OutOfMemoryError情况的区域。 2)Java虚拟机栈 Java Virtual Machine Stack 生命周期与线程相同,,描述的是java方法执行的内存模型。每个方法被执行的...原创 2014-03-28 16:41:06 · 93 阅读 · 0 评论 -
java调用dll的几种方法(JNI,Jawin,Jacob)
使用Java调用DLL动态链接库的方案通常有三种:JNI, Jawin, Jacob. 其中JNI(Java NativeInterface)是Java语言本身提供的调用本地已编译的函数库的方法,本身具有跨平台性,可以在不同的机器上调用不同的本地库。Jawin和Jacob都是sourceforge.net的开源项目,都是基于JNI技术的依赖Windows的实现,使得在Windo...原创 2014-03-26 15:31:39 · 192 阅读 · 0 评论 -
关于内存溢出异常的查看以及解决办法
内存溢出,又称为OOM(OutOfMemoryError),处理内存溢出,首先要查看是否是由于内存泄露(Memory Leak)造成的内存溢出(Memory Overflow),可以使用内存影响分析工具(如 Eclipse Memory Analyzer)对dump出来的堆存储快照进行分析,来确认内存中的对象是否是必要的.如果是内存泄露,可以进一步通过工具查看泄漏对象到D...原创 2014-03-26 14:24:56 · 1163 阅读 · 1 评论 -
ModelAndView使用详解
ModelAndView的构造方法有7个。但是它们都是相通的。这里使用无参构造函数来举例说明如何构造ModelAndView实例。 ModelAndView类别就如其名称所示,是代表了MVC Web程序中Model与View的对象,不过它只是方便您一次返回这两个对象的holder,Model与View两者仍是分离的概念。 最简单的ModelAndView是持有View的名称返回,之后View...原创 2014-03-26 10:57:09 · 541 阅读 · 0 评论 -
通过GC输出分析内存泄露问题
文章原地址:http://cenwenchu.javaeye.com/blog/256701 GC官方介绍:http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html SIP5.0以后服务的请求量爆发性增长,因此也暴露了原来没有暴露出来的问题。由于过去一般一个新版本发布周期在一个月左右,因此如果是小的内存泄露,在一个月之内重...原创 2014-04-08 16:38:55 · 135 阅读 · 0 评论 -
Maven 手动添加 JAR 包到本地仓库
Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的,4个人共用,有时候用 Maven 来远程下载 JAR 包会显得很慢,一般我发现下载速度不明显的时候,我就 Ctrl + C 来终止它的下载。然后改用手动来下载,因为用迅雷一类的工具来下载会快很多。我机子上 Maven 的本地仓库的很多 JAR 包我都是手动下载的。...原创 2014-04-08 16:48:20 · 65 阅读 · 0 评论 -
MessageDigest使用 完成MD5加密
Java 加密技术:消息摘要。一个消息摘要就是一个数据块的数字指纹。即对一个任意长度的一个数据块进行计算,产生一个唯一指印(对于SHA1是产生一个20字节的二进制数组)。消息摘要有两个基本属性:两个不同的报文难以生成相同的摘要 难以对指定的摘要生成一个报文,而由该报文反推算出该指定的摘要 代表:美国国家标准技术研究所的SHA1和麻省理工学院Ronald Rivest提出的MD5 ...原创 2014-04-09 10:16:37 · 258 阅读 · 0 评论 -
发布jar包到Maven中央仓库
平时自己开发的工具类或者其他的框架的jar包一般都是放在本地。或者把代码上传到github让别人去下载然后自己打包。今天就说说如何把自己的jar包发布到Maven的中央仓库。让其他使用你的jar包的直接去中央仓库下载。如果你用的是阿里云的maven中央仓库。同样阿里云的中央仓库也会同步你的jar包。 1 注册JIRA账号 注册地址:https://issues.sonatype.org/sec...原创 2018-04-11 18:27:49 · 365 阅读 · 0 评论 -
自定义滚动条样式
/*定义滚动条宽高及背景,宽高分别对应横竖滚动条的尺寸*/*::-webkit-scrollbar {width: 5px;height: 5px;background-color: #f2f2f2;}/*滚动条的轨道,内阴影及圆角*/*::-webkit-scrollbar-track {-webkit-box-shadow: inset 0 0 6px rgb...2018-02-03 15:31:52 · 136 阅读 · 0 评论 -
关于javascript踩过的坑
前言: 最近做项目写JS时遇到一个坑,获取JSON对象的值时,发现JSON对象中的key存在《xxx.xxx》的情况,例如如下代码中的《 task.taskId》:var obj = { activityName:"eee", historicProcessInstance.id:" ", id:"daa84b785d714...2018-01-07 21:47:48 · 189 阅读 · 0 评论 -
使用新浪API获取短链接并生成二维码
开发的时候遇到了这么一个问题,由于URL太长,生成二维码的时候太密集,导致扫描起来非常困难。因此想到了短链接,网上查了查资料,说可以用新浪的API来生成短链接,就可以将一个很长的链接变的很短,从而二维码变得特别清晰。 首先,引入JQuery.js和QrCode.js,代码如下:<script type="text/javascript" src="/js...2014-11-12 11:27:35 · 294 阅读 · 0 评论 -
thrift
一、About thrift 二、什么是thrift,怎么工作? 三、Thrift IDL 四、Thrift Demo 五、Thrift 协议栈 以及各层的使用(java 为例) 六、与protocolbuffer的区别 一、About thrift thrift是一种可伸缩的跨语言服务的发展软件框架。它结合了功能强大的软件堆栈的代码生成引擎,以建设服...原创 2015-05-17 00:08:22 · 142 阅读 · 0 评论 -
flexigrid简单使用
<html>中有<tableid="flexi1"></table><script>中代码: $("#flex1").flexigrid({ width: w, height: h, method:'Post', //或者'get' url: 'FlexiGridServlet.do', //返回数据源的后台处理程序地址,也可以是xml文件的地址 d...原创 2014-04-24 09:50:00 · 192 阅读 · 0 评论 -
Git 指令集
it 是分散式的版本控制系統, 從架設、簡易操作、設定, 此篇主要是整理 基本操作、遠端操作 等.註: Git 的範圍太廣了, 把這篇當作是初學入門就好了.注意事項由 project/.git/config 可知: (若有更多, 亦可由此得知)origin(remote) 是 Repository 的版本master(branch) 是 local 端, 正在修改的版本平常沒事不...原创 2014-04-14 09:36:20 · 88 阅读 · 0 评论 -
Github的相关使用文章
Git介绍,安装,Git+Git flow使用:http://my.eoe.cn/fogs/archive/799.htmlGit 指令集:http://my.eoe.cn/iceskysl/archive/463.html在mac上安装git-flow过程:http://my.eoe.cn/iceskysl/archive/118.htmlgit fetch 的简单用法:更新远程代码到本地仓库...原创 2014-04-14 09:30:13 · 118 阅读 · 0 评论 -
初识Github
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。同样,eoe.cn客户端的源码也托管在github上。...原创 2014-04-14 09:29:44 · 94 阅读 · 0 评论 -
keepalived使用与安装
官方网站 http://www.keepalived.org/ 【简介】 keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机, 或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务...原创 2014-04-10 10:42:30 · 82 阅读 · 0 评论 -
Java学习笔记之Pattern类的用法详解(正则表达式)
java.util.regex.Pattern (摘自sun主页)Implements: Serializable 正则表达式的编译表示形式。指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建 Matcher 对象,依照正则表达式,该对象可以与任意字符序列匹配。执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模...原创 2014-03-26 10:30:26 · 181 阅读 · 0 评论 -
虚拟IP原理
高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。实现HA的方式,一般采用两台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器。...原创 2014-03-25 09:49:01 · 70 阅读 · 0 评论 -
系统优化
部署步骤,注意黄色部分即可。由于tomcat每次重启会重新写gc.log文件,所以在里面增加了日期属性,保留以往的日志做性能分析使用。10.10.160.10和11上的catalina.sh我已经更新,以后拷贝即可。 <!--[if !supportLists]-->1. <!--[endif]-->建立目录mkdir -p /appli...原创 2014-03-21 15:54:47 · 90 阅读 · 0 评论 -
Spring @
Spring事务的传播行为在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchecked如果遇到checked意外就不回滚。如何改变默认规则:1 让checked例外也回滚:在整个方法前加上...原创 2014-01-08 15:27:30 · 52 阅读 · 0 评论 -
maven常用命令
mavn 常用命令 1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2. 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName -Dartifa...原创 2014-01-02 12:37:36 · 113 阅读 · 0 评论 -
JdbcTemplate学习笔记
1、使用JdbcTemplate的execute()方法执行SQL语句 jdbcTemplate.execute("CREATE TABLE USER (user_id integer, name varchar(100))"); 2、如果是UPDATE或INSERT,用update()方法。 jdbcTemplate.update("INSERT INTO USER VA...2014-04-30 09:55:35 · 71 阅读 · 0 评论 -
Maven多模块开发之Web工程调试与布署
最近学习在eclipse3.6环境下用maven2构建一个多模块的项目分core/dal/dao/web四块,当运行tomcat web工程调试需要把core/dal/dao的工程先mvn install一下,才能提交更新,反复折腾以后总结出几条很有用的讯息,希望和我一样刚接触maven的朋友不要再走错路.在百度和google查了好几天也没有完整的资料,最后还是自己想到办法了.方法一:...原创 2013-12-23 14:03:00 · 174 阅读 · 0 评论 -
Terracotta + Apache + Tomcat 负载均衡实践篇
前言这两天在学习ehcache分布式缓存方案时接触到了Terracotta。几年前刚做开发工作时想用Terracotta集群SpringBeans,当时网上资料少,尝试很久没成功就没继续下去了。于是我又在网上搜罗一些资料,发现这玩意已经很成熟了,有很多深度应用的产品,分布式缓存、调度等。引用网上的描述:[plain] view plaincopy Te...原创 2013-12-23 12:28:00 · 177 阅读 · 0 评论 -
ajax主要对象、方法以及属性的介绍
1.XMLHttpRequest对象 XMLHttpRequest对象在大部分浏览器上已经实现而且拥有一个简单的接口允许数据从客户端传递到服务端,但并不会打断用户当前的操作。使用XMLHttpRequest传送的数据可以是任何格式,虽然从名字上建议是XML格式的数据。XMLHttpRequest最早是在IE5中以ActiveX组件的形式实现的。非W3C标准。创建XMLHttpRequest...原创 2013-12-19 10:20:59 · 262 阅读 · 0 评论 -
Servlet + Freemarker 入门练习
建立web项目,拷贝freemarker的jar文件到类路径,其他步骤略。首先配置web.xml,添加freemarker解析的Servlet配置,内容如下 Xml代码 <servlet> <servlet-name>freemarker</servlet-name> <servlet-class...原创 2013-12-18 15:10:34 · 76 阅读 · 0 评论 -
Memcache详解
Memcach什么是MemcacheMemcache集群环境下缓存解决方案Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。 Memcache是danga的一个项目,最早是LiveJour...原创 2013-12-18 15:06:16 · 200 阅读 · 0 评论 -
memcached简介及java使用方法
一、概念Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。二、适用场合1.分布式应用。由于memcached本身基于分布式的系统,所以尤其适合大型的分布式系统。2.数据库前段缓存。数据库常常是网站系统的瓶颈。数据库的大并发量访问,常常造成网站内存溢出。当然我们也可以使用Hibe...原创 2013-12-18 14:04:40 · 73 阅读 · 0 评论 -
java线程同步如何避免阻塞
Java线程同步需要我们不断的进行相关知识的学习,下面我们就来看看如何才能更好的在学习中掌握相关的知识讯息,来完善我们自身的编写手段。希望大家有所收获。 Java线程同步的优先级代表该线程的重要程度,当有多个线程同时处于可执行状态并等待获得 CPU 时间时,线程调度系统根据各个线程的优先级来决定给谁分配 CPU 时间,优先级高的线程有更大的机会获得 CPU 时间,优先级低的线程...原创 2013-12-17 17:13:38 · 696 阅读 · 0 评论 -
事务传播行为种类
Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播:事务传播行为类型事务传播行为类型说明PROPAGATION_REQUIRED如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。...原创 2014-01-08 16:26:41 · 119 阅读 · 0 评论 -
cron表达式详解
1. cron表达式格式:{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}2. cron表达式各占位符解释:{秒数} ==> 允许值范围: 0~59 ,不允许为空值,若值不合法,调度器将抛出SchedulerException异常"*" 代表每隔1秒钟触发;"," 代表在指定的秒数触发,比如"0,15,45"代表0秒、15秒和45秒时触发任...原创 2014-01-14 14:07:25 · 103 阅读 · 0 评论 -
java程序启停脚本
#!/bin/sh #------------------------------------------------------------------------------------------------------------- #实际使用中,需注意以下两点 #1)直接在Linux/UNIX上面创建并编写shell脚本 # 这是因为Windows下编写的*...原创 2014-01-15 10:37:30 · 566 阅读 · 0 评论