- 浏览: 208449 次
- 性别:
- 来自: 福建省
最新评论
-
c929833623:
...
Mysql JDBC驱动源码分析(Statement,ResultSet的创建)四 -
pythonlord:
顶 很有帮助,感谢楼主,好人一生平安
Mysql JDBC驱动源码分析(加载驱动)一 -
kiaonly:
代码有错误,我戳。
解释器模式(Interpreter)---java与模式(例子) -
wyzxzws:
小鸟学习了!
JAVA编码问题记录 -
xiaotao.2010:
写的不错! 弱弱说一句 建议使用URL二次转码, 这样可以避免 ...
JAVA编码问题记录
文章列表
Android消息处理机制源码分析
- 博客分类:
- android
一,消息处理机制,主要涉及到类有HandlerThread、Handler、Looper、MessageQueue、Message
Message在这里面代表一个消息实体对象
MessageQueue主要用来存放消息实体的队列
Looper主要用来监听MessageQueue的消息,他存放于ThreadLocal中
Handler主要用来处理消息的发送,以及响应消息的业务处理
HandlerThread是一个单独的线程,可与Looper整合,实现一个完全独立的消息处理机制
二,对应类方法的UML图
三,对应类的具体实现描述
...
JAVA编码问题记录
- 博客分类:
- J2SE
一,在web开发中,比较常遇到的就是get post乱码问题
解决方案:
1,get请求时,参数会得到乱码主要原因取决与当前浏览器的页面是怎么编码,如假设是UTF-8编码,在浏览器地址栏请求时,浏览器会对url进行URLEncoder.encode(url, "utf-8")进行编码,然后相对应的服务器,会根据后台配置
tomcat参数串的编码是根据contentType里面的值进行编码的
如:tomcat
URIEncoding
This specifies the character encoding used to decode the ...
Solr研究
- 博客分类:
- Search Engine
一,概述
17173搜索是一套对站内各个系统的信息组织和处理后,为用户提供检索服务,将用户检索的相关信息展示给用户的系统,因为遇到性能问题,故对基于Lucene的搜索框架Solr进行研究,看能否找到相应的解决方案。
二,测试说明
1, BBS总共有七千万条数据(40G左右)。
2, 在对BBS论坛进行搜索查询时,查询时间久,每次搜索都占用较大的CPU与内存,性能比较低。
3, 综之前研究,因业务需求,改为单字切分,使倒排链表算法在搜索时,浪费很多性能。
4, 在对时间进行过滤查询时,查询时间缓慢。
因上述原因,故对Solr进行测试,是否在单字切分时,能否解决 ...
一,现在已经返回了结果集,接下来是对返回数据的分析
ResultSet.next()只不过是对rowData集合的操作
public synchronized boolean next() throws SQLException {
checkClosed();
if (this.onInsertRow) {
this.onInsertRow = false;
}
if (this.doingUpdates) {
this.doingUpdates = false;
}
boolean b;
if (!reall ...
一,当连接创建完成时,接着就创建Statement进行sql查询,并返回相应的ResultSet
进入ConnectionImpl类下的,createStatement(..)
public java.sql.Statement createStatement(int resultSetType,
int resultSetConcurrency, int resultSetHoldability)
throws SQLException {
//对返回的结果集进行指定相应的模式功能,可参照ResultSet的常量设置
...
Socket的连接创建
代码往下调试进入ConnectionImp下的createNewIO()方法
public synchronized void createNewIO(boolean isForReconnect)
throws SQLException {
Properties mergedProps = exposeAsProperties(this.props);
if (!getHighAvailability()) {
//进入该方法
connectOneTryOnly(isFor ...
setReadonly(true)
概念:从这一点设置的时间点开始到这个事务结束的过程中,其他事务所提交的数据,该事务将看不见!(查询中不会出现别人在时间点a之后提交的数据)
应用场合:
如果你一次执行单条查询语句,则没有必要启用事务支持,数据库默认支持SQL执行期间的读一致性;
如果你一次执行多条查询语句,例如统计查询,报表查询,在这种场景下,多条查询SQL必须保证整体的读一致性,否则,在前条SQL查询之后,后条SQL查询之前,数据被其他用户改变,则该次整体的统计查询将会出现读数据不一致的状态,此时,应该启用事务支持。
【注意是一次执行多次查询来统计某些信息,这时为了保证数 ...
一,jdbc连接驱动器的注册加载
Class.forName("com.mysql.jdbc.Driver");
当以上类被装载时执行以下程序
package com.mysql.jdbc;
import java.sql.SQLException;
public class Driver extends NonRegisteringDriver implements java.sql.Driver {
//执行这个静态代码块
static {
try {//注册mysql实现的驱动类
java.s ...
MongoDB基础---知识积累
- 博客分类:
- DataBase
简单的CRUD不想一一详写,提供一个类操作(里面包含了一些常用操作),便于以后查看
Nginx1.1实现Resin4集群
- 博客分类:
- Tomcat6
一,web服务器小论
以前的公司使用的web服务器是tomcat(tomcat+apache作集群),现在的公司是一家互联网公司,采用的架构是resin+nginx作集群(resin比tomcat快?还有待以后章节比较讨论),
集群配置服务器说明:
1),serve1:127.0.0.1:8080
2), serve2:127.0.0.1:8081
3), nginx:127.0.0.1:80
二,配置resin服务器
(注:resin4之前,可以搭一个服务器,在<cluster>& ...
一,系统外的面向服务设计
系统外的面向服务设计是指系统的对外接口是基于服务的接口,即SOA的实现。通常SOA接口必须遵循以下的设计准则:
1.面向服务的接口是一个远程RPC,它的调用参数和返回值必须是非引用型的可序列化对象,通常是简单POJO对象。
(即:所传参数如一些简单的参数,而不是所传的某些参数还要去调用另一些业务层的逻辑)
2.面向服务的接口应该是一个完整的业务服务功能点,而不是一个简单的本地方法延伸。
(即:1,如若你提供的业务功能粒度较低,这样一来调用者还需多次调用,才能完成业务,跨系统调用会浪费性能
2,若所取数据较大时,一次性调用在pos ...
一,由于公司为了安全性,要求把登录页移到c/s界面去登录,由c/s负责硬件验证,并打开主页。但是公司里面又有加盟商,这些用户不用经过硬件验证可以直接进入主页。
由上问题引申出,要去判断该客户端是否有安装该c/s程序,window.location.href打开程序,没有的话,直接进入主页
1,当你用window.location.href去打开注册的应用程序时,如果有的话,他会去打开,没有的话,try/catch也捕获不到异常,而停止执行。
2,所以查看了淘宝中阿里旺旺的实现,当本机有安装阿里旺旺时,会打开阿里旺旺的应用程序,没有的话,就会去打开网页版阿里旺旺。可查看webww- ...
一,恢复chrome的标签误删
C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\User Data\Default找到该文件夹下的Bookmarks.bak改回Bookmarks
SELECT * FROM GAME WHERE TEST_DATE=date(now())
select to_days(now()-30) as xx
select date_sub(date(now()),interval 100 day)
select dat ...
一,当有记录需要操作两个以上数据库时,这时就会引发事务问题,,,jndi能解决此类问题
context.xml
<Context path="/spring-all" docBase="spring-all" debug="5" reloadable="true"
crossContext="true">
<Resource name="jdbc/mysql" auth="Container"
type=&quo ...
在处理如"问答"功能时,以答进行搜索,这时假就会出现去重问题--->http://www.iteye.com/problems/56869
解决方案:
1,写个线程管理器,用来存储当前查出的重复数据
/*
* CopyRright (c) www.fdauto.com
*/
package com.fdauto.bws.business.module.lucene.duplicate;
import java.util.ArrayList;
import java.util.List;
/**
*
*用于管理在一个线程内共用一个Map
...