- 浏览: 204604 次
- 性别:
- 来自: 黑龙江
-
最新评论
-
等待时候:
info.addStringPermissions( role ...
Apache Shiro 整合Spring 进行权限验证 以及在Freemarker中使用shiro标签 -
hvang1988:
shoringchow 写道刚才的图没有弄好,如下索引中虽然有 ...
Solr 4.10.2整合IKAnalyzer 2012FF_hf1 智能分析与细粒度分析配置useSmart -
shoringchow:
刚才的图没有弄好,如下索引中虽然有”九阳豆浆机DJ13B-D6 ...
Solr 4.10.2整合IKAnalyzer 2012FF_hf1 智能分析与细粒度分析配置useSmart -
shoringchow:
楼主你好,我也使用IK分词,但是目前遇到一个无解的问题,如下: ...
Solr 4.10.2整合IKAnalyzer 2012FF_hf1 智能分析与细粒度分析配置useSmart -
ll_wang11:
Spring AOP与log4j做简单的异常日志处理
文章列表
一个简单的接近实时搜索的例子源自(Lucene in aiction)
package com.yale.lucene;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWrit ...
package com.yale.lucene;
import java.io.File;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Dire ...
本代码涉及到的关键类有:
IndexWriter
Directory
Analyzer
Document
Field
IndexSearcher
Term
Query
TermQuery
TopDocs
代码示例:
package com.yale.lucene;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
i ...
1.文件上传的页面upload.jsp。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+&qu ...
1.首先请看服务端代码:
package org.apache.mina.example.reverser;
import java.net.InetSocketAddress;
import java.nio.charset.Charset;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.filter.logging.Loggi ...
填充和释放缓冲区
package com.yale.life.nio;
import java.nio.CharBuffer;
/**
* 填充和释放缓冲区
* @author Ron Hitchens
*
*/
public class BufferFillDrain
{
public static void main(String[] args)
{
CharBuffer buffer = CharBuffer.allocate(100);
while(fillBuffer(buffer)){
buffer.flip();
...
activeMQ-fileserver中操作File类的工具类。
源代码:
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You un ...
1.newFixedThreadPool()-创建一个定长的线程池,每当提交一个任务就创建一个线程,直到达到池的最大长度,这时线程池就会保持长度不在变化(如果一个线程由于非预期的Exception而结束,线程池会补充一个新的线程)。
2.newCachedThreadPool()-创建一个可缓冲的线程池,如果当前线程池的长度超过了处理的需要时,它可以灵活的回收空闲的线程,当需求增加时,它可以灵活的添加新的线程,而且不会对池的长度作任何限制。
3.newSingleThreadExecutor()-创建一个单线程化的executor,它只创建唯一的工作者线程来执行任务,如果这个线程 异常结束,会有 ...
1.通过使用Executor将处理请求任务的提交与它的执行体进行解耦。
eg:
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
/**
* 用Executor创建数量为100的线程池来构建简易的WebServer
* @author yale
*
*/
public class TaskExecutionWebServer
{
private sta ...
1.可变状态。所有并发问题都归结为如何协调并发访问状态。可变状态越少,保证线程安全就越容易。
2.尽量将域声明为final类型。除非他们的需要是可变的。
3.不可变对象天生是线程安全的。不可变对象极大的减轻了并发编程的压力。他们简单而安全,可以在没有锁或者防御性复制的情况下自由的共享。
4.封装-使管理复杂度变得更可行。你固然可以用存储于全局变量的数据来写一个线程安全类,但是你为什么要这样做?在对象中封装数据,让他们能够更加容易的保持不变,在对象中封装同步,使他能够更容易的遵守同步策略。
5。用锁来保护每一个可变的变量。
6.对同一不变约束中的所有变量都使用相同的锁。
7.在运行复合操作期间持有 ...
对浏览器类型进行判断。
// 判断浏览器
HttpServletRequest request = ServletActionContext.getRequest();
String Agent = request.getHeader("User-Agent");
if (null != Agent) {
Agent = Agent.toLowerCase();
if (Agent.indexOf("firefox") != -1) {
filename = new String(doc.get ...
今天在改一个用BufferedReader读取UTF-8的html文件,读取出来后,文件头有个问号,解决方案很简单,将文件用UtrlEdit打开,然后另存为--格式选择UTF-8 no bom,在读取就没有问题了,和大家分享一下,如果你也遇到同样的问题。
----------- ...
hibernate memcached
- 博客分类:
- Hibernate
配置memcached所需jar(这里采用hibernate-memcached.*.jar):
1.hibernate-memcached-1.2.2.jar
2.memcached-2.3.1.jar
在使用sping的情况下的配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframew ...
freemarker之模板
- 博客分类:
- freemarker
实际上你用程序语言编写的程序就是模板,模板也被称为FTL(代表FreeMarker 模板语
言)。这是为编写模板设计的非常简单的编程语言。
模板(FTL 编程)是由如下部分混合而成的:
Text 文本:文本会照着原样来输出。
Interpolation 插值:这部分的输出会被计算的值来替换。插值由${和}所分隔(或者
#{和},这种风格已经不建议再使用了)。
FTL tags 标签:FTL 标签和HTML 标签很相似,但是它们却是给FreeMarker 的指示,而
且不会打印在输出内容中。
Comments 注释:FTL 的注释和HTML 的注释也很相似,但它们是由<#--和-->来 ...
freemarker之操作符
- 博客分类:
- freemarker
1.算数运算
加法:+
减法:-
乘法:*
除法:/
求模(求余):%
eg:
${100 – 20}
${5/2}
${12%10}
注意:要保证两个操作数都是结果为数字的表达式。下面的这个例子在运行时,FreeMarker
就会发生错误
${10 * "5"} <#-- 这是错误的! -->
2.比较运算
测试两个值相等使用=(或者采用Java 和C 语言中的==,二者是完全等同的。)
测试两个值不等使用!=
eg:
<#if user = "yale">
love the way you lie
...