`
文章列表
      还记得当初公司部门开发环境的数据库服务器坏了,重新换了服务器机子,装了个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注入

    博客分类:
  • JAVA
    简单的SQL注入,往往会给应用程序造成严重的问题。最长见的SQL注入则是基于查询的攻击,使用字符串串联构建查询。而这种类型的漏洞则是最长发生在WEB应用程序上,攻击者通过这种漏洞来获取更多的数据、权限等等。     举个例子(非常简单的页面,没有过滤SQL语句等),例如你现在需要在页面上输入用户名和密码来进行登录验证,而程序的代码使用了字符串串联如下: void validate(String name, String password, Connection conn) throws SQLException { String sql = "selec ...

浮点数运算的陷阱

    博客分类:
  • JAVA
    浮点数的运算不能说是精确的,因为某些数字不能准确表示为二进制(例如: 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 ...
Global site tag (gtag.js) - Google Analytics