HashMap简史 “Hash Code”这个概念第一次出现是在1953年1月的<Computing literature>中,H. P. Luhn  (1896-1964) 在一篇 IBM 的内部备忘录中提出了这个术语.当时 Luhn 是要解决这个问题:“给出组成一本教科书的一系列单词,要得出 100% 完整的(单词,出现页码集)对应关系,最好的算法和数据结构是什么?” H.P. Luhn (1896-1964) Luhn 写道, “hashcode” 是基本的运算符. Luhn 写道, “…
OpenJDK的非堆JDK增强提议(JDK Enhancement-Proposal,JEP)试图标准化一项基础设施,它从Java6开始,只能在HotSpot和OpenJDK内部使用.这种设施能够像管理堆内存那样管理非堆内存,同时避免了使用堆内存所带来的一些限制.对于上百万短期存在的对象/值来说,堆内存工作起来是很好的,但是如果你想要增加一些其他的需求,如几十亿的对象/值的话,假若你想避免持续增加的GC暂停,那么你需要做一些更加有创造性的工作.在有些场景下,你还需要完全避免暂停.非堆提供了构建“…
由于做数据处理时,经常遇到maven 下载依赖包错误,下面我将自己下载好的repository 分享下 里边包含:Hadoop ,storm ,sprk ,kafka ,等 压缩后500多M. http://pan.baidu.com/s/1pJN2ScV 如有问题请联系: chaoren399@126.com…
python数据处理技巧二(掌控时间) 首先简单说下关于时间的介绍其中重点是时间戳的处理,时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数.这里这个知识只做了解,接下来会用python三个关于时间的模块来定位时间,计算时间等. 首先让我们来验证下时间戳及怎么换算时间戳 1.要使用time方法首先要导入方法包import time 2.获取当前时间戳的方法是print time.time()就可以得到当前执行这个方法…
----JVM运行时内存划分----不同的区域存储的内容不同,职责因为不同1.方法区:被线程共享,存储被JVM加载的类的信息,常量,静态变量等2.运行时常量池:属于方法区的一部分,存放编译时期产生的字面量和符号引用3.Java堆区:被线程共享,主要存放new出的对象,GC主要负责的区域4.虚拟机栈:属于线程私有,存放方法中的参数局部变量等5.本地方法栈:线程私有,存储与本地方法相关的变量6.PC,程序计数器线程私有,用来记录当前以及下次要执行的指令----对象访问的方式----1.句柄:对象的引…
程序计数器 记录正在执行的虚拟机字节码指令的地址(如果正在执行的是本地方法则为空). Java 虚拟机栈 每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表.操作数栈.动态链接.方法出口等信息.每一个方法从调用直至执行完成的过程,就对应着一个栈帧在 Java 虚拟机栈中入栈和出栈的过程. 可以通过 -Xss 这个虚拟机参数来指定一个程序的 Java 虚拟机栈内存大小: java -Xss=512M HackTheJava 该区域可能抛出以下异常: 当线程请求的栈深度超过最大值,会抛…
一 . 运行时数据区 程序计数器是线程私有的,是一块很小的内存空间,是当前线程执行到字节码行号的计数指示器.每个CPU处理器核心 在任何一个时刻,都只可能运行着唯一的一个线程,执行着一条指令.所以在多线程的应用中,线程不断切换和分配时间片.在线程切换来切换去的过程中,就是靠程序计数器来了解,该如果继续恢复运行该线程.   虚拟机栈和Native方法栈也是线程私有的.在Sun HotSpot虚拟机中虚拟机栈和Native方法栈是被合二为一的.虚拟机栈描述的是Java方法执行的内存模型,栈帧用于存储…
最近参考各种资料,尤其是<深入理解Java虚拟机 JVM高级特性和最佳实践>,大牛之作.把最近学习的Java虚拟机组成和垃圾回收机制总结一下. 你不会的都是新知识,学无止境,每天进步一点点. 一.认识Java虚拟机 在开始学Java之时,必做的一件事就是从Java官网下载并安装Java到我们的电脑之上,然后从HelloWorld开始走上编程的不归路. 上图中下载的Java安装包全称是Java SE Development Kit(单词依次翻译:Java 标准版本 开发 工具包),简称JDK,也…
<对“XXX::Invoke”类型的已垃圾回收委托进行了回调.这可能会导致应用程序崩溃.损坏和数据丢失.向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们>的问题的解决方法 源程序部分代码如下系统api /// <summary> /// 安装钩子的函数 /// </summary> /// <param name="idHook"></param> /// <param name=…
★JVM 的内存空间 在 Java 虚拟机规范中,提及了如下几种类型的内存空间: ◇栈内存(Stack):每个线程私有的.◇堆内存(Heap):所有线程公用的.◇方法区(Method Area):有点像以前常说的“进程代码段”,这里面存放了每个加载类的反射信息.类函数的代码.编译时常量等信息.◇原生方法栈(Native Method Stack):主要用于 JNI 中的原生代码,平时很少涉及. ★垃圾回收机制简介 其实 Java 虚拟机规范中并未规定垃圾回收的相关细节.垃圾回收具体该怎么搞,完全…