给定一个long型常量,其值为x,给定long型变量a,要求a & x 的取值集合

给定一个long型常量,其值为x,给定long型变量a,要求a & x 的取值集合,结果放入ArrayList中。

思路,x先转换为bit数组,得出其中元素值为1的总数为n,则所有取值的总数为2的n次方,记为N。
在0~N的闭区间中,依次取出各个数值,记为tmp,将tmp也转换为bit数组,依次遍历x的每一个bit位,当x的bit位为1时,到tmp中去取出相应的bit位,如果也为1,则将该位为1时,其他所有位为0时所代表的数值累加到结果中。
遍历完所有的bit位后,得到的结果即为所需要的数值。

整个思路有点复杂,性能也不高,从数值本身的与或运算上面着手,肯定还有更简单的方法。

代码:

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.75- 4票) Loading ... Loading ... | 归档目录:Java, 算法数据结构, 职业发展 |

内核模块编程初探

照着这里的简单教程(http://www.kerneltravel.net/?page_id=8)编写了第一个内核模块,对中断和内核模块注册形成了简单的认识。

Makefile文件:

# Makefile2.6
obj-m += first.o
CURRENT_PATH := $(shell pwd)
LINUX_KERNEL := $(shell uname -r)
LINUX_KERNEL_PATH := /usr/src/kernels/$(LINUX_KERNEL)
all:
make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules
clean:
make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) clean

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 7票) Loading ... Loading ... | 归档目录:Linux内核 |

JNI编程初试

首先编写Java类,用于调用C++库导出的方法:

public class TestMain
{
public native boolean printInfo();

public native int getNum();

public native void setNum(int num);
 

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 6票) Loading ... Loading ... | 归档目录:Java, JNI技术 |

【转自新浪微博】如何从按键音中听出360总裁@周鸿祎 的手机号码

如何从按键音中听出360总裁@周鸿祎 的手机号码【全文】http://url.cn/7eduzo

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 5票) Loading ... Loading ... | 归档目录:奇趣见闻 |

简介

80后,半路出生,还奋战在IT一线的老码农一枚。做过电信级服务端软件,也写过Java应用,精通各大语言的HelloWord :) 。略懂存储,喜欢折腾WEB,喜欢DIY硬件。向往无拘无束,自由自在的生活方式,闲暇时看看电影,读读历史、文学,写写技术文章,勤于总结。这里更多关注IT领域的基础知识,看到好的文章也会忍不住转来这里。注重实践,总希望能够深挖知识点和问题,但是表达能力欠缺,明于心却不明于口,看文章时如有疑惑,欢迎不吝指正。 努力做好博客,希望借助于这个平台认识更多有着共同志趣的同学。

  • 站点使用WordPress搭建,对主题和插件进行了一些简单的定制化开发,可以在此集中查看:建站技术
  • 所有文章列表:文章列表
  • 订阅:RSS
  • 微博(ID:shentar)同步发布博客链接,微信公众账号(shentar)也可获取到所有博客内容,欢迎收听和订阅。
  • 联系本站:新浪微博  脸书  推特 

| 1 分2 分3 分4 分5 分 (4.65- 26票) Loading ... Loading ... | 归档目录:职业发展 |

【每天一题】获取单向链表的倒数第K个元素

思路:无论如何,如果不借助于辅助数据结构,那么链表的某些元素肯定需要被遍历两遍。
在使用辅助的数据结构的情况下,可以采用如下方案:
遍历的同时将每个节点的地址和序号记录在一个足够大的数组中,等到遍历完成时就可以从数组中找到倒数第K个元素。这肯定不是出题人的本意。
 
在对链表遍历两遍的情况下,可以有两种方案:
1、用两个指针,一个指针先走K步,然后第二个指针再从头开始,这样当地一个指针走到尾节点时,第二个指针的位置就是所需要的节点位置。
2、先遍历一遍链表得到链表的长度N,然后再从头遍历,直到第N-K个节点。
 
两种方法无优劣之分,但是前者显然更有“创意”,下面就方案1给出代码:

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.88- 8票) Loading ... Loading ... | 归档目录:Java, 算法数据结构 |

jvisualvm.exe连接的建立

jstatd -J-Djava.security.policy=jstatd.all.policy -p 10423
注意jstatd.all.policy文件的绝对路径和jstatd可执行文件的路径要一致。

对于jmx连接:
service:jmx:rmi:///jndi/rmi://172.16.128.80:1099/JMXConnector

| 1 分2 分3 分4 分5 分 (5.00- 6票) Loading ... Loading ... | 归档目录:Java |

Gbean与Mbean的联系

关于Mbean和JMX

基于RMI实现的JMX动态管理java程序运行时的实例的属性的接口标准。

用 MBeanServerKernelBridge 和 MBeanGBeanBridge 连接 Geronimo 与 JMX
Geronimo 提供了几个类来弥补 Geronimo GBean 框架与 JMX MBean 框架之间的差距。MBeanServerKernelBridge 类将载入 Geronimo 的每一个 GBean 注册为相关联 MBeanServer 实例中的一个 MBean。该行为使得使用 Geronimo 公开 MBeans 的过程只是将其封装在 GBean 中,然后使用 Geronimo 内核注册 GBean。

内核启动过程中,在 MBeanServerKernelBridge 实例启动时,将检索内核注册的所有 GBeans 并将它们转换为 MBeans。这些 MBeans 是动态 MBean,它们以 MBeanGBeanBridge 实例的形式维护对 Geronimo 内核的引用和存储在每个 GBean 的 GBeanInfo 引用中的信息。
因为 MBeanServerKernelBridge 实例是由 Geronimo 内核注册为 GBean 的,所以只要注册新的 GBean,该 GBean 就会自动注册为 LifecycleAdapter 实现,以接收加载事件和卸载事件。在发生加载和卸载事件时,MBeanServerKernelBridge 使用 MBeanServer 将每个相关联的 GBean 注册和注销为一个 MBean,以确保 JMX 感知客户端提供 Geronimo 和 Geronimo 内核当前状态的精确视图。

| 1 分2 分3 分4 分5 分 (5.00- 8票) Loading ... Loading ... | 归档目录:Geronimo, JMX |

木兰词 人生若只如初见

木兰词
人生若只如初见,何事秋风悲画扇。
等闲变却故人心,却道故人心易变。
骊山语罢清宵半,泪雨零铃终不怨。
何如薄幸锦衣郎,比翼连枝当日愿。

浣溪纱
谁念西风独自凉,萧萧黄叶闭疏窗,沉思往事立残阳。
被酒莫惊春睡重,赌书消得泼茶香,当时只道是寻常。

长相思
山一程,水一程,身向榆关那畔行,夜深千帐灯。
风一更,雪一更,聒碎乡心梦不成,故园无此声。

| 1 分2 分3 分4 分5 分 (5.00- 5票) Loading ... Loading ... | 归档目录:文字网摘, 生活札记 | 标签: |

忙碌而快乐的三月份

忙碌而快乐的三月份,三月份的事情非常多。­

本来过年过来不怎么想打游戏了,但是工作越是忙就越是想找点有成就感的事情做,打游戏还可以跟在盟友后面逞威风,对一场游戏的输赢看的太重了,以至于心跳的速度都快跟上160APM的手速了,这也挺郁闷的,本来就是想轻松点。

互联网成了我现在了解社会的唯一途径了,在公司的时候安心工作,放假的时候也就都呆在电脑旁,每周有7天的时间都在电脑旁边,刚才看到一个什么“地球一小时”的新闻,要是真熄灯一小时,还真不知道该做点什么去,呵呵。­

上上上周跟着祁老师喜哥出去逛了一下,难得居然是来深圳后第一次出去,看到了只在Google Earth上看到过的地王大厦,第一次乘坐了传说中的地铁,去了荔枝公园。

| 1 分2 分3 分4 分5 分 (5.00- 3票) Loading ... Loading ... | 归档目录:生活札记 | 标签: , |
返回顶部