于吉吉的技术博客

建造高性能门户网

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  65 随笔 :: 6 文章 :: 149 评论 :: 0 Trackbacks

09 2010 档案

     摘要: 先感谢同事renial的<解析xml时遇到的一些问题>技术分享,下面是一些记录和实际操作

1.使用Dom4j解析大文件时内存溢出的问题

问题是这样的,当我用dom4j去解析一个几十M的xml时,就出现out of memory.当然了,这也是根据你的机器性能而定的,我们都知道dom4j在各种DOM解析器中应该算是性能最好的,连大名鼎鼎的Hibernate都是用dom4j来解析XML配置文件的
问题出在于使用dom4j的SAXReader是会把整个XML文件一次性读入,如果XML文件过大就会抛出out of memory,但即使是使用SAXParser批量读入解析,但它也是一次解析完,假设XML文件有几万条数据,那么解析后就必须在内存放入这几万条对象.

常用的Dom4j文件解析方式:

InputStream is = new FileInputStream(filePath);
SAXReader reader = new SAXReader(); //将整个XML构建为一个Document 阅读全文
posted @ 2010-09-28 17:10 陈于喆 阅读(14980) | 评论 (2)  编辑

     摘要: 对于的用户输入搜索出现XSS漏洞的问题,主要是由于开发人员对XSS了解不足,安全的意识不够造成的。现在让我们来普及一下XSS的一些常识,以后在开发的时候,每当有用户输入的内容时,都要加倍小心。

一、什么是XSS
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性
在WEB2。0时代,强调的是互动,使得用户输入信息的机会大增,在这个情况下,我们作为开发者,在开发的时候,要提高警惕。

二、XSS攻击的主要途径
方法只是利用HTML的属性,作各种的尝试,找出注入的方法。现在对三种主要方式进行分析。

第一种:对普通的用户输入,页面原样内容输出。
打开http://go.ent.163.com/goproducttest/test.jsp(限公司IP),  阅读全文
posted @ 2010-09-26 19:21 陈于喆 阅读(3172) | 评论 (5)  编辑

     摘要: 先感谢同事梁员外的技术分享,下面是一些相关的笔记,当然啦,在应用Morphia之前需要有MongoDB的使用经验.

What is Morphia?

Morphia is a lightweight type-safe library for mapping your Java objects to/from MongoDB

简单的来说Morphia与MongoDB的关系就如Hibernate与关系数据库的关系, 是一个实现Java对象到MongoDB双向映射的类库。

下面是摘自Morphia官方的简介,带有一定的广告性,呵呵

Easy to use, and very lightweight; reflection is used once per type and cached.

Annotations describe mapping behavior; there are no XML files.

Provi  阅读全文
posted @ 2010-09-16 17:41 陈于喆 阅读(13110) | 评论 (3)  编辑

     摘要: 自从dropbox被墙了之后就一直在寻找更好的同步工具,毕竟使用同步工具比什么google doc和网易网盘要爽的多,起码不用上传下载,用了什么PathSync和DBSync都觉得不如dropbox的爽(纯属个人感觉哈).
其实我的需求倒是挺简单的,就是要同步家里和公司两台电脑的一些指定的文件夹,突然想到每天都在使用的rsync,自己配一个吧,反正服务器是现有的,只不过是linux,两台需要同步的电脑都是windows,下面就分享一个rsync如何在windows和linux两个系统中进行文件同步.

linux服务端
按照rsync工具
建议采用yum install rsync 或 apt-get install rsync安装,因为方便嘛
安装完毕后

vi /etc/rsyncd.conf

pid file = /var/run/rsyncd.pid
uid = nobody
gid = nobody
max connections = 36000
log file  阅读全文
posted @ 2010-09-06 18:44 陈于喆 阅读(8577) | 评论 (1)  编辑

     摘要: mysql有4种不同的日志,分别是二进制日志,查询日志,慢查询日志和错误日志,这些日记记录着数据库工作的方方面面,可以帮助我们了解数据库的不同方面的踪迹,下面先介绍二进制日志的作用和使用方法,并利用二进制日志对数据库进行各种维护和优化,其他日志也会在后面陆续会做详细的介绍。

二进制日志(bin-log日志)
在上一篇介绍mysql主从配置的blog中,已经提过bin-log日志的作用和使用,bin-log日志记录了所有的DDL和DML的语句,但不包括查询的语句,语句以事件的方式保存,描述了数据的更改过程,此日志对发生灾难时数据恢复起到了极为重要的作用。

开启
mysql默认是没有开发bin-log日志,首先我们需要开启bin-log日志,在my.cnf中修改



指定了bin-log日志的路径,开启日志后需要myssqladmin flush log才生效,重启后我们发现在刚才设定的路径新增了log文件,这就是我们需要的二进制日志



由于日志是以二进制方式存储的,不  阅读全文
posted @ 2010-09-04 18:55 陈于喆 阅读(17032) | 评论 (1)  编辑