深圳幻海软件技术有限公司 欢迎您!

  • 史上最全Android性能优化方案解析

    Android中的性能优分为以下几个方面:布局优化网络优化安装包优化内存优化卡顿优化启动优化……一.布局优化布局优化的本质就是减少View的层级。常见的布局优化方案如下:在LinearLayout和RelativeLayout都可以完成布局的情况下优先选择LinearLayout,可以减少View的

  • 闭包是如何产生的?你知道吗?

    大家好,我是前端西瓜哥。这次从内存管理的角度来看看,闭包是怎么产生的。我们知道,在调用函数时,其实会产生临时的 调用栈。这些调用栈保存的是 执行上下本,并实际保存在 栈内存 中。每执行一个函数,函数内的局部临时变量会临时保存起来。如果此时函数又调用了另一个函数

  • C语言是怎么写操作系统的

    刚开始学C语言的时候,都感觉它除了在命令行里打印点东西之外,没有其他用处。但是,又不断地听说Linux系统是C语言写的。总之,就是感觉C语言名不符实,心理落差太大。那么,咱就说说C语言是怎么写操作系统的。C语言几乎是写操作系统的唯一语言,就是因为它可以手动管理内存,而又不像汇编的可读性那么差。1.C

  • 如何追踪 JS 对象是否被 GC

    在自带垃圾回收的语言中,开发者往往不需要过多地关注内存管理。但是不代表我们可以完全忽略它。因为语言引擎的垃圾回收是有一定的判断规则的,如果我们的变量所引用的内存没有符合这个规则,那么引擎无无法对这些内存进行自动回收。所以如何追踪变量的内存是否被回收也变得非常重要,尤其在Node.js中。因为Node

  • 我们一起聊聊 Java 内存泄漏

    Java内存泄漏一直Java程序中最常见的问题之一,它会导致内存溢出,最终导致程序崩溃。我们可能对内存泄漏很熟悉,但又不是那么熟悉,真的遇到事故的时候,内存泄漏问题排查起来却也没有那么容易。本篇就再次梳理一下Java内存泄漏的那些事。前言使用Java编写程序时,我们使用new关键字创建对象。而且我们

  • JVM 内存架构和 GC 算法基础

    目的本文讨论了JDK8及更高版本的堆内存和栈内存管理的基本概念。以及GC及其算法的基础知识。内存管理的重要性Java垃圾收集器不能确保堆内存完全空闲,而且对于开发人员来说,不可能强制垃圾收集器在特定时间运行。因此,了解Java中的内存管理是如何工作的对开发程序会很有帮助。了解内存管理有助于编写优化的

  • 面试突击:Volatile 有什么用?

    volatile是Java并发编程的重要组成部分,也是常见的面试题之一,它的主要作用有两个:保证内存的可见性和禁止指令重排序。下面我们具体来看这两个功能。内存可见性说到内存可见性问题就不得不提Java内存模型,Java内存模型(JavaMemoryModel)简称为JMM,主要是用来屏蔽不同硬件和操

  • Redis有哪些慢操作?

    Redis是否变慢了?从业务服务器到Redis服务器这条调用链路中变慢的原因可能有2个业务服务器到Redis服务器之间出现了网络问题,例如网络丢包,延迟比较严重Redis本身的执行出现问题,此时我们就需要排查Redis的问题但是大多数情况下都是Redis服务的问题。但是应该如何衡量Redis变慢了呢

  • 面试官:谈谈你对 Volatile 的理解吧

    前言在之前的文章深入分析Synchronized原理介绍了Synchronized是一种锁的机制,存在阻塞和性能的问题,而volatile是java虚拟机提供的最轻量级的同步机制,volatile主要提供修饰共享变量赋予“可见性”和“有序性”。从简单的Demo引出我们今天的主题--volatile。

  • 线上又OOM,我太难了......

    本文转载自微信公众号「石杉的架构笔记」,作者中华石杉。转载本文请联系石杉的架构笔记公众号。今天给大家分享一个我们之前基于dubbo开发一个线上系统时候遇到的内存泄漏生产问题的排查与优化实践经验。相信对于大家多看一些类似的案例,以后对于大家自己在线上系统遇到各种生产问题的时候,进行排查和优化的思路会有

  • 一行代码搞定Python逐行内存消耗分析

    很多情况下,我们需要对已经写好的Python程序的内存消耗进行优化,但是一段代码在运行过程中的内存消耗是动态变化的,这种时候就可以用到memory_profiler这个第三方库,它可以帮助我们分析记录Python脚本中,执行到每一行时,内存的消耗及波动变化情况。memory_profiler的使用方

  • New 一个对象在堆中的历程

    小伙伴们大家好呀,我是小牛肉~我写文章的流程一般都是先在看书和看博客的过程中做做笔记,然后过一段时间再把这些笔记总结成文章输出出来,这样一来能够加深影响,二来也不至于文章的质量太低。从这篇文章的草稿笔记到现在决定开始成文,其实已经有一个月了,本来觉得趁着寒假可以顺理成章地脱离恶心的深度学习然后好好地

  • 五个常见的JavaScript内存错误

    JavaScript不提供任何内存管理操作。相反,内存由JavaScriptVM通过内存回收过程管理,该过程称为垃圾收集。既然我们不能强制的垃圾回收,那我们怎么知道它能正常工作?我们对它又了解多少呢?脚本执行在此过程中暂停它为不可访问的资源释放内存它是不确定的它不会一次检查整个内存,而是在多个周期中

  • 浅谈 Java 虚拟机内存区

     Java虚拟机运行时数据区运行时数据区划分    运行时数据区包括方法区(MethodArea)虚拟机栈(VMStack)本地方法栈(NativeMethodStack)堆(Heap)程序计算器(ProgramCounterRegister)直接内

  • 9个不为人知的Python技巧

     有很多介绍Python中各种很酷的功能(如变量拆包、偏函数、枚举可迭代对象)的文章,但说到Python时,还有很多东西可以谈论,这里我将尝试展示我所知道和使用的一些特性,我还没有在其他地方看到有人提到过它们。我们开始吧。清理字符串输入对用户输入进行清理的问题几乎适用于您编写的所有程序。通

  • 循序渐进 理解什么是Java内存模型

    近期笔者在阅读《深入理解Java虚拟机:JVM高级特性与最佳实现(第3版)》,书中提到关于Java内存模型的知识点,但是看完之后还是感觉有些模糊,便查阅一些其他相关资料。本文是笔者经过对知识理解和整理后的一个总结,希望能够帮助朋友们对Java内存模型有更加清晰的认识,对于文章内容有其他想法或意见建议

  • 看完这篇还不清楚Netty的内存管理,那我就哭了!

    说明在学习Netty的时候,ByteBuf随处可见,但是如何高效分配ByteBuf还是很复杂的,Netty的池化内存分配这块还是比较难的,很多人学习过,看过但是还是云里雾里的,本篇文章就是主要来讲解:Netty分配池化的堆外内存的细节,期待可以让你明白!!!由于为了更好的表达,文章中的图我最少画了6

  • 开发者抱怨 Linux 在低内存条件下的糟糕性能

     开发者 ArtemSTashkinov在内核开发者邮件列表上抱怨 Linux在低内存条件下的糟糕性能。他称,系统可用内存4GB,禁用SWAP以加速低内存情况的出现,启动浏览器如Chrome/Chromium,打开标签看着内存逐渐减少。当打开一个新标签需要占用比可用内存

  • 灵魂拷问:Java对象的内存分配过程是如何保证线程安全的?

     JVM内存结构,是很重要的知识,相信每一个静心准备过面试的程序员都可以清楚的把堆、栈、方法区等介绍的比较清楚。 上图,是一张在作者根据《Java虚拟机规范(JavaSE8)》中描述的JVM运行时内存区域结构画的。很多人都知道Java对象是在堆内存中分配空间的(JIT优化除外),

  • Java内存泄漏的引入

    Java最显著的优势之一是内存管理。您只需创建对象,Java垃圾收集器负责分配和释放内存。但是,情况没有那么简单,因为Java应用程序中经常发生内存泄漏。本教程说明什么是内存泄漏,为什么会发生内存泄漏,以及如何防止内存泄漏。1.什么是内存泄漏内存泄漏的定义:应用程序不再使用对象,但是垃圾收集器不能删

推荐阅读