`
文章列表
使用Maven + Eclipse + Jetty 进行开发,但有一个问题:那就是如果已经运行着Jetty,在这种情况下修改.js文件,在eclipse里保存都会失败,eclipse给出的错误信息是文件被锁定。这样迫使每次都得重启Jetty,对Javascript的开发非常不方便。 原因是如果NIO被支持的话,Jetty会使用内存映射文件来缓存静态文件,其中包括.js文件。在Windows下面,使用内存映射文件会导致文件被锁定。解决方案是不使用内存映射文件来做缓存。如果你使用Maven,那就很简单了。步骤如下: 找到jetty.jar后解压,从中找到webdefault.xml,它在jar文 ...
代码中用到了new BASE64Decoder().decodeBuffer(pic) 这段代码,在maven打包的时候提示编译警告,并且提示BUILD 失败 很淡定的搜索了一上,相信网上肯定有人遇到,找了几个试了一个,没成功! 最后在这里找到了 参考: http://www.juvenxu.com/2010/09/01/maven-javac-warning/
项目中决定使用Redis,所以开始查一些资料 根据Redis官方推荐的客户端 jedis,后来也听说spring-data也支持redis操作,于是网上看一下,比较一下两者的优缺点: Spring Data Redis 1.1.1 优点 1.对具体redis客户端做了封装,客户端可在jedis,jredis,rjc等Java客户端中做出选择和切换 ; 2.用template对调用做了封装,省去了建立连接,释放连接等繁琐代码,只需要关心业务; 3.对对象的序列化也可自由选择工具。 缺点 据说不支持sharded,还没有试,目前就在单点上进行开发,以后会试一下,不过感觉应该也没有什么问题, ...
mac os上安装eclipse 首先,到官网上下载一下eclipse,Eclipse Standard 4.3.2 ,下载完成后在Finder/下载目录下会有一个eclipse-standard-kepler-SR2-macosx-cocoa-x86_64.tar.gz的压缩包 解压之:tar xvf  eclipse-standard-kepler-SR2-macosx-cocoa-x86_64.tar.gz 生成 eclipse目录,进入到目录里面双击eclipse后会弹出  打不开eclipse 因为它来自身份不明的开发者 本以为是安装的问题,所以把目录移到 应用程序目录后,双击还是 ...
在对字符串日期进行格式化式化输出时,需要进行两次转化:如下 <fmt:parseDate value="201221133000" pattern="yyyyMMddHHmmss" var="test"/> <fmt:formatDate value="${test}" pattern="yyyy-MM-dd HH:mm:ss"/>
安全性--不损坏对象     对象的损坏通常是指对象的字段所取得的值并非预期值。在多线程环境中,如果没有足够的同步,多个线程操作执行顺序是不可预测的,由于多个线程是共享相同的的内存地址,并且是并发运行,因此它 ...

线程状态图

    博客分类:
  • JAVA
图一 图二 ps:两个图是从网上找到的,为什么要放这两个图?注意图二的虚线框同上图的比较,一个是lock pool,一个是wait pool。

并发与并行

    博客分类:
  • JAVA
百度百科的解释   并发和并行是即相似又有区别的两个概念,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可以同时执行。 =============================================================== ...
JDK的源码,看到Integer.ValueOf(int)里面做了优化 public static Integer valueOf(int i) { final int offset = 128; if (i >= -128 && i <= 127) { // must cache return IntegerCache.cache[i + offset]; } return new Integer(i); } private static class IntegerCache { private Intege ...
线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包括执行任务集时使用的线程)的方法。每个 ThreadPoolExecutor 还维护着一 ...

优化 Java 内部 I/O

    博客分类:
  • JAVA
彻底转变流,第 1 部分 彻底转变流,第 2 部分:优化 Java 内部 I/O

Reactor模式

    博客分类:
  • JAVA
 
Reactor模式,或者叫反应器模式 涉及到多线程处理方式:一个事件到来,就会产生一个线程服务,这种方式在事件请求少的情况下会有很好的用户体验;线程池:用数量较少的线程来为同时请求事件服务,缺点就是某一处服务处理时间较长时,其他请求事件得不到服务的响应;Reactor模式:引用文中的比喻那就是“当客人点菜的时候,服务员就可以去招呼其他客人了,等客人点好了菜,直接招呼一声“服务员”,马上就有个服务员过去服务。然后在老板有了这个新的方法之后,就进行了一次裁员,只留了一个服务员!这就是用单个线程来做多线程的事。” Merlin 给 Java 平台带来了非阻塞 I/O 普通IO的socket编程中, ...

java io

    博客分类:
  • JAVA
Java中的IO整理 Java NIO
case控制结构是一种多分支选择机制,具体选择哪个分支依赖于测试串(test-string)和某个分支类型(pattern)之间的匹配情况。 语法结构: case test-string in     pattern-1)         command-1     ;;     pattern-2)         command-2     ;;     pattern-3)         command-3     ;;     *)         command-4     ;; esac 示例如下; #!/bin/bash echo -n "Enter A,B ...
语法结构 for loop-index in argument-list do     commands done 示例如下: #!/bin/bash for fruit in apples oranges pears bananas do echo "$fruit" done echo "Task complete." 结果: apples oranges pears bananas Task complete. while控制结构 while test-command do     command ...
Global site tag (gtag.js) - Google Analytics