![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 68
fpcc
行之苟有恒,久久自芬芳!
展开
-
内存逃逸分析
对内存逃逸进行基本的分析和说明原创 2022-06-29 18:12:05 · 1000 阅读 · 0 评论 -
垃圾回收机制的算法实现——增量式垃圾回收算法
对增量式垃圾回收及其写入屏蔽进行分析说明原创 2022-06-24 10:57:01 · 698 阅读 · 0 评论 -
垃圾回收机制的算法实现——引用计数算法的工程优化
对RC Immix的工程算法进行分析介绍原创 2022-06-22 14:22:51 · 138 阅读 · 0 评论 -
垃圾回收机制的算法实现——分代垃圾回收算法
对GC中的分代方式进行整体的分析和说明原创 2022-06-17 16:07:09 · 682 阅读 · 2 评论 -
垃圾回收机制的算法实现——保守式垃圾回收算法
对保守式GC做一个基本面的分析原创 2022-06-14 15:03:53 · 258 阅读 · 0 评论 -
垃圾回收机制的算法实现——复制算法
一、复制算法在上面提到的标记清除算法中,遇到了一个典型的问题,那就是内存碎片的问题。整理内存碎片是一个漫长的不断的搜索的过程。那么有没有一种算法可以解决这个问题呢?这就引出了GC复制算法。这种算法是把整个空间分成From和To相等的两部分,当From部分达到GC阈值时,就将From部分活动内存对象全部复制到To部分。复制完成后,From和To的身份互换。这个想法有点奇特,不过却挺管用。很明显,这个全拷贝需要一个递归的搜索函数。当然这个问题可以用迭代来搞定。二、优缺点GC复制算法的优点:1、首先就解原创 2022-05-31 07:26:30 · 902 阅读 · 0 评论 -
垃圾回收机制的算法实现——标记压缩算法
一、标记压缩算法标记压缩算法(Mark Compact),其实就是标记清除和复制算法搞到一块来做更优的实现。它主要分成两个阶段,第一个阶段和标记删除算法一样,进行遍历,标记内存对象的活动状态;第二个阶段是要对整个堆内存进行搜索并将内存活动对象进行压缩填充。这里需要说明的是,压缩不是将数据或者内存本身压缩,是从整体上看,将内存中的空洞压缩,也就是说,象复制算法一样,不断的把活动内存复制到近似连续的内存空间中去,保证被使用的内存,尽量有空洞存在。当然,这是一种理想状态。二、优缺点标记压缩算法的优点这就很原创 2022-05-31 07:25:04 · 1318 阅读 · 0 评论 -
垃圾回收机制的算法实现——标记删除算法
一、标记删除算法标记删除算法算是垃圾回收里非常成熟的一种算法。它不但应用时间长,而且还衍生了不少的相关算法,说它是垃圾回收里的老大哥,一点儿也不为过。标记删除算法一般分为两个阶段,即算法标记阶段和删除阶段。标记阶段意味着把所有的有应用的和待定的内存对象标记上特定的标记;而删除阶段则把所有没有标记的内存对象全部回收。说起来容易,但实现起来,却有各种各样的问题,这也是标记删除算法有很多衍生版本的原因。举一个例子,在搜索标记对象时,是广度优先还是深度优先还是两者结合还是有更好的方法?还是在不同的场景下使用不同原创 2022-05-30 09:11:41 · 426 阅读 · 0 评论 -
垃圾回收机制的算法实现——引用计数算法
一、引用计数器在分析引用计数算法前,必须先引入引用计数器这个概念。引用计数器,其实就是对资源(GC主要是指内存中的对象或者说内存单元)的使用数量进行计算,也就是说对引用数量进行计算。如果这个计数器大于0说明这个内存对象正在被使用,反之,这块内存就可以释放回收了。二、优缺点引用计数算法的优点主要有如下几点:1、速度快,可以随时发现不可用内存进行处理。2、最大暂停时间短,这其实和垃圾数量即来即走有关系。3、不需要进行遍历搜索。但它也有不少的缺点:1、计数器本身占用空间。2、在数量多增减频繁的情原创 2022-05-12 12:26:38 · 353 阅读 · 0 评论 -
垃圾回收机制的算法实现——主要算法介绍
一、主要算法及分类垃圾回收在前面提到其中重要的一环就是相关算法的实现。算法的优劣和适应性,体现了其应用的广度和深度。垃圾回收的概念提出很早,而最近这些年来,随着一些新兴语言的出现,GC的算法不断推陈出新。在各自的应用范围内大显身手。不过到目前为止,GC算法仍然存在着各种各样的问题,很难在宽范围的领域内适用。或者这样说,一个算法,要想兼顾所有的问题解决需求,是不可能的,至少现在是不可能的,只能寻求一个尽量公平适用的范围。GC目前主要的算法主要有以下几类:1、引用计数器2、标记处理类3、增量处理类原创 2022-05-11 12:16:31 · 196 阅读 · 0 评论 -
垃圾回收机制的算法实现——基本原理
一、垃圾回收垃圾回收,指的是可回收的内存的回收。理论上讲,可回收的内存应该尽快回收。在软件运行过程中,经常会申请分配内存,用完后,就会把内存释放。在一些语言上如C/C++这类语言上,需要手动进行内存的释放,它既带来了高效率但也引进了不安全。在后面的一些新兴语言如Java、Go等语言中,引入了GC,即垃圾回收机制。GC会通过算法通过一系列的手段把应用程序不再使用的内存自动回收。二、主要原理垃圾回收的原理比较清晰,一般来说,计算机的内存主要是指堆和栈。诸如几级缓存、寄存器等等此类存储一般很小,不在此讨论范原创 2022-05-09 13:14:13 · 2494 阅读 · 0 评论 -
微服务之一springBoot简单入门
springBoot之一简单入门SSM和SSH用着虽然顺手,但是配置确实太麻烦了,有一点点的配置不正确,程序就报莫名的错误,实在是让人难受。不过有了SpringBoot这方面大有改观。(只是改观,JAVA中的配置系列复杂而多变且不统一,这是其饱受诟病的主要原因之一)从整体上把springboot把握一下,为以后深入理解Clound和mesh打一个良好的基础。这里还是用Idea这个开发工具,书上有讲...原创 2018-06-18 12:26:44 · 405 阅读 · 0 评论 -
Intellij Idea创建控制台及MAVEN控制台
Intellij Idea创建控制台及MAVEN控制台 Intellij Idea这个工具现在大家都用得比较多了,强大是他的一方面,不过仁者见仁,智者见智,咱们在这里不讨论它的优劣。一般来说,用JAVA开发程序,以WEB和安卓居多,但安卓有自己专门的开发工具AndroidStudio所以这里一般来说用它来开发WEB还是居多的。当然,有的同学说他还可以开发PYTHON,开发这个,开发那个原创 2017-08-08 15:03:30 · 17497 阅读 · 0 评论 -
springmvc中直接在Resposboday中处理数据的异常解决方法
前面提到过在把数据库的数据转成JSON回传到应用界面时产生的中文乱码和特殊字符的处理方法,这里在从安卓的客户端上传JSON数据到服务端时,也发现了一些异常情况。首先,在传送JSON到数据库时,服务端是这么做的:@RequestMapping("/setIrisData/{data}")public ResponseEntity setIrisData(@PathVariable Str原创 2017-05-15 15:42:33 · 1180 阅读 · 0 评论 -
springmvc中对中文乱码等的处理
做了一个很简单的安卓手机和后台服务的通信小系统,一直测试是有中文乱码的,但是觉得也有可能是前台的显示字符编码的原因,所以一直没有当回事儿。开始联调后,发现了一个问题,虽然在WEB页面上显示是乱码,但是在Android手机里获得的却是正常的。不过却多了一对双引号,即是如下情形: {"address":"鍦�","age":17,"cardid":"123","name":"jack","s原创 2017-05-03 18:02:57 · 1060 阅读 · 0 评论