- 浏览: 200804 次
- 性别:
- 来自: 广州
最新评论
-
793059909:
这种栈信息,可能是什么原因造成的:3XMTHREADINFO ...
怎样使用jstack诊断Java应用程序故障 -
kingcs:
Oracle 密码180天过期,修改为不限 -
di1984HIT:
不错啊。续约西了
使用JDK工具检查运行系统是否存在内存泄露 -
itzhangyang:
lz是不是可以说一下怎么解决的groovy并发的问题啊
怎样使用jstack诊断Java应用程序故障 -
crane.ding:
Web应用集群大体有两种方式,一种是将Session数 ...
Apache与Tomcat搭建集群
文章列表
还记得当初公司部门开发环境的数据库服务器坏了,重新换了服务器机子,装了个Ubuntu Server的系统,结果发现在Linux系统上安装Oracle是相当复杂,后来是我们老大给安装上了,当时安装的版本是RedHat的版本,所以过程是相当复杂。
今天突然很想自己尝试一下,所以上网了解了一下,其实在ubuntu server上安装oracle也是挺简单的,于是就自己动手尝试了一下,终于成功,于是把安装的步骤记录下来。
第一步是安装准备动作
1) 在ubuntu中增加Oracle XE版本的源:
sudo vim /etc/apt/sources.list
2) 在源文 ...
大家经常都会遇到xml格式文档的开发,对于解析XML和封装XML格式,我们自然而然的会想到JAXB,JAXB允许以XML格式存储和读取数据,而不需要程序的类结构实现特定的读取XML和保存XML的代码。
以下是需要输出的XML文本格式
<B ...
前两天我们服务器的apache获取到的客户端外网IP不是很正确,估计是我们托管的机房的dns解析有问题或者是多层网路代理的问题,具体原因没办法证实。
如果有多种原因做不到,我们也可以通过第三方的来获取,例如:
<html>
<head>
<title>demo</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<script typ ...
//15位身份证号码 = 地址码(6位) + 出生日期码(6位) + 顺序码(3位)
//18位身份证号码 = 地址码(6位) + 出生日期码(8位) + 顺序码(3位) + 校验码(1位)
//18位身份证号码中的顺序码的最后一位奇数代表性别男,偶数代表性别女
// 计算18位身份证号码校验位
function y(notext) {
var len = notext.length;
if(len != 18)
return null;
// 加权因子
var ws = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2] ...
IE6下默认的字体尺寸大致在 12 – 14px 之间,div 设置高度小于默认值的时候, IE6还是显示其最小的行高。即使用 height:3px; 来定义了一个 div 的高度,是不起作用的,在样色中添加overflow: hidden; 解决问题。
<div style="height: 3px; overflow: hidden;"></div>
重启网络服务
$ sudo service networking restart
SIOCSIFADDR: No such device eth0
这是由于udev服务在系统安装时,将网卡属性记录到本地文件中,克隆后新设备与原来存储的不一致,所以不能启动。
解决方法
删除本地文件,重启操作系统重新生成。
# Ubuntu
sudo mv /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.old
今天公司的笔记本给断电了,重新启动后发现outlook每次启动都提示进入安全模式,记得以前也出现过类似的问题,后来找到了解决方法,只记得要删除某个文件,其它都不记得,重新上网搜索了一下,解决了,现在记录下来。
删除如下的文件,其中Administrator是系统用户名称
C:\Documents and Settings\Administrator\Application Data\Microsoft\Outlook\outcmd.dat
最近一段时间,我们的生产系统升级频繁出现故障,具体故障现象是启动后10来分钟就出现交易缓慢,处理线程耗尽等现象,并且故障发生的频率蛮高的。经过详细的诊断和排查,终于发现了问题,是groovy在osgi中运行会出现classloader死锁,最后我们也解决了这个问题。
如果单靠通过查看代码是很难去发现这个问题,在这一次故障排查中,我也学到了怎样更好的使用jvm监控工具来进行诊断,主要用到了jstack和jmap命令,jmap上次已经讲过就不再讲了,下面就一个例子来讲怎么使用jstack来对的Java程序进行诊断。
首先让我们来了解一下jstack这个 ...
几个月前老大给我们培训了怎么样使用jmap和jhat来检查系统是否存在内存泄露,这两天突然想起应该自己动手实验一番,再记录下来。
首先在实验之前,先给大家介绍几个jdk自带的工具:
1. jps 查看所有java进程的pid的命令,与Unix的ps命令类似
2. jmap 打印出某个java进程(使用pid)内存内的所有‘对象’的情况
3. jhat 主要用于分析jmap产生的dump并提供web页面查看分析结果
4. jconsole 可以查看堆内存、线程、类和CPU状况
为了实验,所以必须先写一段存在内存泄露的代码,代码如下:
/** ...
公司的运营管理系统是用SSH开发,经过考虑目前新开发的运营管理功能改为gwt和spring来开发,所以就必须新搭建一个开发框架,并且能与原先的框架集成在一起。经过两个星期的努力,框架基本是成型了,并且也开始了管理功能的开发,使用gwt开发,总体上可以说比以前的开发快多了,同时代码也比较好维护。
由于旧运营管理系统设计的菜单是以连接的形式,所以设想是以一个菜单为一个gwt页面,在集成系统的初期就发现,把新的功能集成到旧系统里面,gwt的rpc请求都错误,报编码错误,经过查询才发现,原来旧项目的web.xml配置了编码filter(如配置一),真狠这个过滤器做的动作就是,把所 ...
最近在网上看到一段js判断浏览器类型及版本的代码,写的不错,挺简练的,现在在这里做个存档 代码原文
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\ ...
HTML5 真的很强大,目前大多数的浏览器都支持了,就差IE了,前两个星期开始了解Canvas,真的很好很强大,HTML5在WEB开发方面真的是越来越快速了和方便了。
<html>
<head>
<script type="application/x-javascript">
function draw() {
var canvas = document.getElementById("canvas");
if (canvas.getContext) {
...
前几天有位朋友跟我聊天说,最近他去面试遇到一个面试题,叫我帮他分析一下,是一道Java的面试题目;题目是这样的:请对以下的代码进行优化
原题代码如下
for (int i = 0; i < 1000; i++)
for (int j = 0; j < 100; j++)
for (int k = 0; k < 10; k++)
log(i * j * k);
对于以上的代码,我给出了两个优化方案,优化一代码如下
for (int i = 0; i < 10; i++)
for (int j = 0; ...
简单的SQL注入,往往会给应用程序造成严重的问题。最长见的SQL注入则是基于查询的攻击,使用字符串串联构建查询。而这种类型的漏洞则是最长发生在WEB应用程序上,攻击者通过这种漏洞来获取更多的数据、权限等等。
举个例子(非常简单的页面,没有过滤SQL语句等),例如你现在需要在页面上输入用户名和密码来进行登录验证,而程序的代码使用了字符串串联如下:
void validate(String name, String password, Connection conn) throws SQLException {
String sql = "selec ...
浮点数的运算不能说是精确的,因为某些数字不能准确表示为二进制(例如: 0.1),以下是一个用浮点数运算的例子,例子证明了我们应该慎用浮点数运算。
/**
* @author crane.ding
*/
public class Test {
public static void main(String[] args) {
final float ff = 0.6f + 0.1f;
final double fd = 0.6f + 0.1d;
final double df = 0.6d + 0.1f;
final double dd = 0 ...