- 浏览: 2473732 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (574)
- Book (62)
- Architecture (6)
- Java (39)
- Taobao (41)
- Distributed (4)
- Life (72)
- Database (7)
- Spring (16)
- Photography (15)
- Bicycle (41)
- Test (20)
- jBPM (8)
- Business (12)
- Movie (3)
- Ajax (15)
- Code (7)
- Eclipse (96)
- VIM (2)
- Music (6)
- Groovy (10)
- AutoHotKey (3)
- Dorado (10)
- Maven (7)
- Scrum (5)
- English (20)
- Financial (12)
- OSGi (3)
- Other (4)
- Tool (6)
- Browser (1)
- PPT (1)
- Project Management (4)
- Agile (6)
- Nosql (1)
- Search engine (6)
- Shell (2)
- Open Source (4)
- Storm (10)
- Guava (3)
- Baby (1)
- netty (1)
- Algorithm (1)
- Linux (1)
- Python (2)
最新评论
-
roy2011a:
https://github.com/ebottabi/sto ...
storm的序列化问题及与spring的结合方式 -
roy2011a:
能抗能打 写道哥们儿,你好!能共享下那个storm与sprin ...
storm的序列化问题及与spring的结合方式 -
Alick1:
兄弟,你之前是不是在深圳的正阳公司呆过啊?
storm的ack和fail -
liuleixwd:
先点个赞,写的非常好!有个问题请教下,如果我再bolt里不用e ...
storm的ack和fail -
yao-dd:
solr的facet查询
这里我写了一个基类, 来对选项进行位操作.
采用位来作为判断是否包含某个选项, 而所有的选项常量都采用"1<<n"来定义, 即2的n次方
采用位来作为判断是否包含某个选项, 而所有的选项常量都采用"1<<n"来定义, 即2的n次方
public abstract class BaseOption { public long options; // 选项合集 /** * 添加选项 * * @param option * @return */ @SuppressWarnings("unchecked") public <T extends BaseOption> T add(long option) { if ((option & (option - 1)) != 0) { throw new IllegalArgumentException("option必须为2的n次方"); } this.options = this.options | option; return (T) this; } /** * 删除选项 * * @param <T> * @param option * @return */ @SuppressWarnings("unchecked") public <T extends BaseOption> T remove(int option) { if ((option & (option - 1)) != 0) { throw new IllegalArgumentException("option必须为2的n次方"); } options = this.options & (option ^ Long.MAX_VALUE); return (T) this; } /** * 是否包含选项 * * @param option * @return */ public boolean contains(long option) { return ((this.options & option) == option); } public static void main(String[] args) { BaseOption co = new BaseOption() {}; co.options = 2; co.add(2); Assert.assertEquals(2, co.options); co.options = 4; co.add(2); Assert.assertEquals(6, co.options); co.add(1); Assert.assertEquals(7, co.options); co.add(1); Assert.assertEquals(7, co.options); co.add(0); Assert.assertEquals(7, co.options); try { co.add(6); Assert.fail(); }catch (Exception e) { } co.remove(1); Assert.assertEquals(6, co.options); co.remove(2); Assert.assertEquals(4, co.options); co.remove(4); try { co.remove(6); Assert.fail(); }catch (Exception e) { } Assert.assertEquals(0, co.options); co.remove(4); Assert.assertEquals(0, co.options); System.out.println("test is successful!"); } }
发表评论
-
使用Externalization更高效的实现java对象序列化
2012-04-04 22:38 3152Externalization没用过, 它通过牺牲默认序列化的 ... -
关于java的检查异常和非检查异常
2012-04-04 21:31 4980这里有一个关于java的检查异常和非检查异常的观点, 我比较赞 ... -
使用ThreadLocal保证DateFormat线程安全
2012-04-03 06:45 3606大家都知道DateFormat是线程非安全的, 一般在多线程环 ... -
使用枚举实现一个状态机
2012-04-02 23:14 3945非常巧妙的一个使用枚举的例子.原文见这里 interface ... -
一个同步队列例子
2012-04-02 21:35 1578这个用的也比较少, 做一个参考, 原文见这里 private ... -
一个读写锁的例子
2012-04-02 21:20 1534用的比较少, 做一个参考. 原文在这里 public clas ... -
如何计算一个合适的线程池大小参数
2012-04-02 20:57 9072原文在这里 下面是一个计算的框架代码: /** * A ... -
正确使用日志的10个技巧
2012-02-11 21:13 28861做一个苦逼的Java攻城师, 我们除了关心系统的架构这种hig ... -
Java编程最差实践
2012-02-04 17:54 26672原文地址:http://www.odi.ch/prog/des ... -
利用jOOR简化Java 反射使用
2012-01-15 20:39 5159原文:http://lukaseder.wordpress.c ... -
《Java Performance》书评
2012-01-15 18:32 2967原文: http://java.dzone.com/rev ... -
《细说Java》读书笔记
2011-10-05 15:01 1998国人写的, 感觉是一 ... -
《Java开发超级工具集》读书笔记
2011-09-28 08:59 2102"工欲善其事必先利其器", 在平时的开发 ... -
《effective java》 读书笔记
2011-07-02 14:52 7608读第一版已经是好几年前的事儿了, 现在想起来也没什么印象, ... -
用java实现"awk -d"功能(保留多行重复)
2010-06-07 21:48 3079一般用过linux脚本的都知道"awk -d&quo ... -
关于方法返回值的两种处理模式
2010-05-13 09:06 2035目前在处理返回值方面, ... -
JVM调优汇总
2010-02-21 19:18 14419参考网址 http://pengjiaheng.spaces. ... -
log4j的输出转换模式
2009-12-12 10:02 1280转换模式(conversion pattern)为" ... -
java正则表达式用法举例
2009-12-08 11:27 4523java正则表达式真难用啊, 这里整理一个java正则表达式用 ... -
Ibatis TypeHandler使用总结
2009-11-25 19:33 16555ibatis中有一个TypeHandler(准确的说应该是Ty ...
相关推荐
“java位运算符之左移操作视频”可能是一个教学资源,通过观看这个视频,学习者可以更直观地了解Java中左移操作的使用方法和实践案例。配合“视频文字.txt”,可以对视频内容进行文字记录和复习,加深理解。 六、...
64位版本的Java JDK针对64位操作系统,这种系统能够处理更大的内存地址空间,允许Java应用程序利用更多的RAM。这对于处理大数据、复杂的多线程应用或需要大量内存的高性能计算至关重要。相比32位版本,64位Java可以...
本文将详细讨论针对Windows 32位操作系统的Java安装包,以及如何进行安装。 标题"java安装包(windows 32位)"指的是专门为32位Windows系统设计的Java Development Kit(JDK)的安装程序。JDK是Java编程的基础,它...
luajava-1.1-x64-lua51.zip则是64位版本,适用于64位操作系统。解压后同样需要按照readme.txt中的指导进行安装。需要注意的是,64位版本的luajava不能在32位操作系统上运行,反之亦然。 在使用luajava时,可以通过...
32位JDK则适用于32位操作系统,内存管理有限,但能兼容更多的32位应用程序。选择哪种版本取决于你的操作系统的架构。 4. **Lambda表达式**:Java 8引入的最重要的特性之一,它允许以简洁的方式表示匿名函数。Lambda...
Java JDK 32位是Java开发环境中不可或缺的部分,主要用于32位操作系统的编程工作,尤其适合那些仍需在旧系统上运行或开发的项目。Java JDK(Java Development Kit)是Oracle公司提供的Java语言开发工具包,它包含了...
### JAVA位运算详解 在Java编程中,位运算是一门精细的艺术,涉及到对整数类型的二进制位进行直接操作。这些操作不仅能够优化代码执行效率,还常用于实现特定的算法需求。本文将深入探讨Java中的位运算,包括位...
9. **位运算**:Java中的位运算常用于高效的位操作,如在空间限制严格的情况下进行数据处理。 10. **字符串处理**:Java提供了丰富的字符串处理API,如模式匹配、字符串反转、子串查找等,这些都是算法中常见的问题...
Java JDK(Java Development Kit)是Java编程语言的软件开发工具包,是开发和运行Java应用程序的基础。...下载和正确安装Java JDK是进行Java开发的第一步,而熟悉其包含的各种工具和库则是提升开发效率的关键。
JavaService-2.0.10 是一个针对Java应用程序的服务包装工具,它允许开发者将Java应用程序作为Windows服务来运行。这个版本提供了32位和64位两种版本,以适应不同操作系统环境的需求。 在Windows系统中,服务是一种...
总的来说,Java缓存的应用是提升系统性能的关键策略之一。了解Java内存体系和有效使用缓存框架,能够帮助开发者创建更高效、更稳定的系统,同时避免因内存管理不当导致的问题。正确设置JVM内存参数和使用内存检查...
64位版本的JRE是专为64位操作系统设计的,能够充分利用现代计算机硬件的内存资源,提高大型Java应用的性能。 首先,让我们来了解一下Java平台的组成。Java平台分为三个主要部分:Java虚拟机(JVM)、Java类库和开发...
在64位操作系统上,Java64位SWT是为了确保应用程序能够充分利用64位系统的内存和处理能力。64位环境下的Java虚拟机(JVM)能够处理更大的数据类型和更大的内存地址空间,这对于需要大量内存或者高性能计算的应用来说...
Java JDK 8 64位是Java开发工具集的一个重要版本,特别针对Windows操作系统设计,为64位架构提供支持。这个版本的JDK(Java Development Kit)是Oracle公司发布,用于开发和运行Java应用程序的基础平台。在Java编程...
32位和64位版本的区别在于它们分别对应于不同的操作系统架构,32位适用于32位操作系统,64位则用于64位操作系统。用户应根据自己的系统类型选择合适的版本安装,以确保Java程序能够正常运行。 2. **JVM(Java ...
它免除了传统安装过程,提供了便携式的使用方式,使得开发者和系统管理员能够在任何支持32位操作系统的计算机上快速部署和运行Java Web应用程序。以下是关于Java Tomcat 7.0 32位的关键知识点: 1. **Tomcat概述**...
32位JRE可以在32位操作系统上运行,而64位JRE则适用于64位操作系统。主要区别在于内存管理和处理器指令集的优化。64位版本通常能够利用更多的内存,对于内存密集型应用来说性能更优。 2. **exe4j与32位/64位兼容性*...
reg.dll通常是32位版本的注册表操作库,而reg_x64.dll则是64位版本,它们包含了用于读写注册表的函数。 在实际应用中,Java操作注册表插件可能有以下常见用途: 1. 应用程序配置:软件可以将设置保存到注册表,以...
Java NIO(New IO)从Java 1.4版本开始引入,提供了一种基于通道(Channel)和缓冲区(Buffer)的新型IO模型,支持非阻塞读写,适用于高并发、低延迟的IO应用。 10. **文件系统接口** Java 7引入了Files类和Path...
- **按位或(|)**:如果两个相应位中有任意一位为1,则结果位为1;否则为0。 - **按位异或(^)**:如果两个相应位不同,则结果位为1;否则为0。 - **按位取反(~)**:将每个位取反,即0变1,1变0。 - **左移位...