JTI + JNI,为Java程序提供获取JVM内部信息的通道 首先,JTI是啥?HotSpot JVM使用C++写的,在操作系统层面来看,java.exe进程与其他进程并无特别之处。任何一个进程都可以加载第三方的DLL,JTI就是java.exe开放出来的向Java.exe进程注入dll的接口。也就是说,开发者根据JTI定义好的规范,用C++写一个dll,这个dll就可以被java.exe进程加载了【启动jvm的时候要加上-agentlib参数】。J
Javac编译时报“非法的前向引用”,以及Eclipse自带的Java编译器的缺陷 编译以下类的时候,如果切换WARNING_LEVEL的赋值方式为"= StatusDef.WARNING",javac会报“非法的前向引用”。 Eclipse自带的编译器会编译通过,这是Eclipse编译器的一个缺陷。产生这个编译错误的原因是,cinit方法是按照字段在源码中的声明顺序依次执行各个初始化代码段。 对于ForwardReference类,cinit方法依次执行以下功能:
完整导出IntelliJ IDEA的快捷键 工欲善其事,必先利其器。经常和代码打交道的人,熟练使用IDE快捷键那是必须的,因为快捷键可以把你从各种罗嗦事中解放出来。比如,如果没有快捷键,你就需要经常性的暂停高速运行的大脑,右手凭记忆摸到鼠标,然后在屏幕上翻来翻去,“我擦,这该死的菜单又躲到哪里去了”。本文告诉你如何完整提取出IntelliJ IDEA的快捷键,其中IntelliJ IDEA的版本是13.1。
Java集合类汇总记录-- apache.commons4(TreeList) apache-commons库用tree实现了实现了List的接口,也就是TreeList类。与标准的LinkedList相比,TreeList稍微浪费一点空间,但常用操作的时间复杂度均降低到了O(log N),值得在开发中权衡利弊、合理应用。
精确计算java中float和double的精度 给定一个double d = XXX,和d最接近的另外两个double值是多少?我用Java写了一个解析原始数据类型float和double的类,给定一个float或者double数值P,它可以计算出与P的绝对值最近的、可以被float/double表示的浮点数。
Java加上Xtend,满足你对C#语法的所有想象 Java加上Xtend,满足你对C#语法的所有想象好吧,标题言过其实了,Xtend只是在某些方面提供了与C#类似的语法。又或者作为资深Java程序猿,你根本就对这个标题感到愤怒或不屑,“我大Java何时要与屌丝C#做比较了”。但无论如何,Xtend在语法上的清爽还是让我这个非资深程序猿感到了惊喜。如果你偶尔也对Java重复的getter/setter感到无聊,对Java5/6/7缺少Lambd
Spring Framework Reference Documentation 3.2.8.RELEASE 第23章中文翻译 23.1 介绍Spring提供了一个JSM集成框架,简化了JMS API的使用。这点很像Spring对JDBC的集成。JMS大致提供生产消息和消费消息两类功能。JmsTemplate类用来生产消息和同步接收消息【译注:接收消息也就是消费消息】。为了异步接收消息(异步接收消息类似于JavaEE的消息驱动Bean(Message-Driven Bean,MDB),Spring提供了一组消息监听器容器(messagelistener containers),用来创建多个消息驱动POJO(Message-D
利用Wireshark加Lua分析专有网络协议 实战过程:1.安装wireshark、lua。2.利用lua为wirashark写一个协议的dissector,并部署到lua上。 2.1 参照http://wiki.wireshark.org/Lua/Examples中的例子,进行修改。其中要注意的一点是TCP协议中的粘包现象(如果是UDP则不考虑), 解决这点的关键是在dissector(buffer, pinfo, tr
Windows下的Grep工具 一直觉得Windows下搜索文件夹下所有文件的内容不方便,但也没在意。今天试用了Windows Grep这个工具,效果不错。最新版本是2.3,安装之后,打开专家模式,并且做以下设置:图中的"Editor command line:"选项的含义是:1. C:\UltraEdit_V19.10.0.1012\UltraEdit\uedit32.exe是UltraEdit的可执行
设置VMWare虚拟机可以被外网访问 环境:VMWare 10;主机为Windows7,IP地址通过DHCP获得;虚拟机为Windows XP步骤:Client操作系统(Windows XP)中1.设置为自动获得IPHost操作系统(Windows 7)中1.VMWare--“虚拟网络编辑器”对话框中,选择桥接模式的网卡(一般为VMnet0),然后设置“桥接到”的Combobox为合适的项2.VMW
JavaScript中的比较操作符 用了一段时间的JavaScript,总是感觉这门语言非常不严谨,其中一个很难完全搞懂的地方就是比较操作符。这几天重翻JavaScript -- The Definitive Guid,做个摘要,加深理解。JavaScript中的类型null:一个类型只有一个值【虽然typeof(null)返回的是’object’,但它的类型仍然不是object】undefined:一个类型
解决WebBrowser控件打开本地页面报安全提示的问题 今天用C#封装了WebBrowser控件去打开一个本地页面,页面中包含了javascript脚本,该脚本通过WebBrowser的ObjectForScripting属性,访问C#代码。代码非常简单,但没想到打开页面的时候,WebBrowser报安全提示:“为帮助保护你的安全,你的Web浏览器已经限制此文件显示可能访问你的计算机的活动内容。单击此处查看选项…”。尼玛,这是我自己写的本地页面好不好,