`
mazhiyuan
  • 浏览: 62655 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
在http://my.oschina.net/xpbug/blog/88259上看到的并发问题---上厕所问题,博主使用的是内置锁实现的, 利用空闲时间改为使用可重入锁实现,写的过程充斥着对并发知识的复习,又翻起了Goetz的并发编程实践,真是好书啊。   直接上代码了,题目在代码里   package org.waitingfortime.并发趣题; import java.util.Random; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; impo ...
一个java文件从被加载到被卸载这个生命过程,总共要经历5个阶段: 加载->链接(验证+准备+解析)->初始化(使用前的准备)->使用->卸载 其中加载(除了自定义加载)+链接的过程是完全由jvm负责的,什么时候要对类进行初始化工作(加载+链接在此之前已经完成了),jvm有严格的规定(五种情况): 1.遇到new,getstatic,putstatic,invokestatic这4条字节码指令时,假如类还没进行初始化,则马上对其进行初始化工 作。其实就是3种情况:用new实例化一个类时、读取或者设置类的静态字段时(不包括被final修饰的静态字段 ...
第八章的问题是常见的---最大自序列和 的问题   书中提供了几种求出最大和的方法,下面的实现是依据“扫描算法”的实现,不仅仅得到了最大和的值,还返回了对应自序列的索引起始值   package org.waitingfortime.编程珠玑.c8; /** * Created by IntelliJ IDEA. * User: mazhiyuan * Date: 12-11-1 * Time: 下午8:09 * 最大子序列和,求得最大值,以及自序列索引值 */ public class MaxSum { public static voi ...
编程珠玑第二章旋转字符串,abcdefg向左旋转3位,变为defgabc,书中的思想是分三步,实现字符串的旋转   实现代码如下 package org.waitingfortime.编程珠玑.c2; /** * Created by IntelliJ IDEA. * User: mazhiyuan * Date: 12-10-25 * Time: 下午6:39 * 编程珠玑第二章,向左旋转字符串 */ public class ReverseString { public static char[] reverse(char[] chars, i ...
昨日上线的系统,今天查日志时发现有不少E11000 duplicate key errors的报错日志,当时十分费解,因为用的upsert,这个是原子操作,避免了线程并发带来的问题,但为什么会报重复主键的错误呢?   update( DBObject q , DBObject o , boolean upsert , boolean multi ) 第一个参数是查询条件,第一个参数是要做的操作。   我的处理逻辑是这样的,集合中有3列联合唯一索引,此外还有6列属性值,4列要增加的列。   我的查询条件q是这么写的 QueryBuilder.start("mb" ...
Mango  ----   一个非常简单的操作mongodb的小工具,使用java语言,基于mongodb的java driver包。   其主要的灵感来自于Jongo 项目,这是一个非常有创意的工具,将mongodb shell编程扩展到了java语言包内。mango主要做的工作,是重写了Jongo的一些方法,使其更符合我们在开发中的需求,另外与spring相结合,将配置参数等记录在资源文件中进行管理,并适当的做了一些扩展。   新手上路 step 1  -- 配置 资源文件  driver.property #database url ---> host:port u ...
本文转自:http://blog.csdn.net/changyuming/article/details/3040881 一、SOAP协议概述     soap简单对象访问协议,是一个用来在分散/分布式的环境中交换信息的简单协议, 是一个基于xml的协议。 soap本身是一个无状态的、单向的消息交换机制。     soap中没有包含应用于soap消息路由、可靠数据传输和穿越防火墙等方面的应用 程序数据传送语义,但是它提供了一个机制,通过这个机制,特定于应用程序的信息 能够以一种可靠的方式传送。      ...
本文转自:http://blog.csdn.net/changyuming/article/details/3042601          WSDL把service定义为网络端点(或port)集合。在WSDL中,端点和消息的抽象定义与具体的网络部署或数据格式分开定义。这允许对抽象定义的重用。      WSDL中主要包含以下6个元素:      (1)definitions:是WSDL文档的根源素,主要用来定义web服务的名称、声明一些命名空间并包含下面的几个元素。      (2)types:包含一些WSDL文档中使用的数据类型定义。如果WSDL文档中只使用xm ...
接上一篇讲了filter后,现在request到了action内了。   //Load Action class for mapping and invoke the appropriate Action method, or go directly to the Result. public void serviceAction(HttpServletRequest request, HttpServletResponse response, ServletContext context, ActionMapping mapp ...
接上篇http://mazhiyuan.iteye.com/blog/1202086,本文着重dispatcher和filter的探讨。   Dispatcher已经在之前讲过,FilterDispatcher是Struts2的核心控制器,首先看一下init()方法。 public void init(FilterConfig filterConfig) throws ServletException { try { this.filterConfig = filterConfig; initLogging(); ...
接上一篇http://mazhiyuan.iteye.com/blog/1202064,这一篇先讲讲init方法中的7步   首先是init_DefaultProperties()   private void init_DefaultProperties() { configurationManager.addConfigurationProvider(new DefaultPropertiesProvider()); } //直接来看DefaultPropertiesProvider好了,DefaultPropertiesProvider实际上只是实现 ...
1. Struts2架构图      请求首先通过Filter chain,Filter主要包括ActionContextCleanUp,它主要清理当前线程的ActionContext和Dispatcher;      FilterDispatcher主要通过AcionMapper来决定需要调用哪个Action。      ActionMapper取得了ActionMapping后,在Dispatcher的serviceAction方法里创建ActionProxy,ActionProxy创建ActionInvocation,然后ActionInvocation调用Interceptors,执行A ...
  前言: 半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy 时发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程。于是一直想把他翻译过来。这个愿望直到这个五一长假才得以实现,结果就有了这篇文章。关于本文的名字,使用" 深入浅出" 似乎已经太俗。但是通读原文以后,觉得只有用" 深入浅出" 才能准确的表达出该教程给我的感受,所以也就不能免俗了。 本文是Jan Goyvaerts 为RegexBuddy 写的教程的译文,版权归原作者所有,欢迎转载。但是 ...
项目里需要实现客户下载pdf文件的一个需求,在经过比较之后决定使用Freemarker+iText解决这个问题。在整个实现过程中遇到不少问题,总结一下贴出来吧,也许今后用得上。   使用的jar:iText2.0.8、core-renderer、iTextAsian 问题1:iText的版本问题            最初使用的是iText 2.1.7版本,但是发现这句话总是会报错,具体报错就不贴了,记得是无法找到一个方法            ITextRenderer renderer = new ITextRenderer();           后来换了2.0. ...
1.struts 1.x 和 struts 2.x的区别以及struts2的流程2.在action中获得session验证登陆用户信息 3.在jsp页面中可以通过  ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack");得到valuestack的映射  并通过vs.findValue("");得到valuesta ...
Global site tag (gtag.js) - Google Analytics