您现在的位置:首页
--> 曦轩
Java相对于c/c++来说,是比较“动态”的语言,在运行时期,也有扩展性和可优化性(不像c/c++直接编译成机器码)。所以,针对JVM和GC的一些优化策略就显得尤为重要,提供给程序员的灵活性也会相应的增加。这两天着手于Java后端进程的优化,对jvm和gc进行了一些研究。
其实,分布式系统说白了,就是很多机器组成的集群,靠彼此之间的网络通信,担当的角色可能不同,共同完成同一个事情的系统。
在实际生产开发中,遇到一些多节点共存,需要选主,并且要实现HA自动容错的场景,思考了写方法拿出来和大家分享一下。
今天,有个同学向我咨询大数据的一些面试题,其中一类比较有代表性比如判断是否在集合内,比如10个url,判断一个url是否在集合内,还比如有个1~100万个连续无序数字,随机取出里面的N个,求这N个数字等等。这类问题都需要一个大的数据集合,而且每个数据单元都很小,比如一个int 。很大程度上,这类问题可以用Bitmap或者Bloomfilter来做,基本思想就是开辟一块大内存,然后利用一个byte里的8个bit来实现按位标记元素。因为地址空间都是连续的,所以查找都是O(1)的。这里需要说的是,BloomFilter判断属不属于集合,在理论上是存在误判的,如果要求数据100%正确,则不要使用BloomFilter。
[ 共4篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [602] 招聘技巧一二
- [17] 我的git笔记
- [16] 在ssh服务里使用chroot
- [16] 密度聚类算法之OPTICS
- [15] 数据分析中常用的数据模型
- [15] 豆瓣是啥?
- [14] Android用户界面设计:表格布局
- [14] jQuery性能优化指南
- [13] 配合jquery实现异步加载页面元素
- [13] 一次神奇的MySQL优化
赞助商广告