分布式搜索方案选型
摘要:分布式搜索方案选型之一:Solr我第一个了解到的分布式搜索框架是solr,它是由java开发的,基于lucene的分布式搜索引擎,提供了类似于webserver的编程接口,是一个比较成熟的搜索引擎,目前很多公司都在使用。很快我就部署了一个由4台机器组成的solr集群,开始导公司的数据进去测试,导的数据为200万。导入速度非常快。接下来就开始测试查询效率,发现它是有缓存的,第一次查询的时间基本上在80~150毫秒之间,第二次查由于有缓存,查询时间基本上只需要18~35毫秒,可以说非常之快。它如何做到分布式?因为现在做的是集群,每台机器存储的信息是一样的,怎样做到把索引信息进行拆分?于是就到sol
阅读全文
posted @
2012-08-29 22:00
草原和大树
阅读(5815)
推荐(2) 编辑
JAVA中 @Override 的作用
摘要:如果想重写父类的方法,比如toString()方法的话,在方法前面加上@Override系统可以帮你检查方法的正确性,@Overridepublic String toString(){...}这是正确的一旦写错 写成这样@Overridepublic String tostring(){...}编译器可以检测出这种写法是错误的 这样能保证你的确重写的方法正确而如果不加@Overridepublic String tostring(){...}这样编译器是不会报错的它只会认为这是你自己新加的一个方法而已----------------------------------------------
阅读全文
posted @
2012-08-24 17:33
草原和大树
阅读(1740)
推荐(0) 编辑
java中FileInputStream,FileReader等的区别
摘要:FileInputStream,FileReaderC语言只需要一个File*就可以了,与C不同,java有一系列流类型,其数量超过60种。类库的设计者声称:“有足够的理由为用户提供丰富的流类型的选择:这样做可以减少程序的错误。”例如,在C语言种,许多人认为“将输出流写入一个只读模式的文件”是很常见的错误。(事实上,这并不常见。)我们认为在C++语言中,流接口设计者避免程序出错的主要“工具”是小心谨慎的态度,在java语言中更是如此。流库的高度复杂性迫使程序设计人员谨小慎微。1. File类1)File类介绍(《core java》638页)File类封装了对用户机器的文件系统进行操作的功能。
阅读全文
posted @
2012-08-24 16:44
草原和大树
阅读(4993)
推荐(0) 编辑
Java中对象序列化的作用
摘要:1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存Object States,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。 2、什么情况下需要序列化 a)当你想把的内存中的对象保存到一个文件中或者数据库中时候; b)当你想用套接字在网络上传送对象的时候; c)当你想通过RMI传输对象的时候; 3、当对一个对象实现序列化时,究竟发生了什么? 在没有序列化前,每个保存在堆(Heap)中的对象都有相应的状态(state),即实例变量(instance ariabl...
阅读全文
posted @
2012-08-24 15:13
草原和大树
阅读(1003)
推荐(0) 编辑
Java序列化与反序列化(实践)
摘要:基本概念:序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。昨天在一本书上看到了,好好实践了一下,序列化为一般文件,也序列化为XML文件(使用XStream)。用于序列化的实体类Person.java 代码如下(记得需要实现Serializable接口):import java.io.Serializable;@SuppressWarnings("serial")public class Person implements Serializable{ private String na
阅读全文
posted @
2012-08-24 15:09
草原和大树
阅读(1385)
推荐(0) 编辑
安装jdk-linux-i586.rpm.bin
摘要:chmod u+x j2sdk-1_4_1_02-linux-i586-rpm.bin ./j2sdk-1_4_1_02-linux-i586-rpm.bin注: 如果直接执行unzip命令来解压也是可以的,总之得到一个rpm软件包. 3. 程序会自动生成一个j2sdk-1_4_2_06-linux-i586.rpm文件,这是主程序包,下面来安装 ; [root@LinuxServer rpm]#rpm -ivh j2sdk-1_4_2_06-linux-i586.rpm Preparing... ########################################...
阅读全文
posted @
2012-02-29 12:36
草原和大树
阅读(11115)
推荐(1) 编辑
pageContext对象的用法
摘要:(1) pageContext对象 这个对象代表页面上下文,该对象主要用于访问JSP之间的共享数据。 pageContext是PageContext类的实例,使用pageContext可以访问page、request、session、application范围的变量。 getAttribute(String name):取得page范围内的name属性。 getAttribute(String name,int scope):取得指定范围内的name属性,其中scope可以是如下4个值: PageContext.PAGE_SCOPE:对应于page范围。 PageContext.REQUES.
阅读全文
posted @
2011-10-09 11:47
草原和大树
阅读(8657)
推荐(1) 编辑
HashMap和LinkedHashMap的遍历和插入顺序
摘要:如果要保持HashMap的遍历顺序和原插入顺序一致,可以使用LinkedHashMap,使用方法和HashMap一样,改一下声明即可:LinkedHashMap myMap = new LinkedHashMap(); 当然需要导入:java.util.LinkedHashMap 例如: 插入 private java.util.LinkedHashMap mainItemNameHM = new java.util.LinkedHashMap(); public java.util.HashMap getMainItemNameHM() { mainItemNameHM.clear();..
阅读全文
posted @
2011-09-26 14:42
草原和大树
阅读(7912)
推荐(0) 编辑
DWR+SPRING整合
摘要:1、将dwr.jar放到应用的/WEB-INF/lib目录下 2、配置web.xml,增加如下代码: Java代码 <!--初始化WebApplicationContext--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml,/WEB-INF/action-servlet.xml</param-value> </context-param> &
阅读全文
posted @
2011-06-16 13:52
草原和大树
阅读(1347)
推荐(0) 编辑
Java ServletContext 详解
摘要:ServletContext, 是一个全局的储存信息的 空间,服务器开始,其就存在,服务器关闭,其才释放。request,一个用户可有多个;session,一个用户一个;而 servletContext,所有用户共用一个。所以,为了节省空间,提高效率,ServletContext中,要放必须的、重要的、所有用户需要共 享的线程又是安全的一些信息。 换一种方式说吧,运行在JAVA虚拟机中的每一个Web应用程序都有一个与之相关的Servlet上下文。ServletContext对象是Web服务器中的一个已知路径的根,Servlet上下文被定位于http://localhost:8080/项目名..
阅读全文
posted @
2011-06-10 11:37
草原和大树
阅读(7409)
推荐(1) 编辑
Cookie简介及JSP处理Cookie的方法
摘要:Cookie简介及JSP处理Cookie的方法 一.什么是cookies? 大家都知道,浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服务器只是简单的进行响 应,然后就关闭与该用户的连接。 因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来 对待,这样的不好之处可想而知。为了弥补这个缺陷,Netscape开发出了cookie这个有效的工具来保存某个用户的识别信息,因此 人们昵称为"小甜饼"。cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段:Netscape Navigator
阅读全文
posted @
2011-04-21 09:50
草原和大树
阅读(4501)
推荐(1) 编辑
详解JDBC与Hibernate区别
摘要:刚开始学习JAVA时,认为Hibernate是一个很神圣的东西,好像是会了SSH,就能走遍全世界一样。记得曾经在枫叶面试的时候,我们几个同 学出还说这个公司怎么这么的落后,还有JDBC,没有一点上进心。可是毕业以后才发现,却发现自已就像是井底之蛙一样。然而也不想做随风柳絮,所以决定好 好的总结一下,JDBC与Hibernate的区别。JDBC与Hibernate在性能上相比,JDBC灵活性有优势。而Hibernate在易学性,易用性上有些优势。当用到很多复杂的多表联查和复杂的数据库操作时,JDBC有优势。相同点:◆两者都是JAVA的数据库操作中间件。◆两者对于数据库进行直接操作的对象都不是线程
阅读全文
posted @
2011-04-13 15:53
草原和大树
阅读(8032)
推荐(2) 编辑
XML DTD 语言学习笔记
摘要:+DTD Languagehttp://www.w3schools.com/dtd/dtd_intro.asp -XML DTD 全称:Document Type Definition 简介:用于定义文档的合法性。它定义了文档应该有哪些元素及其属性,还有其他一些约束性规则。 注意:DTD语言定义的文档类型是SGML家族的标记性语言。包括SGML,XML,HTML),这里探讨的知识定义XML的DTD。 +DTD可以定义在XML里,也可以定义在一个单独的文件里。 +内部定义:内部的DTD定义必须定义在一个DOCTYPE元素里,格式如下: <!DOCTYPE root-element [ele
阅读全文
posted @
2011-04-07 17:07
草原和大树
阅读(1692)
推荐(0) 编辑
Hibernate映射的基本操作
摘要:Hibernate映射主要是通过对象关系映射文件实现,对象关系映射文件把数据库中的实体(一般为二维表)映射到面向对象中的实体对象,把数据库中多个表之间的相互关系也反映到映射好的类中。以后,在Hibernate中对数据库的操作就直接转换为对这些实体对象的操作了。 1. 映射文件说明: 正确理解各个配置选项的含义是掌握映射文件的关键。映射文件可以对面向对象中的关联关系、继承关系和组合关系等各种关系进行配置。如: <!-- XML文件的声明 --> <?xml version="1.0" encoding="utf-8"?> <!
阅读全文
posted @
2011-03-29 17:46
草原和大树
阅读(6026)
推荐(0) 编辑
JSP如何防范SQL注入攻击
摘要:周给别人做了个网站,无意间发现自己的作品有很多漏洞,在短短的20秒就被自己用sql注入法给干了。所以查了一点关于sql注入的资料,并且有点感悟,希望能与新手们分享一下。高手们见笑了! SQL注入攻击的总体思路:发现SQL注入位置;判断服务器类型和后台数据库类型;确定可执行情况对于有些攻击者而言,一般会采取sql注入法。下面我也谈一下自己关于sql注入法的感悟。 注入法:从理论上说,认证网页中会有型如:select * from admin where username='XXX' and password='YYY' 的语句,若在正式运行此句之前,如果没有进行必
阅读全文
posted @
2011-03-29 13:44
草原和大树
阅读(424)
推荐(0) 编辑
hibernate查询某个时间段的记录
摘要:try{ DateFormat dateFormat; dateFormat = new SimpleDateFormat("yyyy-MM-dd"); dateFormat.setLenient(false); String s1="2009-04-01"; String s2="2009-04-10"; Date startDate = dateFormat.parse(s1);//util类型 Date endDate = dateFormat.parse(s2); //把年月日日期字符串转换成Date格式的方法是用Simple
阅读全文
posted @
2011-03-29 11:25
草原和大树
阅读(3183)
推荐(0) 编辑
修改MyEclipse的Properties文件编码方式
摘要:打开myeclipse的: Window ->Perferences ->General ->Editors ->Context Types 或者: Window ->Perferences ->General ->Context Types 展开右边的Text节点,选中Java Properties File。把下面的Default Character Set的值:ISO-8859-1改成UTF-8
阅读全文
posted @
2011-03-29 11:06
草原和大树
阅读(5154)
推荐(0) 编辑
SAXReader
摘要:说明:SAXReader主要用于解析XML文件,是当前比较流行的xml解决方案. 代码以基础类函数的形式展现如下: java 代码 package com.dc.framework.taglib; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.servlet.ServletReque
阅读全文
posted @
2011-03-25 15:20
草原和大树
阅读(18805)
推荐(0) 编辑
spring scope="prototype" 学习笔记
摘要:bean id="meetAction" class="com.web.actions.MeetsAction"scope="prototype"property name="meetsService" ref="meetsService" //bean!--scope="prototype"没写的问题,项目中对一个表的增删该操作是用一个action,这个action有add,update,delete,save这些方法,添加和修改是共用一个页面,当页面得到id时代表进行的修改操作,反之是添加操作。因为在配置spring的bean是忘了写scope="prototype"所以每次
阅读全文
posted @
2011-01-25 18:17
草原和大树
阅读(751)
推荐(0) 编辑
getHibernateTemplate
摘要:SSH的项目中,使用getHibernateTemplate 与 getSession有什么的区别?优点与缺点是什么,谢谢回答! 悬赏分:0 - 解决时间:2008-10-7 09:42 SSH的项目中,使用getHibernateTemplate 与 getSession有什么的区别?优点与缺点是什么,谢谢回答! 问题补充:谢谢 451182 主要是想了解一下这两个关于事物这一块有什么不同?谢谢! 提问者: zhongbin007 - 试用期 一级 最佳答案 getHibernateTemplate已经封装好了一些基本的方法,可以直接去用,也就是template嘛, 而getSessio
阅读全文
posted @
2011-01-17 14:40
草原和大树
阅读(29833)
推荐(3) 编辑