- 博客(18)
- 收藏
- 关注
原创 【转】SQL注入式攻击的防治的六个建议
转自:http://www.oecp.cn/hi/right_way/blog/2274 SQL注入式攻击的危害这么大,那么该如何来防治呢?下面这些建议或许对数据库管理员防治SQL注入式攻 击有一定的帮助。1、 普通用户与系统管理员用户的权限要有严格的区分。 如果一个普通用户在使用查询语句中嵌入另一个Drop Table语句,那么是否允许执行呢?由于Drop语句关系到数据库的...
2012-09-26 21:39:24 85
原创 【转】sql注入式攻击的原理及实例分析
转自:http://www.oecp.cn/hi/right_way/blog/2273什么是sql注入呢? 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击. ...
2012-09-26 21:38:27 177
原创 Java中a++和++a的分析
本人从编译后的代码来看a++和++a的区别:先看代码1:[code="java"]int a=1;a++;System.out.println(a);++a;System.out.println(a);[/code]编译后的代码1:[code="java"]int a = 1;a++;System.out.println(a);a++;Sys...
2012-09-18 08:34:45 217
原创 HttpServletRequest中getAttribute()和getParameter()的区别
转自:http://www.4vyuan.com/a/course/hd/2012/0612/486.htmlHttpServletRequest类既有getAttribute()方法,也由 getParameter()方法,这两个方法有以下区别:(1)HttpServletRequest类有setAttribute()方法,而 没有setParameter()方法(2)当两个We...
2012-09-18 08:34:21 323
原创 Java对于Cookie的操作详解
1.设置Cookie Cookie cookie = new Cookie("key", "value"); cookie.setMaxAge(60); 设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。 cookie.setPath("/test/test2"); 设置Cookie路径,不设置的话为...
2012-09-18 08:34:08 77
原创 如何使用Dev C++调试(debug)c程序
方法1:(已验证)在“工具”-》编译选项-》"Add following commands when calling complier"下面的编辑框里加上: -g3然后在下面的"Add these commands to the linker command line" 下的编辑框上加上: -g3转到programs页,把gcc行修改为:gcc.exe -D__DEBUG__,...
2012-09-18 08:33:52 423
原创 【转】 java中yield(),sleep()以及wait()的区别
从操作系统的角度讲,os会维护一个ready queue(就绪的线程队列)。并且在某一时刻cpu只为ready queue中位于队列头部的线程服务。但是当前正在被服务的线程可能觉得cpu的服务质量不够好,于是提前退出,这就是yield。或者当前正在被服务的线程需要睡一会,醒来后继续被服务,这就是sleep。sleep方法不推荐使用,可用wait。线程退出最好自己实现,在运行状态...
2012-09-13 22:49:28 68
原创 经典算法——求最大子序列和
比较经典的算法问题,能够很好的体现动态规划的实现,以一点“画龙点睛” 大大精简了算法复杂度,且实现简单。本文中实现了4种:一般 maxSubSequenceSum0 O(n^3)简单优化过的算法 maxSubSequenceSum1 O(n^2)分治法优化的算法 maxSubSequenceSum2 O(n*log(n))动态规划的算法 maxSubSeque...
2012-09-11 10:30:38 99
原创 Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要...
2012-09-11 10:30:13 73
原创 死锁产生的原因及四个必要条件
产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。产生死锁的四个必要条件:(1) [b]互斥条件[/b]:一个资源每次只能被一个进程使用。(2) [b...
2012-09-11 10:29:54 193
原创 自定义约瑟夫环
约瑟夫环(Josephus)问题:古代某法官要判决n个犯人的死刑,他有一条荒唐的法律,将犯人站成一个圆圈,从第s个人开始数起,每数到第d个犯人,就拉出来处决,然后再数d个,数到的人再处决……直到剩下的最后一个可赦免.[code="java"]public class Josephus { private static class Node { public int no;// 编...
2012-09-11 10:29:39 137
原创 Java实现Stack、Queue、BinaryTree
1、用数组实现Stack:[code="java"]public class MyStack { private int maxSize; private Integer[] array; private int top; public MyStack(int maxSize) { this.maxSize = maxSize; this.array = new...
2012-09-11 10:28:54 103
原创 java 继承类 变量、静态变量、构造函数执行顺序
包含普通变量、静态变量、构造函数、继承类的执行顺序为:1、父类的静态变量;2、子类的静态变量;3、父类的普通变量、父类的构造函数;4、子类的普通变量、子类的构造函数;5、普通方法。举例:[code="java"]class C{ static int prt(int i){ System.out.println(i); return i; }...
2012-09-10 16:07:30 119
原创 java 泛型 点滴
参考http://blog.csdn.net/hejiangtao/article/details/7173822 我自己也测试了一下用泛型和不用泛型的速度,泛型确实要快一些: public class GenericTest { static long time = 0; // 每次消耗时间 static long total = 0; // 总时间 static f...
2012-09-07 22:37:08 68
原创 Java 的 volatile和synchronized
volatile是一个变量修饰符,而synchronized是一个方法或块的修饰符。所以我们使用这两种关键字来指定三种简单的存取变量的方式。 int i1; int geti1() {return i1;}volatile int i2; int geti2() {return i2;} int i3; synchronized ...
2012-09-06 10:10:12 63
原创 【转】Java中的装箱与拆箱
转自:http://www.blogjava.net/DLevin/archive/2011/07/20/354743.html在J2SE5.0后推出了自动装箱和拆箱的功能,以提高我们的开发效率,然而自动装箱和拆箱实际上是通过编译器来支持的(并非语言本身,或者说虚拟机),因而这种支持也隐藏了部分内部实质,再加上某些类的优化(比如Integer里面的缓存等,参看关于缓存节),就更加容易在特定...
2012-09-06 10:00:49 88
原创 Java线程之守护线程(Daemon)
转自:http://blog.csdn.net/mq612/article/details/1520571守护线程(Daemon)Java有两种Thread:“守护线程Daemon”与“用户线程User”。我们之前看到的例子都是用户,守护线程是一种“在后台提供通用性支持”的线程,它并不属于程序本体。从字面上我们很容易将守护线程理解成是由虚拟机(virtual machi...
2012-09-03 18:55:11 84
原创 Java内存区域
当Java虚拟机在执行Java程序语言时会把分配给虚拟机的内存划分为以下几个区域:堆(Heap)方法区(Method Area)虚拟机栈(VM Stack)本地方法栈(Native Method Stack)程序计数器(Program Counter Register)五部分,其中堆和方法区是供所有线程共享的数据区,另外三部分是独立与线程相互隔离的数据区。 程...
2012-09-03 14:31:16 61
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人