在去年的9月26日,Oracle官方宣布Java11正式发布,这是Java大版本周期变化后的第一个长期支持版本,非常值得关注。Java9和Java10都在很短的时间内就过渡了,所以,Java11将是一个不可忽视的版本。从时间节点看,JDK11的发布正好处在JDK8免费更新到期的前夕,同时,JDK8、 ...
分类:
编程语言 时间:
2019-08-26 13:04:02
阅读次数:
75
#include<stdio.h> /*头文件*/ #define PROCESS_NAME_LEN 32 /*进程名长度*/ #define MIN_SLICE 10 /*最小碎片的大小*/ #define DEFAULT_MEM_SIZE 1024 /*内存大小*/ #define DEFAUL ...
分类:
编程语言 时间:
2019-08-26 00:51:11
阅读次数:
121
提到Java的内存管理,我始终抱有一种又爱又恨的心理。作为一门面向对象的高级语言,Java的确为减轻程序员的负担做出了巨大的努力,它的垃圾回收机制帮助百万程序员从C系语言恼人的内存管理问题中解脱出来,成为自身的一大亮点;但同时,垃圾回收机制的不可强制执行的特点,又让了解过C/C++的人觉得自动垃圾回 ...
分类:
编程语言 时间:
2019-08-26 00:40:37
阅读次数:
94
使用过C++的人应该知道,使用new运算符在堆上创建对象的代价是非常高的——不但创建很麻烦,管理也很麻烦。Java也是通过new运算符在堆上创建对象,但是很明显有着较高的速度。这就要归功于垃圾回收器的存在了。 C++的堆分配和Java堆分配的不同之处 C++堆的管理是由程序员来负责的,这就意味着,对 ...
分类:
其他好文 时间:
2019-08-26 00:29:54
阅读次数:
91
我们几乎无法从Java本身改变其回收机制的策列,但我们可以改变我们的编程方式和在编程中的注意事项。 1.Java没有C++中对象析构的功能,但Java的垃圾回收机制是有原则的,它会回收没有变量引用的对象。这种对象没有变量引用它,也就再也不可能有任何方法找到这个“丢失的”对象了——GC回收的就是这种对 ...
分类:
编程语言 时间:
2019-08-26 00:21:02
阅读次数:
94
概述 Java运行时区域中,程序计数器,虚拟机栈,本地方法栈三个区域随着线程的而生,随线程而死,这几个区域的内存分配和回收都具备确定性,不需要过多考虑回收问题。而Java堆和方法区则不一样,一个接口的多个实现类需要的内存不一样,一个方法的多个分支需要的内存可能也不一眼,我们只有在运行期,才能知道会创 ...
分类:
其他好文 时间:
2019-08-25 21:38:02
阅读次数:
105
Java语言的特点: (1)Java语言是一种面向对象的编程语言 (2)简单、高效、稳定、安全性高 (3)Java语言是一种与平台无关的编程语言,因为其自身提供程序运行的解 释环境 (4)支持多线程处理 (5)Java语言是一种面向网络的高级语言 Java两种核心机制 (1)Java虚拟机JVM(J ...
分类:
其他好文 时间:
2019-08-25 18:04:10
阅读次数:
63
高性能go服务之高效内存分配 手动内存管理真的很坑爹(如C C++),好在我们有强大的自动化系统能够管理内存分配和生命周期,从而解放我们的双手。 但是呢,如果你想通过调整JVM垃圾回收器参数或者是优化go代码的内存分配模式话来解决问题的话,这是远远不够的。自动化的内存管理帮我们规避了大部分的错误,但 ...
分类:
其他好文 时间:
2019-08-24 14:59:37
阅读次数:
81
map增加和更新: map["key"] = value //如果key还没有,就是增加,如果key存在就是修改 案例演示: func main() { cities := make(map[string]string) cities["no1"] = "北京" cities["no2"] = "天 ...
分类:
其他好文 时间:
2019-08-24 00:12:36
阅读次数:
104
起源 1960年Lisp语言: 第一门真正使用内存动态分配和垃圾回收的语言。 运行时数据区域 1.程序计数器 Program Counter Register 1. 当前线程所执行的字节码的行号指示器。 2. 字节码解释器的工作是通过改变这个计数器的值去选取下一条需要执行的字节码指令。 3. 每条线 ...
分类:
编程语言 时间:
2019-08-23 22:21:15
阅读次数:
112