- 博客(221)
- 资源 (8)
- 收藏
- 关注
原创 XSS 攻击实验 & 防御方案
XSS 实验 不要觉得你的网站很安全,实际上每个网站或多或少都存在漏洞,其中xss/csrf是最常见的漏洞,也是最容易被开发者忽略的漏洞,一不小心就要被黑下面以一个用户列表页面来演示xss攻击的实验 假设某个恶意用户在注册时输入的用户名中包含攻击代码首先准备一个jsp页面来显示用户列表"text/html;charset=UTF-8" language="j
2016-05-22 16:52:29
20957
1
原创 Git 实用命令总结
Git实用命令总结初始化一个目录git init添加本地修改的文件git add . 其中.表示添加当前目录下面所有修改&新增的文件,如果想单独add指定目录或文件将.替换成目录或文件地址就可以了提交更新git commit -m '注释' 这里的提交是提交到了本地仓库.删除文件git rm file/dir 直接使用shell进行rm file操作后版本还需要使用git rm fi
2016-05-11 22:45:52
4397
2
转载 linux文件系统之Inode
文件名 -> inode -> device block 转自:http://www.cnblogs.com/itech/archive/2012/05/15/2502284.html 一、inode是什么?理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.
2016-04-10 22:13:21
961
原创 ServiceLoader实现原理
在java中根据一个子类获取其父类或接口信息非常方便,但是根据一个接口获取该接口的所有实现类却没那么容易。有一种比较笨的办法就是classpath所有的class与jar包中的class,然后用ClassLoader加载进来,然后再判断是否是给定接口的子类。但是很显然,不会使用这种方法,代价太大。java本身也提供了一种方式来获取一个接口的子类,那就是使用java.util.ServiceLoad
2016-02-23 14:18:02
10254
2
原创 markdown 基本语法
一级标题二级标题三级标题四级标题五级标题六级标题 换行 横线*加粗斜体 删除线 表格 姓名 性别 年龄 赖宝 男 23 桌子 男 23 无序列表第一步xxxxx第二步yyyyy第三部mmmm 有序列表aaaaabbbbbccccc高亮 以一个table缩进反对撒了风急浪大撒酒疯了;撒娇在 v 警察立刻做剧烈客服德萨发结束啦地方啊圣诞节快
2016-02-19 14:21:07
956
原创 tomcat Lifecycle设计模式
现实生活中大部分的事物都有生命周期,就像人的生老病死一样。在编程中也有很多对象是具有生命周期的,从初始化、运行、回收等 会经历几个不同的阶段。 在tomcat中容器相关的好多组建都实现了Lifecycle接口,当tomcat启动时,其依赖的下层组件会全部进行初始化。 并且可以对每个组件生命周期中的事件添加监听器。 好比javaee开发中经常用到的avax.servlet.ServletC
2015-11-02 23:43:43
4734
1
原创 tomcat pipline设计模式
最近在看tomcat源码,看到其中的Pipline设计模式,觉得很有趣,这里记录一下。做过java web开发的应该都使用过Servlet和Filter。 当想访问一个Servlet时会经过定义好的一系列Filter,然后再访问到Servlet 。 这里就用到了Pipline管道设计模式。Pipline的执行流程如下图其中的Valve就是一个个阀门,Basic就是最后被执行
2015-10-29 00:17:44
1891
原创 Dubbo亮点总结
Dubbo是阿里巴巴的一个开源RPC项目,可在http://dubbo.io进行访问类似的产品有Hessian、spring httpinvoke 等。 Dubbo的亮点总结如下:1、服务注册中心 相比Hessian类RPC框架,Dubbo有自己的服务中心, 写好的服务可以注册到服务中心, 客户端从服务中心寻找服务,然后再到相应的服务提供者机器获取服务
2015-06-28 23:31:00
19402
原创 byte数组与int相互转换
byte数组与int相互转换,在网络编程编解码中经常要用到类似的功能, 写了一个小工具。 使int与byte[]能相互转换package chat;/** * @author is_zhoufeng */public class ByteUtils { /** * byte数组转换为int * @param bs 字节数组 * @param bigEndi
2015-05-21 16:35:05
1150
原创 使用NIO与BIO复制文件性能对比
package mr.mr03;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;import org.junit.Test;publi
2015-05-12 14:57:32
1631
1
转载 Xshell拖拽文件到linux(rz和sz命令用法详解)
在linux中rz 和 sz 命令允许开发板与主机通过串口进行传递文件了,下面我们就来简单的介绍一下rz 和 sz 命令的例子。rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。优点就是不用再开一个sftp工具登录上去上传下载文件。sz:将选定的文件发送(send)到本地机器rz:运行该命令会弹出一个文件选择窗
2015-04-29 00:57:52
38287
转载 centos 装mysql
如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk、tomcat、eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有了jdk、tomcat、ec
2015-04-17 18:33:00
696
转载 centos安装ftp
vsftpd作为FTP服务器,在Linux系统中是非常常用的。下面我们介绍如何在centos系统上安装vsftp。什么是vsftpdvsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个
2015-04-15 23:55:47
912
原创 linux 使用NSF 映射远程磁盘目录
假设源目录在192.168.1.1机器上,目录为/dataservice rpcbind startservice nsf start 客户端集群在192.168.1.2, 需要将192.168.1.1机器上的/data目录到本地的/data目录1、在两台机器上安装nsf 、 portmapyum install nfs-utils portmap安装好
2015-03-19 14:38:52
10259
1
原创 运行jar程序时添加vm参数
设置vm堆大小以及,配置远程监控参数设置远程端口为8999,不需要用户名密码验证,初始化堆内存为64M、最大堆内存为128M、新生代为20M,Survivor区与Tenured区内存为2:8java -Djava.rmi.server.hostname=主机ip -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jm
2015-01-17 15:08:49
21777
转载 项目日志规范及其配置
http://blog.sina.com.cn/s/blog_6d5fee1201011ltp.html项目的所有日志(包括项目自身输出日志和服务器输出日志)放在服务器根目录的 logs子目录下,规范为:http访问日志放在access.log,http异常日志放在error.log,tomcat服务器正常输出放在stdout.log,应用或服务器异常输出到stde
2014-06-09 11:09:45
1841
原创 通过ApplicationContextAware获取spring容器中的bean
方法一:http://blog.sina.com.cn/s/blog_6ec6be0e0101h59l.htmlfangfa
2014-05-29 17:54:59
1123
转载 JVM参数调优八大技巧
原帖地址:http://developer.51cto.com/art/201009/227078.htm这里和大家分享一下JVM参数调优的八条经验,JVM参数调优,这是很头痛的问题,设置的不好,JVM不断执行FullGC,导致整个系统变得很慢,网站停滞时间能达10秒以上,相信通过本文的学习你对JVM参数调优有新的认识。实例讲解JVM参数调优的八条经验本文将介绍
2014-05-04 13:57:03
1756
1
原创 Mina学习笔记(二) 简单客户端实例
上一篇实现了一个简单的服务端程序。现在来实现一个客户端程序 程序功能:客户端发送一个字符串给服务端, 服务端返回当前时间给客户端。基于上一文中的项目 ,首先加入两个对象,分别是SendMessageVO、ResultMessageVOpackage com.zf.mina.test01;import java.io.Serializable;/** * 客户端发
2014-03-19 01:50:20
4990
原创 Mina学习笔记(一) 简单服务端实例
Mina是基于java nio实现的一套方便开发高性能远程通信程序的框架。官方学习文档:https://mina.apache.org/mina-project/userguide/user-guide-toc.html下面是实例一:简单服务端实例 程序功能:将客户端发送过来的消息打印出来, 并将当前时间发送回客户端首先新建项目,并加入Mina依赖 (本人创建的m
2014-03-19 00:55:12
1566
原创 位运算符巧妙用法。
如果一个用户拥有多种类型, 改如何来设计这样一个对象的结构呢?很容易就想到使用List来保存用户的多种类型, 是否还有其他更简洁高效的方式呢? 使用位运算符,可以巧妙的来达到这种目的。首先将用户抽象出来。public abstract class User { abstract boolean isStudent () ; abstract boolean isStewa
2014-03-18 10:39:17
1067
原创 自己实现简单RPC功能
最近对RMI RPC比较感兴趣, 所以自己做了一个简单的实现, 如果有时间,之后会继续完善。RPC主要分为服务端与客户端。 服务端的实现如下:package com.zf.rpc.server;import java.io.IOException;import java.io.InputStream;import java.io.ObjectInput;import j
2014-03-13 00:57:18
7466
转载 mysql5.6 replication配置
一、名词解释:1:server_uuid:服务器身份ID。在第一次启动Mysql时,会自动生成一个server_uuid并写入到数据目录下auto.cnf文件里,官方不建议修改。[root@mysql5_6 data]# pwd/usr/local/mysql/data[root@mysql5_6 data]# cat auto.cnf[auto]
2014-03-09 23:55:27
2952
转载 RMI简单实例
原文链接:http://fengshujuan.iteye.com/blog/226993分布式对象技术主要是在分布式异构环境下建立应用系统框架和对象构件。在应用系统框架的支撑下,开发者可以将软件功能封装为更易管理和使用的对象,这些对象可以跨越不同的软、硬件平台进行互操作。目前,分布式互操作标准主要有Microsoft的COM/DCOM标准、Sun公司的Java RMI标准和OMG
2014-03-07 11:57:50
750
原创 VM CentOS 配置静态IP
如果网卡为 eth1vim /etc/sysconfig/network-script/ifcfg-eth1DEVICE=eth1BOOTROTO=staticHWADDR=08:00:27:D4:34:1DIPADDR=192.168.56.100NETMASK=255.255.255.0NETWORK=192.168.56.1其中,真实主机ip为192.16
2014-03-01 00:30:51
1607
原创 mybatis学习笔记(三) 动态sql
在mybatis的映射文件中有如下一些标签可以使用 if , chose , where ,set , foreach , trim , include , 使用这些标签 可以帮助我们动态的生成sql用法实例 select from `user` user_name = #{userName}
2013-12-11 00:29:53
1878
原创 mybatis学习笔记(二) 多pojo,复杂映射
现在在数据库增加两张表blog与comment ,即博客与评论表。CREATE TABLE `blog` ( `id` int(11) NOT NULL default '0', `title` varchar(255) default NULL, `content` text, `pub_time` datetime default NULL, `user_id` int
2013-12-10 00:42:41
15708
原创 mybatis学习笔记(一) 项目搭建,helloworld实例
前言:之前一直使用hibernate在作为数据层的持久化框架,也用过mybatis,但是觉得要写的sql太多很麻烦, 所以使用的不多 。 现在进入阿里巴巴淘点点项目组之后发现他们在数据层使用的是mybatis,前端mvc框架用的是他们自己研发的webx3框架,所以决定研究一下这两个框架。 首先研究mybatis ,学习教程是官方的《MyBatis-3-User-Guide-Simplifi
2013-12-08 22:04:27
8812
原创 使用CycleBarrier代替CountDownLatch解决阻塞问题
问题:一个池塘,有很多鸟和很多鱼,鸟每分钟产生一个后代,鱼每30秒钟产生2个后代。鸟每10秒钟要吃掉一条鱼。建一个池塘,初始化一些鱼和鸟,看看什么时候鸟把鱼吃光。看到http://blog.csdn.net/ldh911/article/details/7346262的文章后,模仿文章上的代码,自己写了一个实现, 但是出现了阻塞问题。 代码在http://bbs.csdn.net/
2013-10-30 10:16:06
4745
转载 常用位运算总结
位运算应用口诀 清零取反要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 " 3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。 4 ">>>"运算符,右边的位被挤掉,对于左边移出的
2013-10-14 17:18:43
1381
原创 Twitter API 使用
需要用到的SDK为twiiter4j ,下载地址:twiitter4j首先需要在twiiter创建一个APP,将会获得Consumer key 、Consumer secret等信息一、 WEB应用首先新建一个属性文件,存放twiiter的配置信息twitter4j.properties内容如下:oauth.consumerKey=你所申请的APP的
2013-09-28 10:52:27
11288
14
中文JAVAEE API文档。绝对中文。杜绝骗人。
2011-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人