月度归档:八月 2012

【每天一题】获取单向链表的倒数第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 |
返回顶部