Java基础
文章平均质量分 69
iteye_16269
这个作者很懒,什么都没留下…
展开
-
HtmlUnit
IntroductionThe dependencies page lists all the jars that you will need to have in your classpath. The class com.gargoylesoftware.htmlunit.WebClient is the main starting point. This simulates a we...原创 2010-10-18 22:27:32 · 92 阅读 · 0 评论 -
排序方法原理与语句
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。要点:设立哨兵,作为临时存储和判断数组边界之用。实现:Void InsertSort(Node L[],int length){Int i,j;//分别为有序区和无序区指针for...原创 2010-05-06 01:06:59 · 63 阅读 · 0 评论 -
Java中连接字符串时是使用+号还是使用StringBuilder?
字符串是Java程序中最常用的一种数据结构之一。在Java中的String类已经重载的"+"。也就是说,字符串可以直接使用"+"进行连接,如下面代码所示: String s = "abc" + "ddd"; 但这样做真的好吗?当然,这个问题不能简单地回答yes or ...原创 2011-12-26 14:04:52 · 144 阅读 · 0 评论 -
深入剖析Classloader(一)--类的主动使用与被动使用
我们知道java运行的是这样的,首先java编译器将我们的源代码编译成为字节码,然后由JVM将字节码load到内存中,接着我们的程序就可以创建对象了,我们知道JVM将字节码load到内存之后将将建立内存模型(JVM的内存模型我们将在稍后阐述),那JVM是怎么将类load到内存中的呢?对了,是通过Classloader,今天我们就来深入探讨一下Classloader。首先我们来看一段诡异的代码(...原创 2011-12-27 22:13:49 · 101 阅读 · 0 评论 -
菜鸟 Spring 源码解读 推荐流程
Spring源代码解析(一):IOC容器:http://www.javaeye.com/topic/86339Spring源代码解析(二):IoC容器在Web容器中的启动:http://www.javaeye.com/topic/86594Spring源代码解析(三):Spring JDBC:http://www.javaeye.com/topic/87034Spring源代码解析(四...原创 2012-01-11 09:18:38 · 117 阅读 · 0 评论 -
java sftp tools
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.util.Iterator;import java.util.Properties;import java.ut...原创 2011-02-24 13:30:10 · 140 阅读 · 0 评论 -
Java读带有BOM的UTF-8文件乱码解决方法
Java default io reader does not recognize all BOM markers. It it known to be fixed in JDK6, but I havent tested it yet. You can use UnicodeReader class to overcome problems and auto-recognize bom mark...原创 2011-03-02 11:12:21 · 289 阅读 · 0 评论 -
webx
webx 学习笔记。原创 2011-03-05 17:54:21 · 101 阅读 · 0 评论 -
selenium 初步体检之富文本框操作
public class LoginTest extends TestCase { private Selenium selenium; private String URL = "http://whbbs.soufun.com/soufun_forum/login.aspx?ErrorCode=1&backurl=http://whbbs.soufun.com/soufun_forum/...原创 2011-04-20 20:10:05 · 205 阅读 · 0 评论 -
CSRF攻击原理解析
0×00. 前言在Web程序中普通用户一般只在Web界面里完成他想要的操作,Web程序接受的正常客户端请求一般来自用户的点击链接和表单提交等行为,可是恶意攻击者却可以依靠脚本和浏览器的安全缺陷来劫持客户端会话、伪造客户端请求。0×01. CSRF攻击分类CSRF是伪造客户端请求的一种攻击,CSRF的英文全称是Cross Site Request Forgery,字面上的...原创 2011-04-22 10:29:24 · 79 阅读 · 0 评论 -
详解XSS跨站脚本攻击
一、什么是XSS攻击XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意 用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。如何寻找XSS漏洞就个人而言,我把XSS攻击分成两类,一类是来...原创 2011-04-23 13:46:53 · 220 阅读 · 0 评论 -
Web 应用程序常见漏洞 CSRF 的入侵检测与防范
简介: 互联网的安全问题一直存在,并且在可预见的未来中没有消弭的迹象,而在软件开发周期中,加入对产品安全问题的检测工作,将极大的提升对应安全问题解决的成本,对维护一个好的产品形象至关重,在竞争愈烈的网络应用产品中的生命力也将更长。本文要介绍的跨站请求伪(CSRF)在众多的攻击手段中,更具备隐蔽性,同时有更高的危害性。笔者将对其的基本特性,攻击手段,危害及防范手段,以及如何使用 Rational A...原创 2011-04-23 15:00:28 · 291 阅读 · 0 评论 -
Java对象的强、软、弱和虚引用
1.Java对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。图1为对象应用类层次。 图1...原创 2011-04-26 16:04:36 · 123 阅读 · 0 评论 -
多线程编程详解
线程的同步 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。 由于我们可以通过 private 关键字来保证数据对象只能被方法访问,所以我们只需针对方法提出一套机制,这套机制就是 synchronized 关键字,它包括两种用法:synchronized 方...2010-04-15 22:20:00 · 78 阅读 · 0 评论 -
Java虚拟机类加载顺序
当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构: bootstrap classloader | extension classloader | system classloader bootstrap classlo...2010-04-15 01:14:02 · 174 阅读 · 0 评论 -
Java中的native关键字浅析(Java Native Interface)
JNI是Java Native Interface的 缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计 的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。 使用java与本地已编译的代码交互,通常会丧失平...原创 2011-05-21 23:13:07 · 102 阅读 · 0 评论 -
Spring注入方式及用到的注解 -----@Component,@Service,@Controller,@Repository
注入方式:把DAO实现类注入到service实现类中,把service的接口(注意不要是service的实现类)注入到action中,注入时不要new 这个注入的类,因为spring会自动注入,如果手动再new的话会出现错误,然后属性加上@Autowired后不需要getter()和setter()方法,Spring也会自动注入。至于更具体的内容,等对注入的方式更加...原创 2011-05-26 15:04:52 · 129 阅读 · 0 评论 -
struts2核心工作流程与工作原理
1. Struts2架构图这是S truts2官方站点提供的Struts 2 的整体结构。[img]http://img1.51cto.com/attachment/201008/190330878.png[/img]2. Struts2部分类介绍这部分从Struts2参考文档中翻译就可以了。ActionMapper ActionMapper其实是Http...原创 2011-05-26 15:35:29 · 131 阅读 · 0 评论 -
开源框架spring详解-----AOP的深刻理解
开源框架spring详解-----AOP的深刻理解AOP的理解 1、AOP的概述 AOP是一种不同于OOP(面向对象编程)的编程模式,它不是OOP的替代,而是对OOP的一种有益补充。 2、spring AOP的原理 3、spring AOP的实现 ...原创 2011-05-26 22:13:19 · 213 阅读 · 0 评论 -
jboss中实现跨war包session同步
跨war包session同步解决方案【功能点】不同war包间session共享【关键需求理解】多系统间实现统一登陆(单点登陆),对用户屏蔽多个独立系统的存在,给用户提供一个整体统一的系统。【实现逻辑描述】用一个类的静态hashmap域来存放公共session信息,我们可以称之为session容器,其中key为sessionID,value为一个简单SessionUser对象...原创 2011-06-12 23:28:31 · 123 阅读 · 0 评论 -
深入研究java.lang.ThreadLocal类
一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制,是每一...原创 2011-07-13 09:39:12 · 53 阅读 · 0 评论 -
Tomcat内存溢出的原因
Tomcat内存溢出的原因 在生产环境中tomcat内存设置不好很容易出现内存溢出。造成内存原因是不一样的,当然处理方式也不一样。 这里根据平时遇到的情况和相关资料进行一个总结。常见的一般会有下面三种情况: 1.OutOfMemoryError: Java heap space 2.OutOfMemoryError: PermGen space...原创 2011-07-19 09:41:56 · 77 阅读 · 0 评论 -
转一篇有关Java的内存泄露的文章(受益哦)
1 引言 Java的一个重要优点就是通过垃圾收集器GC (Garbage Collection)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java 不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC 或JVM的问题。其实,这种想法是不正确的,因为Java 也存在内存泄漏,但它的表现与C++不同。如果正在开发的Java 代码要全天24 ...原创 2011-07-20 09:28:35 · 84 阅读 · 0 评论 -
java 集合类图形解释
[img]http://www.yesky.com/image20010518/92084.bmp[/img]数组类Array。是JAVA中最基本的一个存储结构。它用于存储一组连续的对象或基本类型的数据。其中的元素的类型必须相同。array是最有效率的一种。1、效率高,但容量固定且无法动态改变。 array还有一个缺点是,无法判断其中实际存有多少元素,length只是告诉我们arr...2010-04-12 23:21:18 · 158 阅读 · 0 评论 -
彻底明白Java语言中的IO系统
Java的核心库java.io提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。在具体使用中很多初学者对Java.io包的使用非常含糊,本文将详细解说关于Java.io的使用。 一. Input和Output 1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数...2010-04-14 00:29:27 · 61 阅读 · 0 评论 -
java内存机制
Java 中的堆和栈Java把内存划分成两种:一种是栈内存,一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。 ...2010-04-15 00:55:24 · 68 阅读 · 0 评论 -
java内存分布
在JAVA中,有六个不同的地方可以存储数据:1. 寄存器(register)。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制 ,也不能在程序中感觉到寄存器存在的任何迹象。2. 堆栈(stack)。位于通用RAM中,但通过它的“堆栈指针”可以从处理器哪里获得支持。堆栈指针若向下移动,则分配新的内存...2010-04-15 01:03:44 · 59 阅读 · 0 评论 -
Volatile 变量
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。 锁提供了两种主要特...原创 2011-04-26 17:01:55 · 83 阅读 · 0 评论