徐小夕 徐小夕
4年前
《javascript高级程序设计》核心知识总结
此文是对js高级程序设计一书难点的总结,也是笔者在看了3遍之后的一些梳理和感想,希望能借此巩固js的基础和对一些核心概念有更深入的了解。摘要js基本的数据类型和关键点变量,作用域和内存问题垃圾回收机制面向对象的程序设计实现类与继承的经典方式BOM和DOM对象DOM扩展与高级API介绍高级编程技巧跨文档消息传递和aja
秋招面试我去了拼多多,直接被问JVM&GC底层原理和算法,我吊打面试官
(https://shimo.im/docs/9GTP6XrJg9J88cJD/)JVM常用参数设置积累c堆的初始值,默认物理内存的1/64Xms:堆的最大值,默认物理内存的1/4Xmx:年轻代大小「在整个堆内存大小确定的情况下,增大年轻代将会减小年老代,反之亦然。此值关系到JVM垃圾回收,对系统性能影响较大,官方推荐配置为整个堆大小的3/8」X
Wesley13 Wesley13
3年前
java基础知识之JVM
JVM是运行java字节码的虚拟机,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆和一个存储方法域。运行:java源文件编译器字节码文件字节码文件JVM机器码,当一个程序从开始运行,这时虚拟机就开始实例化了,多个程序启动就会存在多个虚拟机实例。程序退出或者关闭,则虚拟机实例消亡,多个虚拟机实例之间数
记住几种出现内存泄漏的点
Android内存优化——常见内存泄露及优化方案如果一个无用对象(不需要再使用的对象)仍然被其他对象持有引用,造成该对象无法被系统回收,以致该对象在堆中所占用的内存单元无法被释放而造成内存空间浪费,这中情况就是内存泄露。在Android开发中,一些不好的编程习惯会导致我们的开发的app存在内存泄露的情况。下面介绍一些在Android开发中常见的内存泄
Stella981 Stella981
3年前
PHPCPP安装以及hello world
  学习了一段时间做PHP扩展开发,由于C的难度较大,内存回收,指针每一个都可以能让初学者望而却步,加上C开发效率太低,小型企业对于这种高大上的开发,还是少触碰为好。但是有时候PHP开发执行效率确实太低,而且存在很大的资源浪费,并且这个又是无法避免的(比如excel),混合开发让项目的迁移和可维护性都降低了。  一次偶然机会发现了PHPCPP,C
Stella981 Stella981
3年前
JVM笔记九
在上一篇文章中,我们通过代码运行结果,查看到JVM的堆内存逻辑上分区是三部分,物理上分区是2部分,以及是新生代分区三部分,占比分布是8/1/1。而且我们还通过代码和堆JVM参数配置,制造出了OOM异常。下面我们就来分析GC回收器的日志信息。先来看看,OOM后,GC详细日志信息:!dd604a3c4cda17304edcc43b03106d58.pn
Wesley13 Wesley13
3年前
C++的这五个普遍的误解,程序员的你知道吗?
1.简介本系列包括3篇文章,我将向大家展示并澄清关于C的五个普遍的误解:1.“要理解C,你必须先学习C”2.“C是一门面向对象的语言”3.“为了软件可靠性,你需要垃圾回收”4.“为了效率,你必须编写底层代码”5.“C只适用于大型、复杂的程序”如果你深信上述误解中的任何一个,或者有同事深信不疑,
Stella981 Stella981
3年前
JVM内存泄漏导致内存溢出(OOM)的场景
一、概念1\.内存泄漏:对象使用完之后,没有按照预期被GC回收,一直留在内存中2\.内存溢出:大量对象一直留在内存中,导致内存不够用(OOM),影响正常的程序运行二、内存泄漏的场景1\.内存中数据量太大,比如一次性从数据库中取出来太多数据2\.静态集合类中对对象的引用,在使用完后未清空(只把对象设为null,而不是从集合中移除),
Stella981 Stella981
3年前
Linux内核内存管理架构
内存管理子系统可能是linux内核中最为复杂的一个子系统,其支持的功能需求众多,如页面映射、页面分配、页面回收、页面交换、冷热页面、紧急页面、页面碎片管理、页面缓存、页面统计等,而且对性能也有很高的要求。本文从内存管理硬件架构、地址空间划分和内存管理软件架构三个方面入手,尝试对内存管理的软硬件架构做一些宏观上的分析总结。内存管理硬件架构
Wesley13 Wesley13
3年前
PHP内核探索:写时复制COW机制
写时复制(CopyonWrite,也缩写为COW),顾名思义,就是在写入时才真正复制一份内存进行修改。COW最早应用在\nix系统中对线程与内存使用的优化,后面广泛的被使用在各种编程语言中,如C的STL等。在PHP内核中,COW也是主要的内存优化手段。在前面关于变量和内存的讨论中,引用计数对变量的销毁与回收中起着至关重要的标识作用。引用计数