- 博客(81)
- 问答 (1)
- 收藏
- 关注
Android消息处理机制源码分析
一,消息处理机制,主要涉及到类有HandlerThread、Handler、Looper、MessageQueue、Message Message在这里面代表一个消息实体对象MessageQueue主要用来存放消息实体的队列Looper主要用来监听MessageQueue的消息,他存放于ThreadLocal中Handler主要用来处理消息的发送,以及响应消息...
2014-01-04 17:58:56
158
JAVA编码问题记录
一,在web开发中,比较常遇到的就是get post乱码问题解决方案:1,get请求时,参数会得到乱码主要原因取决与当前浏览器的页面是怎么编码,如假设是UTF-8编码,在浏览器地址栏请求时,浏览器会对url进行URLEncoder.encode(url, "utf-8")进行编码,然后相对应的服务器,会根据后台配置 tomcat参数串的编码是根据contentType里面的值进...
2012-08-21 13:21:47
129
Solr研究
一,概述17173搜索是一套对站内各个系统的信息组织和处理后,为用户提供检索服务,将用户检索的相关信息展示给用户的系统,因为遇到性能问题,故对基于Lucene的搜索框架Solr进行研究,看能否找到相应的解决方案。 二,测试说明1, BBS总共有七千万条数据(40G左右)。2, 在对BBS论坛进行搜索查询时,查询时间久,每次搜索都占用较大的CPU与内存,性能比较低。...
2012-03-26 10:14:06
146
原创 Mysql JDBC驱动源码分析(处理结果集)五
一,现在已经返回了结果集,接下来是对返回数据的分析ResultSet.next()只不过是对rowData集合的操作 public synchronized boolean next() throws SQLException { checkClosed(); if (this.onInsertRow) { this.onInsertRow = false;...
2012-02-21 17:16:37
193
原创 Mysql JDBC驱动源码分析(Statement,ResultSet的创建)四
一,当连接创建完成时,接着就创建Statement进行sql查询,并返回相应的ResultSet进入ConnectionImpl类下的,createStatement(..) public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resul...
2012-02-21 13:48:28
449
原创 Mysql JDBC驱动源码分析(socket的连接创建)三
Socket的连接创建代码往下调试进入ConnectionImp下的createNewIO()方法 public synchronized void createNewIO(boolean isForReconnect) throws SQLException { Properties mergedProps = exposeAsProperties(this.pr...
2012-02-17 16:12:45
209
原创 Mysql JDBC驱动源码分析(获取连接)二
setReadonly(true) 概念:从这一点设置的时间点开始到这个事务结束的过程中,其他事务所提交的数据,该事务将看不见!(查询中不会出现别人在时间点a之后提交的数据)应用场合:如果你一次执行单条查询语句,则没有必要启用事务支持,数据库默认支持SQL执行期间的读一致性; 如果你一次执行多条查询语句,例如统计查询,报表查询,在这种场景下,多条查询SQL必须保证整体的读一致...
2012-02-17 15:20:53
176
原创 Mysql JDBC驱动源码分析(加载驱动)一
一,jdbc连接驱动器的注册加载 Class.forName("com.mysql.jdbc.Driver"); 当以上类被装载时执行以下程序 package com.mysql.jdbc;import java.sql.SQLException;public class Driver extends NonRegisteringDriver implem...
2012-02-17 15:07:56
150
原创 Nginx1.1实现Resin4集群
一,web服务器小论 以前的公司使用的web服务器是tomcat(tomcat+apache作集群),现在的公司是一家互联网公司,采用的架构是resin+nginx作集群(resin比tomcat快?还有待以后章节比较讨论), 集群配置服务器说明: 1),serve1:127.0.0.1:8080 2), serve2:127.0.0...
2011-10-17 17:56:03
163
原创 设计概念
一,系统外的面向服务设计系统外的面向服务设计是指系统的对外接口是基于服务的接口,即SOA的实现。通常SOA接口必须遵循以下的设计准则: 1.面向服务的接口是一个远程RPC,它的调用参数和返回值必须是非引用型的可序列化对象,通常是简单POJO对象。 (即:所传参数如一些简单的参数,而不是所传的某些参数还要去调用另一些业务层的逻辑) 2.面向服务的接口应该是一个完整的业务...
2011-07-18 12:05:52
89
原创 网页js判断是否有安装c/s应用程序
一,由于公司为了安全性,要求把登录页移到c/s界面去登录,由c/s负责硬件验证,并打开主页。但是公司里面又有加盟商,这些用户不用经过硬件验证可以直接进入主页。由上问题引申出,要去判断该客户端是否有安装该c/s程序,window.location.href打开程序,没有的话,直接进入主页 1,当你用window.location.href去打开注册的应用程序时,如果有的话,他会去打开,...
2011-04-07 09:14:19
270
原创 备忘录
一,恢复chrome的标签误删 C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\User Data\Default找到该文件夹下的Bookmarks.bak改回Bookmarks SELECT * FROM GAME WHERE TEST_DATE=d...
2011-02-25 16:51:37
162
Spring---多个数据库的事务操作配置(JNDI)
一,当有记录需要操作两个以上数据库时,这时就会引发事务问题,,,jndi能解决此类问题context.xml<Context path="/spring-all" docBase="spring-all" debug="5" reloadable="true" crossContext="true"> <Resource name="
2011-01-13 16:26:16
490
原创 Lucene---全文检索(处理一对多去重问题 )
在处理如"问答"功能时,以答进行搜索,这时假就会出现去重问题--->http://www.iteye.com/problems/56869 解决方案:1,写个线程管理器,用来存储当前查出的重复数据 /* * CopyRright (c) www.fdauto.com */package com.fdauto.bws.business.module.lucen...
2011-01-13 16:15:15
631
Lucene---全文检索(问题分析)
创建索引时处理: 一,是否要被分词1,Field.Index.ANALYZED:所传字段会被分词,会根据分词后进行查找2,Field.Index.NOT_ANALYZED:所传字段不会被分词,会根据(原值)进行查找3,Field.Index.NO:不参与分词,也不参与查找 二,是否被持久化保存在文件中1,Field.Store.YES:索引时会被持久化,查找时...
2010-12-03 15:46:12
440
Lucene---全文检索(文档pdf/txt/office/html)
一,最近做了一些使用lucene对文档的一些搜索主要使用1,PDFBOX---处理.pdf文件2,poi--------处理office文件 经最近公司重新开发lucene应用,发现以下代码多处bug,,,,可查看...http://wuquanyin1011.iteye.com/admin/blogs/832694进行相应修改 上传文件的jar包如下: ...
2010-11-01 11:08:14
161
JavaScript中prototype/constructor的理解
一,prototype(对象)(原型链)可使javascript拥有1,重写2,添加方法3,继承的机制 prototype继承原理: 每一个方法的创建,都有着一个单例的对象functionName.prototype, 在使用这个方法创建的每一个对象,该prototype都会赋值给他,(prototype里面包含了一些属性,方法包含construtor)也正因为每个...
2010-09-20 16:51:47
113
原创 高性能网页开发规则(转)
1、原则一如果能使页面HTML显示跟后台处理同时进行,这是一个比较好的方式; 比如说将页面上容易显示的部分优先反馈给浏览器,然后再接着继续处理下面的步骤这样比较; 象PHP中在HTML的<head>后可以使用flush()方法,提前将部分信息返回给客户端,通常有CSS、JS等信息;然后可以将JS、CSS打包 压缩 尽量减少HTTP的请求次数。 2、POST请求将执...
2010-08-31 10:25:38
71
原创 Web 2.0应用客户端性能问题十大根源
Web 2.0应用客户端性能问题十大根源(转) Web 2.0应用的推广为用户带来了全新的体验,同时也让开发人员更加关注客户端性能问题。最近,资深Web性能诊断专家、知名工具dynatrace的创始人之一Andreas Grabner根据自己的工作经验,总结了Web 2.0应用客户端性能问题十大根源,InfoQ中文站将这十个问题做了概括整理,供Web开发人员借鉴和思考...
2010-08-31 10:21:37
85
原创 Lucene---全文检索(数据库)
一,对Lucene的知识进行介绍http://lym6520.iteye.com/category/82172二,以下对最近所使用的Lucene,进行总结下:为了使Lucene创建的索引文件,能够及时与数据库中同步,使用了quartz进行任务调度可查看http://wuquanyin1011.iteye.com/admin/blogs/745382 下面是一个任务调度执行Luc...
2010-08-31 10:01:48
134
原创 任务调度---Quartz
一,最近在开发任务调度(job)这一块,在此进行总结1,在jdk中提供了基本的Timer,TimerTask可以用作其本的任务调度操作,不过功能不够强大2,quartz框架为我们提供了一系列的任务调度操作,基本的应用操作等都很容易理解.(JobDetail,Trigger)二,由于公司要使quartz与公司建模端平台互相协作,产生的问题建模端(提供xml配置与job类)--...
2010-08-23 20:22:43
105
原创 JavaScript基础积累
JavaScript的对象,就像是属性的集合,可在初始化时加入相应的属性,也可在创建后增删改,拥有最大的灵活性 一,基本类型介绍 1,分为基本类型(Number,String,Boolean) 与对象类型(对象,数组,函数)2,javascript是弱类型的函数语言, var number=12||12.5//Number var str1="hello"//S...
2010-08-12 18:56:02
74
业务逻辑层与存储过程优缺点对比
一,存储过程优点:1,减少网络带宽,按理论存储过程会提高性能.2,无需重新编译,更改后即可运行,无需重新编译代码3,由专门的dba写的sql语句更高效4,安全性,(在传输用户名密码时,可防止注入等情况) 缺点:1,依赖于数据库厂商,难以移植(当一个小系统发展到大系统时,对数据库的要求也会发生改变)2,业务逻辑大的时候,封装性不够,难调试难以维护3,复杂...
2010-08-11 17:04:49
167
J2EE基础---知识积累
一,页面跳转(forward,sendRedire)与包含(include)的理解1,问题(getInputStream() has already been call for response 异常)Servlet(认真查看文字内容)protected void doGet(HttpServletRequest req, HttpServletResponse resp) t...
2010-07-30 16:49:03
98
JAVA设计模式论
在开发系统时一般遵循着几个原则(设计模式依赖于以下的原则): 1,依赖倒转原则(依赖于抽象而不依赖于实现): 在实现或是继承时,实现接口或是继承抽象类,而不直接继承实体类。 2,替换原则: 凡是父类能出现的地方,子类都能出现(ParentObject pc=new SuperObject())。 3,开闭原则: 对系统的扩展(开),对系统的...
2010-07-23 19:22:54
85
设计模式---结
一,创建模式1,工厂方法模式 .在功能实现中,当要创建一个不知道具体的实现类的时候,可以以接口的形式实现,并把实现类的创建交给工厂方法2,抽象工厂方法模式 .不同的工厂提供不同的功能,产品类中可以根据需要到对应的工厂中获取对应的组件功能. 从整体来看每个工厂犹如具体产品类的一个抽像方法.3,创建者模式 .可在此类下根据功能需要创建复杂对象,并返回结果给调用者4,单例模...
2010-07-19 20:28:09
80
单例模式(Singleton)
一,单例模式,运用比较广泛,在这里就例举几种 在java中对象的创建方式总共有四种,1,new创建 2,反射机制创建 3,clone创建 4,对象序列化创建.只要知道了这几种的创建方式,设置其创建方式即可. 使用:单例模式可以是有状态也可以是无状态的,有状态的应用在于,如定义一全局变量,产生一个系列号等,无状态,犹如工具类使用,如(servlet/calendar.get...
2010-07-18 19:18:35
77
访问者模式(Visitor)---集合
一,每一种模式都是为了解决问题而设计的,需解决的问题: Iterator iterator = collection.iterator()while (iterator.hasNext()) { Object o = iterator.next(); if (o instanceof StringType) System.out.println...
2010-07-18 19:05:36
81
策略模式(Strategy)---算法
一,策略模式主要对其算法的包装,将每一个算法封装到具有共同接口的独立的类当中,使他们可以相互替换 策略模式运用非常广泛,在这里以(加,减,乘,除)算法为例, 接口: package com.wqy.strategy;public interface Oper { public abstract double Oper(float f1,float f2...
2010-07-17 20:53:20
108
命令模式(Command)---笔记本
一,命令模式把一个请求或操作封装到一个对象中,命令模式允许系统使用不同的请求把客户端参数化,对请求排 队或者记录请求日志,可以提供命令的撤消等操作在命令模式的运用上,平时也没有怎么看到,查了些相应的资料,多以编辑器等操作命令进行操作最为实在...调用者---命令---接收者 例子:角色一,调用者 package com.wqy.command;/** * 键盘为...
2010-07-17 19:29:44
167
状态模式(State)
一,状态模式允许对象在其内部状态改变的时候改变行为,使其看上去就像是改变了他的类一样。状态模式中的每一个状态可以改变自己内部状态以心情的状态改变为事例: package com.wqy.State;/** * @author wu_quanyin(09817) * @version 1.0 * @date 2010-7-16 下午05:57:02 */...
2010-07-16 21:21:50
114
观察者模式(Observer)---jdk
一,在平常的积累中观察者模式被使用最多的应该就是AWT/Swing里面了了,addActionListener(listener);....jdk中提供的Observer接口,实现这个接口,在update中实现相应的操作,在监听器被触发时将会执行....(监听者) package java.util;public interface Observer { /** ...
2010-07-14 20:45:40
103
解释器模式(Interpreter)---java与模式(例子)
一,Interpreter使用面不是很广,描述了一个语言解释器是怎么构成的,在实际应用中,我们可能很少去构造一个语言的解释器.没在平常使用中发现例子,故以java与模式一书中的例子为例。。。这个例子是针对 与,或,非提供的一套解析器 提供一个实现的环境 import java.util.HashMap;import java.util.Map;/** ...
2010-07-10 11:26:31
129
JVM内存分析
一,jvm核心编程中的内存分析 二,对其功能大概分析 三,一个对象的调用过程 四,一个数组的调用过程五,方法区内存 问题:参照本人以前对jvm内存的了解http://wuquanyin1011.iteye.com/admin/blogs/574971看了这些之后,仍旧对内存有很多不懂的地方,我的理解,当...
2010-07-06 20:12:11
82
ClassLoader的加载过程及分析一
-Xbootclasspath:bootclasspath 让jvm从指定路径(可以是分号分隔的目录、jar、或者zip)中加载bootclass,用来替换jdk的rt.jar;若非必要,一般不会用到; -Xbootclasspath/a:path 将指定路径的所有文件追加到默认bootstrap路径中; -Xbootclasspath/p:path 让jvm优先于bootstrap默认路径加载...
2010-07-01 21:20:47
200
原创 DWR基础介绍
一,DWR(Direct Web Remoting)是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样. 二,配置 1、拷贝dwr.jar文件2、修改web.xml文件,添加dwr servlet配置: <servlet> <servlet-name>...
2010-06-21 16:42:02
94
Struts与Spring MVC的比较
前段时间与一名同事一起讨论起了spring mvc与struts,今天查看了相应的资料,,对其作了总结: 一,Struts2 1,每次请求(request)都会实例化一个控制类(Action),因为Model存在与Action中,即action是有状态的,所以每次请求都要实例化,而且struts2的设计者认为在强大的垃圾收集器下,用完就扔,并不会影响性能问题,而且还可以保证线程的安全...
2010-06-17 19:55:20
111
原创 Ant的一些常用操作
任务包含: <target name="usage"> <echo message="" /> <echo message="${name} build file" /> <echo message="---------------------------------------------------&qu
2010-06-09 16:56:24
75
原创 Jar包自动化管理(ant,ivy,nexus)
公司部暑时大部分采用的是ant部暑,故采用ivy不去选择maven 思: 用ant+ivy的管理,当下载jar包时可以到本地库以及在nexus上所创建的库,或者到maven ibiblio上进行查找,并能够下载到包所需要的依赖包,我想这是最重要的 要不然在项目中如果用svn的话,只要check out项目,jar包也相应的有了,何必用这个那么麻烦,,,所以应该只有在整个公司中...
2010-06-09 16:50:48
198
空空如也
Lucene全文检索去重问题
2011-01-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人