- 浏览: 83681 次
文章分类
- 全部博客 (136)
- 我的技术资料收集 (98)
- 具体技术 (1)
- 的技术资料收集 (4)
- All Articles (1)
- 机器学习 Machine Learning (1)
- 网络编程 (1)
- java (2)
- ava (1)
- 零散技术 (1)
- C# (3)
- 技术资料收集 (1)
- CQRS (1)
- 数据库技术(MS SQL) (1)
- .Net微观世界 (1)
- Oracle SQL学习之路 (1)
- C/C++ (1)
- JS/JQ (1)
- Js封装的插件/实例/方法 (2)
- 敏捷个人 (2)
- Javascript (1)
- 程序设计---设计模式 (1)
- Bug (1)
- 未知分类 (1)
- 程序设计 (1)
- Sharepoint (1)
- Computer Graphic (1)
- IT产品 (1)
- [06]JS/jQuery (1)
- [07]Web开发 (1)
- .NET Solution (1)
- Android (3)
- 机器学习 (1)
- 系统框架设计 (1)
- Others (1)
- 算法 (1)
- 基于Oracle Logminer数据同步 (1)
- 网页设计 (1)
- 原创翻译 (1)
- EXTJS (1)
- Jqgrid (1)
- 云计算 (1)
最新评论
原帖地址:http://www.cnblogs.com/fuxinci/archive/2013/06/10/3130762.html
问题:
现在有N多授权用户(id,name...),如何判断某用户(guest)是否有权限呢?id是整型且唯一。
我想到的解决方案是将授权用户id放到一个集合中,然后调用list.contains(guest.id)方法。
今天看到一个比较特别的方式,将验证部分整理如下:
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import static java.math.BigInteger.ZERO;
/**
* Author: Leo Sun
* Blog: http://fuxinci.com/
* Date: 6/10/13
*/
public class TestInteger {
public static void main(String[] args) {
Random random = new Random();
List<Integer> list = new ArrayList<Integer>();
// 使用BigInteger 作为 id 集合
BigInteger ids = BigInteger.ZERO;
for (int i = 0; i < 10; i++) {
int id = random.nextInt(10);
list.add(id);
// 将id放入BigInteger
ids = ids.or(ZERO.setBit(id));
}
// 判断id是否存在
for (Integer id : list) {
System.out.println("Collection.contains( "+id+" )= " + ids.testBit(id));
}
}
}
缺点:只能用于验证,无法列表授权用户id
优点:会比将所有id放到集合中,然后调用contains方法速度快吗 ?欢迎补充.
发表评论
-
C#WebBrowser控件使用教程与技巧收集--苏飞收集 - sufeinet
2013-06-28 12:07 1067原帖地址:http://www.cnblogs.com/suf ... -
我要喷一个自认为很垃圾的网站架构 - 老赵【苏州】
2013-06-28 12:01 1126原帖地址:http://www.cnblogs.com/lao ... -
[翻译] Oracle Database 12c 新特性Multitenant - Cheney Shue
2013-06-28 11:43 620原帖地址:http://www.cnblogs.com/ese ... -
memcahd 命令操作详解 - 阿正-WEB
2013-06-28 11:37 469原帖地址:http://www.cnblogs.com/azh ... -
面向过程的代码符合大众的思维方式吗? - 史蒂芬.王
2013-06-27 10:28 593原帖地址:http://www.cnblogs.com/ste ... -
面向过程的代码符合大众的思维方式吗? - 史蒂芬.王
2013-06-27 10:28 558原帖地址:http://www.cnblogs.com/ste ... -
RPG游戏之组队测试 - zthua
2013-06-27 10:22 557原帖地址:http://www.cnblogs.com/zth ... -
IT人们给个建议 - SOUTHER
2013-06-26 14:06 523原帖地址:http://www.cnblogs.com/sou ... -
Java向前引用容易出错的地方 - 银河使者
2013-06-26 14:00 492原帖地址:http://www.cnblogs.com/nok ... -
使用Func<T1, T2, TResult> 委托返回匿名对象 - 灰身
2013-06-26 13:54 800原帖地址:http://www.cnblo ... -
【web前端面试题整理03】来看一点CSS相关的吧 - 叶小钗
2013-06-25 10:45 783原帖地址:http://www.cnblogs.com/yex ... -
Windows 8 动手实验系列教程 实验6:设置和首选项 - zigzagPath
2013-06-25 10:27 618原帖地址:http://www.cnblogs.com/zig ... -
闲聊可穿戴设备 - shawn.xie
2013-06-25 10:21 562原帖地址:http://www.cnblo ... -
CentOS下Mysql安装教程 - 小学徒V
2013-06-23 15:24 608原帖地址:http://www.cnblogs.com/xia ... -
vmware安装ubuntu12.04嵌套安装xen server(实现嵌套虚拟化) - skyme
2013-06-23 15:18 836原帖地址:http://www.cnblogs.com/sky ... -
之前专门为IE6、7开发的网站如何迁移到IE10及可能遇到的问题和相应解决方案汇总 - 海之澜
2013-06-23 15:12 949原帖地址:http://www.cnblogs.com/wuz ... -
Android学习笔记--解析XML之SAX - 承香墨影
2013-06-23 15:01 407原帖地址:http://www.cnblo ... -
SQL Server 性能优化之——T-SQL TVF和标量函数
2013-06-19 09:32 670原帖地址:http://www.cnblogs.com/Boy ... -
Nginx学习笔记(二) Nginx--connection&request
2013-06-19 09:26 665原帖地址:http://www.cnblogs.com/cod ... -
从郭美美霸气侧漏看项目管理之项目经理防身术
2013-06-19 09:20 499原帖地址:http://www.cnblogs.com/had ...
相关推荐
对经典电费计费系统的现代演绎,一个人...电费计费系统被认为是初学者最好的Java项目创意之一。该应用程序应具有以下功能: 准确计算账单金额。 在当地电力局和用户之间即时共享数据。 非常安全,可以消除篡改的机会。
程序可能还包括一些定制化的功能,例如生成一段特殊的消息或动画,根据相识的天数来展示不同的浪漫语句。这可能涉及到字符串操作和条件判断,如`if-else`语句,来实现不同的输出。Java的`String`类提供了丰富的操作...
富有创意:通过打印星号和空格来构造出一个爱心形状,这本身就是一个很有创意的想法。这种将编程和艺术结合的方式,使得这段代码不仅实现了功能,也展现了编程的趣味性。良好的可读性:代码中的注释和空格使得代码...
这个Java代码情书项目不仅展示了编程的实用性,还体现了创意和情感的结合。对于学习Java的开发者来说,这是一个很好的实践案例,能够锻炼他们的编程技巧,同时也能激发对编程的热爱和创新思维。通过研究和修改这段...
这段代码适用于希望以创意和浪漫的方式表达爱意的人群。无论是情侣还是恋人,他们可以通过这段代码给对方留下深刻的印象和甜蜜的回忆。 使用场景和目标: 这段代码适用于多种场景,包括但不限于情人节、纪念日、生日...
除此之外,文件名暗示了这是一段专为表白而准备的代码,可能包含一个互动的网页应用。这可能是一个简单的HTML和CSS页面,加上JavaScript的交互逻辑,当妹子打开时,会播放一段动人的音乐,展示一行行深情的告白语句...
这段代码实现了一个放烟花的炫酷效果,无需额外下载任何插件,代码可直接跑着swing窗体下运行,多个小圆点随机移动,超出边界后重新生成在随机位置,形成连续的烟花效果。同时结合了"龙"主题创意项目,让烟花效果...
打地鼠小游戏是一款深受玩家喜爱的经典休闲游戏,其简单的操作方式和快速反应的挑战性使得它在各种年龄段的用户中都有很高的普及度。本篇将深入探讨如何使用Java语言来实现这样一个有趣的小游戏。 首先,Java作为一...
定时器可以定期触发某个事件,例如每隔一段时间自动切换到下一张图片。此外,可能还会使用到事件监听器(`ActionListener`),以便在特定时刻执行特定的操作,比如切换图片。 在描述中提到的不同切换特效,可能通过...
- ** Processing**:虽然Processing主要是一个创意编程语言,但也可以在Java环境中使用,其提供了丰富的图形绘制功能,包括等值线的绘制。 5. **源代码分析**: - 由于描述中提到的源代码是作者自己编写的,可能...
Java字符动画是一种趣味性的编程实践,它通过将图像转化为由特定字符组成的序列,来模拟动态效果。...如果你对Java编程和视觉艺术感兴趣,尝试制作字符动画无疑会是一段有趣且富有成就感的学习旅程。
JSP(JavaServer Pages)是Java平台上的服务器端技术,它允许开发者在HTML、XML或其他类型的文档中嵌入Java代码,以生成动态网页内容。在表白代码的场景中,JSP可能会用来处理用户提交的信息,比如接收表白请求,...
最后,显示一个特定的对话框,在一段时间后程序退出。 这段代码可以用于创建一些具有特殊效果的图形用户界面,例如在特定场景下展示一系列随机出现的消息,或者作为一种创意的表达方式。通过随机出现的窗口和定时...
2. 滚动机制:通过定时器每隔一段时间改变文本的位置,使其看起来在屏幕上移动。 3. 边界处理:当文字移动到边界时,需要重新定位到另一端,实现无缝滚动。 Java Applet是早期Java用于Web开发的一种方式,虽然现在...
在Java编程领域,3D文字动画的实现是一个高级且引人入胜的话题。这个主题涵盖了图形学、动画原理以及Java的特定库和技术。本项目显然旨在展示如何在Java环境中创建动态、立体的文字效果,这对于游戏开发、用户界面...
2. **创新游戏设计**:尽管受到硬件限制,但仍有一些开发者利用创意和技术手段制作出颇具特色的小型游戏。 #### 总结 J2ME作为早期的移动开发平台,在当时为开发者提供了一个强大的工具集来开发各种类型的手机应用...
【标题】"北京浮生记(java se版)"是一款基于Java SE平台开发的简易游戏,它展示了如何使用Java编程语言来实现一个互动性的游戏程序。Java SE(标准版)是Java平台的核心,提供了丰富的类库和API,使得开发者可以构建...
这里定义了一个无限循环,每隔一段时间(如1秒)检查是否需要更新背景图。如果时间间隔足够长或者有显式请求,则调用`updateBackground`方法更新背景图像。 ##### 4. 组件布局与添加 最后,需要将自定义的透明背景...
这种代码可以是基于各种编程语言实现的,如Python、JavaScript、C++或Java,这些语言都有丰富的库和功能,能够帮助程序员实现创意。 1. **Python**: Python以其简洁明了的语法,常被用来编写表白代码。例如,使用...
- **平台独立性**:Java代码编译成字节码后,由JVM解释执行,不受硬件平台限制,实现了跨平台运行。 - **多线程**:Java内置了对多线程的支持,使得程序能够同时处理多个任务,提高了并发处理能力。 - **动态性**:...