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

  • 堆内存:Java程序中的“宝藏”,你知道它藏了什么吗?

    大家好,我是小米,一个热爱技术分享的程序员。今天我想和大家一起聊一聊Java堆内存的划分以及回收算法。什么是堆内存含义:是Java虚拟机管理的一块内存区域,用来存放对象实例。Java中所有的对象实例都在堆内存中进行分配和回收。价值:堆内存可以动态地分配内存空间,为程序提供了灵活的数据存储方式。同时,

  • C语言【动态内存管理 前篇】

    动态内存管理前篇🫅1.为什么存在动态内存管理🫅2.动态内存函数🤦‍♂️(1)空指针🤦‍♂️(2)malloc🤦‍♂️(3)calloc🤦‍♂️(4)realloc🤦‍♂️(5)free🫅3.常见的动态内存错误🤦‍♂️(1)对NULL指针的解引用操作🤦‍♂️(2)对动态开辟空间的越

  • Java 并发编程解析 | 如何正确理解Java对象创建过程,我们主要需要注意些什么问题?

    苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头从接触Java开发到现在,大家对Java最直观的印象是什么呢?是它宣传的“Writeonce,runanywhere”,还是目前看已经有些过于形式主义的语法呢?有没有静下心来仔细想过,对于Java到底了解到什么

  • 同样是4GB内存,为什么iPhone能流畅用5年,而安卓却不行?

    回看笔者身边的一些朋友,直到2021年还有不少人在使用iPhone7、iPhone8、iPhoneX这些机型,要知道这三款机型的内存可是只有2GB、3GB啊,就算是前年发布的iPhone11,内存也不过才4GB,但是安卓市场还在坚持使用4GB内存的手机只有百元机了。  1、苹果手

  • 高质量嵌入式软件的开发技巧

    一、剑宗气宗之争《笑傲江湖》中华山派的剑宗和气宗之争,可谓异常激烈。那么问题就来了,既然有剑宗气宗之争,到底应该先练剑,还是先练气呢?引申到软件开发行业有没剑气之争呢?二、文件结构1、C程序通常分为两类文件,一种是程序的声明称为头文件,以“.h”为后缀,另一种是程序的实现,以“.c”为后缀,一般每个

  • 去京东面试问我JVM堆外内存是什么,我直接麻了,赶紧复习

    ​今天给大家聊一个很有意思的知识,就是off-heap堆外内存,平时出去面试,或者研究一些技术的时候,经常可能会遇到off-heap堆外内存这个东西,但是很多人可能还不知道off-heap堆外内存到底是什么,所以今天就给大家来深入的分析一下。on-heap堆内内存是什么?要说这个off-heap堆外

  • C语言与操作系统的内存布局

    ​C语言之所以适合写操作系统,就在于它的内存布局简单:1,所有的全局变量都被常量初始化,2,不需要运行时的状态,3,也不需要在main()函数之前运行额外的初始化代码。操作系统的初始化是很复杂的。在C语言写成的内核main()函数运行之前,操作系统要运行一段很复杂的汇编代码,以完成内核的内存初始化。

  • 四种对象引用之间的区别是什么?你知道吗?

    一位工作4年的小伙伴面试被问到这样一道题,说Java中,4种对象引用之间的区别是什么?这道面试题问得比较偏门,更多应用在一些底层类库或者是框架中,涉及到的知识点包括JVM、GC等,一般人确实很少关注。Java中的4种引用类型主要是指强、软、弱、虚,它们主要是体现对象不同的可达性状态和对GC的影响。下

  • Java并发编程吐血1个月总结最全面的100道面试题

    目录一、大部分人对Java并发仍停留在理论阶段二、中间件系统的内核机制:双缓冲机制三、百万并发的技术挑战四、内存数据写入的锁机制以及串行化问题五、片机制+分段加锁机制六、缓冲区写满时的双缓冲交换七、且慢!刷写磁盘不是会导致锁持有时间过长吗?八、内存+磁盘并行写机制九、为什么必须要用双缓冲机制?十、总

  • 一次性聊透JVM架构设计,就算八股文也得会

    有位小伙伴在我的粉丝群里面问我一个面试题,说面试被问对JVM的理解,不知道怎么回答,今天咱们来聊透,就算是八股文你也得会。另外,往期面试题解析中配套的文档我已经准备好,想获得的可以在我的煮叶简介中找到。先来看什么是JVM?1、什么是JVMJVM(JavaVirtualMachine)其实是一套标准。

  • JVM 从入门到放弃之 Java 对象创建过程

    架构对象的创建Java是一门面向对象的编程语言,创建对象通常只是通过new关键字创建。对象创建过程当虚拟机遇到一个字节码new指令的时候,首先去检查这个指令的参数是否能够在常量池中定位到一个类的符号引用。并且检查这个符号引用代表的类是否被虚拟机类加载器加载。如果没有,必须先执行类加载的流程。在类的检

  • 生产环境 Go 程序内存泄露,用 Pprof 如何快速定位

    内存泄漏可以在整个系统中以多种形式出现,除了在写代码上的疏忽,忘了关闭该关闭的资源外,更多的时候导致系统发生内存泄露原因可能是设计上决策不对、或者业务逻辑上的疏忽没有考虑到一些边界条件。比如查数据库时,有个查询条件在一定情况下应用不到,导致程序被迫持有一个超大的结果集,这样持续一段时间,执行相同任务

  • 浅析五种C语言内存分配的方法及区别

     在C语言中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般

  • NFV关键技术:计算虚拟化之内存虚拟化

    Labs导读大型操作系统(比如Linux)的内存管理的内容是很丰富的,而内存的虚拟化技术在OS内存管理的基础上又叠加了一层复杂性,需要对虚拟内存再进行虚拟化。本文将从“概述”、“软硬件解决方案”和“内存管理”四个方面探讨内存虚拟化技术。1、内存虚拟化概述所谓的内存虚拟化,即如何在多个虚拟机之间共享物

  • 新手必会的9个Python技巧!

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

  • Python循环12种超强写法,又快又省内存

    0前言说到处理循环,我们习惯使用for,while等,比如依次打印每个列表中的字符:在打印内容字节数较小时,全部载入内存后,再打印,没有问题。可是,如果现在有成千上百万条车辆行驶轨迹,叫你分析出其中每个客户的出行规律,堵车情况等,假如是在单机上处理这件事。你可能首先要面临,也可能被你忽视,最后代码都

  • 硬件内存模型到 Java 内存模型,这些硬核知识你知多少?

     Java内存模型跟上一篇JVM内存结构很像,我经常会把他们搞混,但其实它们不是一回事,而且相差还很大的,希望你没它们搞混,特别是在面试的时候,搞混了的话就会答非所问,影响你的面试成绩,当然也许你碰到了半吊子面试官,那就要恭喜你了。Java内存模型比JVM内存结构复杂很多,Java内存模型

  • 如何通过wrap malloc定位C/C++程序的内存泄漏

    用C/C++开发的程序执行效率很高,但却经常受到内存泄漏的困扰。本文提供一种通过wrapmalloc查找memoryleak的思路。什么是内存泄漏?动态申请的内存丢失引用,造成没有办法回收它(我知道杠jing要说进程退出前系统会统一回收),这便是内存泄漏。Java等编程语言会自动管理内存回收,而C/

  • 深入理解Java的Volatile关键字

     前言在Java并发编程中,volatile关键字有着至关重要的作用,在面试中也常常会是必备的一个问题。本文将会介绍volatile关键字的作用以及其实现原理。volatile作用volatile在并发编程中扮演着重要的角色,volatile是轻量级的synchronized,volati

  • Java必备主流技术流程图,写得非常好!

     1.spring的生命周期Spring作为当前Java最流行、最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必要; 首先容器启动后,对bean进行初始化按照bean的定义,注入属性检测该对象是否实现了xxxAware接口,并将相关的xxxAware实例注入给bea

推荐阅读