`
prettyzhou
  • 浏览: 33518 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
我们都知道在jsp中include有两种形式,分别是Include指令:<%@ include file=""%>和include动作:<jsp:include page="" flush="true"/>     前者是指令元素、后者是行为元素。具体它们将在何处用?如何用及它们有什么区别?这应该是很多人看到它都会想到的问题。下面一起来看看吧。     通常当应用程序中所有的页面的某些部分(例如标题、页脚和导航栏)都相同的时候,我们就可以考虑用include。具体在哪些时候用<%@ include fil ...
   之前在看spring注解的时候,有看到再配置文件里面定义component scan package就能自动扫描对应包下面的class, 然后根据注解生成相应的bean。自己对这个功能很好奇,就搜了下,找到了实现的关键代码,记录下。后续再对这段代码深入学习。     Java代码   /**       * 从包package中获取所有的Class 
    1.测试代码编写: 我们首先写一个demo,该demo在没有terracotta的环境下执行一次,看看结果我们首先先写一个简单的计数器代码(我们这个例子制定共享TerracottaDemo类的demo对象,它包含的count和inst对象也就随之被整个集群共享了):
线程的同步 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。 由于我们可以通过 private 关键字来保证数据对象只能被方法访问,所以我们只需针对方法提出一套机制,这套机制就是 synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块。 1. synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如:  Java代码   ...
1.查看队列中的job数量 (echo status; sleep 0.1) | nc 127.0.0.1 4730 命令的结果会分为四列,它们的含义从左到右依次是: Function name: A string denoting the name of the function of the job Number in queue: A positive integer indicating the total number of jobs for this function in the queue. This includes currently running ones ...
  1.模拟简单的压力测试环境: Client端10s提交一个job Worker端处理一个job需要30s的时间 Client端一直提交job,当大量job堆积时对Gearman进行压力测试 2.Gearman-Java压力测试demo client端代码:   import java.util.Date; import org.gearman.Gearman; import org.gearman.GearmanClient; import org.gearman.GearmanServer; public class ReverseClient { ...
    1.到官网下载安装包: jdk-7-linux-i586.tar.gz 2.创建安装目录:sudo mkdir /usr/lib/jvm 3. 解压缩:tar zxvf ./jdk-7-linux-i586.tar.gz -C /usr/lib/jvm 4.设置环境变量:vim ~/.bashrc export JAVA_HOME=/usr/lib/jvm/jdk-7  export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
说明:官网gearman.org反转字符串demo的java版本 1.环境:JDK1.7 所需jar包:java-gearman-service-0.6.6.jar(最新的jar包,用此jar包要求jdk7)                slf4j-api-1.6.4.jar                slf4j-simple-1.6.4.jar 2.代码:   //client端代码 package com.broada.gearman; import org.gearman.Gearman; import org.gearman.GearmanClient; ...
以下内容来自www.geraman.org 1.Gearman介绍 Gearman是一个用来把工作委派给其他机器、分布式的调用更适合做某项工作的机器、并发的做某项工作在多个调用间做负载均衡、或用来在调用其它语言的函数的系统。Gearman是一个分发任务的程序框架,可以用在各种场合,Gearman的提供了一个通用框架,它可以让你做的工作并行,负载平衡处理,并调用函数语言之间。它可用于在各种各样的应用中,从高可用性的Web站点的传输数据库复制事件,换句话说,它是分布式处理的中枢神经。 2.Gearman的优势   (1)开源 - 它是免费的!Gearman有一个活跃的开源社区,很容易涉 ...
                                                                             Gearman在Linux上环境搭建以及注意事项   本文只陈述gearman框架的搭建过程,相关的知识点可以去http://gearman.org    <!--[if !supportLists]-->1.  Linux版本以及Gearman版本 分别在Centos 6.3和Ubuntu12.04上部署Gearman环境

Spring AOP 实现

的学习笔记   Spring AOP的底层实现技术     AOP概述 软件的编程语言最终的目的就是用更自然更灵活的方式模拟世界,从原始机器语言到过程语言再到面向对象的语言,我们看到编程语言在一步步用更自然、更强大的方式描述软件。AOP是软件开发思想的一个飞跃,AOP的引入将有效弥补OOP的不足,OOP和AOP分别从纵向和横向对软件进行抽象,有效地消除重复性的代码,使代码以更优雅的更有效的方式进行逻辑表达。 AOP有三种植入切面的方法:其一是编译期织入,这要求使用特殊的Java编译器,AspectJ是其中的代表者;其二是类装载期织入,而这要求使用特殊的类 ...
前两种是利用javascript,后面一种是在使用Struts的情况下的参考实现: 1、javascript ,设置一个变量,只允许提交一次。 <script language="javascript">    var checkSubmitFlg = false;    function checkSubmit() {      if (checkSubmitFlg == true)   {         return false;      }      checkSubmitFlg = true;      return true;   }   do ...
这篇文章对应的并非Struts2的最新版本,但其原理还是相同的。   这是Struts2官方站点提供的Struts 2 的整体结构。          一个请求在Struts2框架中的处理大概分为以下几个步骤: 客户端提起一个(HttpServletRequest)请求,如上文在浏览器中输入”http://localhost:8080/TestMvc/add.action”就是提起一个(HttpServletRequest)请求。请求被提交到一系列(主要是三层)的过滤器(Filter),如(ActionContextCleanUp、其他过滤器(SiteMesh等)、 FilterDis ...
目录 跳过目录 本文目标 如何使用本教程 正则表达式到底是什么东西? 入门 测试正则表达式

java transient关键字

 
Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。     Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。     这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。     而volatile关键字就是提示VM:对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互。     使用建议:在两个或者 ...
Global site tag (gtag.js) - Google Analytics