`
ilovejavaforever
  • 浏览: 164227 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
    罪过,很久没写东西了.....       言归正传,在项目中,用到了ext-gwt,在开发中遇到问题,发现调试非常麻烦。后来反复找资料,试验,找到了debug的方法,博客记录下来。     首先确保eclipse已经安装了GWT的插件,插件安装方法,见官网。      第一步 修改目标为GWT支持的工程。具体修改方法,选中工程,右键选择Properties。选择Google/App Engine选项,勾选Use Googel App Engine,如图:     在Google/Web Toolkit选项下,选择Use Google Web Toolkit,如图 ...
Java的API中有两组接口类是用来写观察者模式分别是java.util.Observable、java.util.Observer。     现实场景:有一名店(Shop),为了财物安全起见,除了在店内装了摄像头(Camera)来监控店内的总人数外,还聘请了一些门卫(Guard)守在店门口,对来访的客人进行实名登记,即客人进入时要记名,客人出店时也要记录其离去。     观察者(Camera) package observer; import java.util.Observable; import java.util.Observer; /** * @auth ...
         N久没写东西了,贴下最近项目我那块的系统设计,主要是一个任务体系,用于执行可动态配置的不同算法。其中算法均运行于hadoop环境。任务框架的要求是,每种算法可配置,算法各个步骤可配置,算法结果可校验,算法结果可保存。并且提供对算法执行过程的管理、监控、异常获取、异常重做。   整个体系分为两块,一块是算法调度,即为,动态控制算法执行时间,主要用quartz框架实现。一块为算法执行,主要是自己用线程池实现。   所有算法配置的信息,由用户(算法工程师)设定,通过页面设置后存入数据库。当算法被调度以后,交由执行模块去运算。其中,每个运算,都与DB在交互,将实时信息写入DB ...
    上个月写了一个统计的计数器。下边是一个在多线程并发访问下,计数的类。用于监控报警,先贴代码,有空了再解读给大家 import java.util.concurrent.atomic.AtomicReference; public class RequestCounter { private final AtomicReference<Accumulator> values; private final int durationMS; public RequestCounter(int durationMS) { this.values = ne ...
一、简介 线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为: ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, RejectedExecutionHandler handler) corePoolSize: 线程池维护 ...
     在开发中,遇到一个问题。我们每次重启一个应用的时候,总会导致一些正在执行的任务因为机器突然死掉,如果不对这种正在执行的任务记录,处理的话,这些任务就消失了。在重启那个时刻jvm里所发生的所有事情我们都已无所知。这会导致什么样的后果,很难知道。发生的后果也难以管理。所以必须对这种情况进行监控,处理。      后来知道了java的addShutdownHook钩子函数,试了试,很管用。下面是这个函数的官方中文API: Java 虚拟机会为了响应以下两类事件而关闭 : 程序正常退出 ,这发生在最后的非守护线程退出时,或者在调用 ...
版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处  、作者信息和本声明。否则将追究法律责任。http://sunfish.blog.51cto.com/417500/108315 PersonDaoImp如下:   /**     * 删除性别为man,年龄为 11,12 的Person记录     */   public  int  deletePerson(Map<String, Object> map) {                    List<Person> personList =n ...
    引言: 原本打算把所有hive相关的sql语法,全部写下来,但是写着写着,发现自己仅仅是在翻译hive的wiki,没有什么有价值的东西,就停止了。今天心情郁闷,又看到这篇一个月前写的学习笔记,防止它永远封存于硬盘。发上来,以资纪念。                                                   hive sql 学习笔记(1) 一、 创建表     在官方的wiki里,example是这样的: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_nam ...
实现步骤 创建项目目录 进入“工作空间”目录,创建名为tradework 的文件夹,切换至控制台,进入该文件夹。  配置模块 生成各个模块 该步骤会依次生成项目的各个模块,但是生成的模块并没有 创建依赖,只是最简单的并且符合maven 要求的项目结构的模块,关于什么是 maven 的标准项目结构,可以参考 maven 官方文档,或者《 maven 权威指南》。  #core 模块创建 mvn archetype:create -DgroupId=uppower.trade -DartifactId=trade-core #client 模块创建 mvn archetype:creat ...
// 从List中随机出count个对象 private List<Object> randomTopic(List<Object> list, int count) { // 创建一个长度为count(count<=list)的数组,用于存随机数 int[] a = new int[count]; // 利于此数组产生随机数 int[] b = new int[list.size()]; int size = list.size(); // 取样填充至数组a满 for (int i = 0; i < cou ...
 一、    Hadoop环境搭建      首先在Apache官网下载hadoop的包hadoop-0.20.2.tar.gz。       解压hadoop-0.20.2.tar.gz包,具体命令如下:       tar zxvf hadoop-0.20.2.tar.gz       其中要注意的是,tar 包用xvf ,gz包用zxvf。 在安装中,如果遇到识别问题,或者无法解压,很有可能是权限问题,解决方案是修改此文件的使用权限,命令如下:       chmod 777 hadoop-0.20.2.tar.gz       其中,777为所有权限。       如果 ...
    Solrj已经是很强大的solr客户端了。它本身就包装了httpCliet,以完全对象的方式对solr进行交互。很小很好很强大。    不过在实际使用中,设置SolrQuery 的过程中,为了设置多个搜索条件和排序规则等等参数,我们往往会陷入并接字符串的地步,实在是很丑陋,不符合面向对象的思想。扩展性几乎为0,。基于这点,开发了一个小东西,我们只需要设置搜索对象,将对象扔给后台就可以了。     比如,我们搭建的solr服务支持某10个字段的搜索,我们要搜索其中的一些,那么我们只需要传入要搜索的对象POJO,将要搜索的字段内容,set到POJO对象对应额字段即可。     比如如下 ...
  Solr 是一个独立的企业级搜索应用服务器,它对外提供类似于 Web-service 的 API 接口。用户可以通过 http 请求,向搜索引擎服务器提交一定格式的 XML 文件,生成索引;也可以通过 Http Get 操作提出查找请求,并得到 XML 格式的返回结果。这里主要讲解下通过 http Get 请求这种方式。首先,我们就必须通过 HTTP 请求类似 http://localhost:8989/solr/select?q=tags:t5 AND t7&fl=auction_id&start=0&rows=4&s ...
      一个 Java 虚拟机实例的天职就是:负责运行一个 Java 程序。当启动一个 Java 程序时,一个虚拟机实例就诞生了。当该程序关闭退出,这个虚拟机实例也就随之消亡。如果在同一台计算机上同时运行三个 Java 程序,将得到三个 Java 虚拟机实例。每个 Java 程序都运行于它自己的 Java 虚拟机实例中 。       Java 虚拟机实例通过调用某个初始类的 main() 方法来运行一个 Java 程序。任何拥有这样一个 main() 方法的类都
      在相对复杂的业务逻辑中,我们常常使用到多重循环,在最里层循环判断某个条件,一旦条件不符合就直接break,可以break并不能直接跳出所有的循环,这肯定会对性能有影响,还有可能影响业务判断。最好的方式就是直接跳出所有循循,return到最外层。这个类似被广大人民诟病的goto语法。大家众所周知,java是不支持goto语法的,虽然保留了goto为关键字。解决这类问题,其实有个很简单的做法   public void showExample() { breakFor: for (int i = 0; i < 100; i++) { for (int j = 0 ...
Global site tag (gtag.js) - Google Analytics