java可以自动进行垃圾收集,c++需要手动释放内存,这个功能将程序员解放出来,能将更多的注意力放在需要实现的业务上,这也是java相对c++的一个巨大优势,jvm有哪些垃圾收集算法呢?标记清除算法:算法分为标记和清除两个阶段,首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象从图中可以看出这种算法的缺点在于,垃圾被回收以后造成了大量不连续的内存碎片。碎片太多可能会导致以后需要分配
分类:
编程语言 时间:
2020-01-23 11:01:41
阅读次数:
85
文件介绍 文件是数据存放的容器 文件的作用:持久性的存储数据内容 文件组成: 文件名 拓展名(有时候没有使用) 一般不同的扩展名,对应着不同的存储格式 文件内容 文本文件 二进制文件 打开文件 打开: 文件:指定文件路径 模式:控制操作模式 返回一个文件对象 关闭文件 :可以释放相关的系统资源,会立 ...
分类:
编程语言 时间:
2020-01-22 18:27:31
阅读次数:
81
关于 pool 的由来可以参考:github issues文章sync.Pool 的作用及为什么要用到它Rob Pike 扩展了sync.pool 类型的文档,并且将其目的描述得更清楚:Pool设计用意是在全局变量里维护的释放链表,尤其是被多个 goroutine 同时访问的全局变量。使用Pool代... ...
分类:
其他好文 时间:
2020-01-21 23:16:58
阅读次数:
90
以下文章来源于花椒技术 ,作者花椒服务端 前言 内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。 Java是由C++发展来的,抛弃了C++中一些繁琐容易出错的东西,程序员忘记或者错误的内存 ...
分类:
其他好文 时间:
2020-01-21 18:28:41
阅读次数:
103
死锁,就是当两个以上的任务,双方都在等待对方完成释放资源,但是没有一方提前退出时,就称之为死锁。 哲学家吃饭问题 假设有3名哲学家在圆桌上准备吃面条,现在,只有3根筷子(不是三双),只有同时拥有2根(一双)筷子的哲学家才能吃,另外的人需要等待他吃完释放筷子。这里面: 资源: 指的就是筷子 任务: 每 ...
分类:
编程语言 时间:
2020-01-21 18:11:48
阅读次数:
72
安装与配置 1.使用Xshell上传kafka压缩包到linux 2.使用 tar -vxzf 进行解压 3.进入 kafka config 下的 server.properties 进行配置 borker.id=1 kafka服务器节点设置id为1 释放注释 listeners 监听 listen ...
分类:
系统相关 时间:
2020-01-21 15:53:56
阅读次数:
117
# 百度搜索:python面试不得不知道的点——GIL# 摘自:https://blog.csdn.net/weixin_41594007/article/details/79485847 # 多线程并不会充分调用两个CPU# 多进程则是会完全调用两个CPU# GIL全局解释器锁(global in ...
分类:
编程语言 时间:
2020-01-21 00:45:58
阅读次数:
128
堆结构分代图 堆结构分代的意义 Java虚拟机根据对象存活的周期不同,把堆内存划分为几块,一般分为新生代、老年代和永久代(对HotSpot虚拟机而言),这就是JVM的内存分代策略。 堆内存是虚拟机管理的内存中最大的一块,也是垃圾回收最频繁的一块区域,我们程序所有的对象实例都存放在堆内存中。给堆内存分 ...
分类:
其他好文 时间:
2020-01-20 14:48:57
阅读次数:
78
一、Docker 1、清理垃圾 # 清理 docker 垃圾数据,释放空间 docker system prune# 清理 docker 镜像docker image prune -a -f --filter "until=24h" 2、查看容器 IP docker inspect <contain ...
分类:
其他好文 时间:
2020-01-20 11:20:22
阅读次数:
107
使用cefsharp在winform中嵌套浏览器 "简单使用cefsharp在winform中嵌套浏览器" 在上一节,我们学习了如何简单地在winform中嵌入chromium浏览器,我在使用这个开发项目时,需要点击一个按钮,弹出嵌入浏览器的窗体,出现一个问题,就是第一次点击按钮可以正常打开浏览器, ...