Wesley13 Wesley13
3年前
java虚拟机(三)
普通对象的创建(不包括数组和class对象):当虚拟机遇到new指令时,会在常量池中检查是否包含这个类的符号引用(全限定名),通过这个确定是否经过类加载的过程,如果true,为该对象分配内存,对象大小在类加载过程就已经确定。如果false,需要进行类加载。分配内存1、分配内存的方式:指针碰撞:如果内存
九路 九路
3年前
指针——《狂人C》观点
9.1指针是什么9.1.1指针是一类数据类型的统称对于C语言来说,计算机的内存由连续的字节(byte)构成。这些连续的字节同样被连续地编上了号码以相互区别,这个号码就是所谓的地址(Address),如图91所示。image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs
Wesley13 Wesley13
3年前
C++基类的析构函数定义为虚函数的原因
1:每个析构函数只会清理自己的成员(成员函数前没有virtual)。2:可能是基类的指针指向派生类的对象,当析构一个指向派生类的成员的基类指针,这时程序不知道这么办,可能会造成内存的泄露,因此此时基类的析构函数要定义为虚函数;基类指针可以指向派生类的对象(多态),如果删除该指针delete\\p,就会调用该指针指向的派生类的析构函数,而派生类
Stella981 Stella981
3年前
HashMap的实现原理
HashMap概述HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap的数据结构在Java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数
Wesley13 Wesley13
3年前
Java日常开发的21个坑,你踩过几个?
前言最近看了极客时间的《Java业务开发常见错误100例》,再结合平时踩的一些代码坑,写写总结,希望对大家有帮助,感谢阅读~1\.六类典型空指针问题包装类型的空指针问题级联调用的空指针问题Equals方法左边的空指针问题ConcurrentHashMap这样的
Wesley13 Wesley13
3年前
Go语言方法的 值接受者 和 指针接受者 的区别
首先说下结论1\.无论方法的接受者是值接受者还是指针接受者,对象值调用该方法和对象指针调用该方法都是可行的。2\.当方法接受者为指针接受者时,对象的值调用该方法和指针调用该方法都会操作对象本身。3\.当方法接受者为值接受者时,对象的值调用该方法和指针调用该方法都会操作对象的副本,对对象本身无影响。pack
Wesley13 Wesley13
3年前
C语言指针总结
起源想学一下UNIX系统编程,所以把C重学一遍,C中指针关联甚多,是重点也是难点。下面是自己做的一个总结,希望对你有所帮助!一、何为指针1、C的特殊性C是一门很特殊的语言,特殊的地方在于它可能对计算机是友好的,对程序员并不太友好。常识上来说,我们是不需要知道一个变量在内存中的实际地址的,对于我们实现业
Stella981 Stella981
3年前
Golang教程:指针
什么是指针指针是存储一个变量的内存地址的变量。  !(https://oscimg.oschina.net/oscnet/70c3337580dba5f227a4b71b2f73d6ba527.png)在上图中,变量 b 的值是 156,存储在地址为 0x1040a124 的内存中。变量 a 存储了变量 b 的
Wesley13 Wesley13
3年前
C语言之指针
  学过编程语言的童鞋们都知道指针是C语言的精髓,学好了指针就等于学好了C语言,它能够直接对物理地址进行访问,具有双重功能,是嵌入式设计中必不可少的一门语言。C语言功能强大的主要原因就是具有指针结构。指针是一种特殊的数据类型,直接指向目标的存储地址,实现直接访问对象存储空间功能。指针到底是什么    计算机的内存被划分为多个存储单
菜园前端 菜园前端
1年前
什么是链表?
原文链接:什么是链表?链表是有序的数据结构,链表中的每个部分称为节点。可以首、尾、中间进行数据存取,链表的元素在内存中不必是连续的空间,每个节点通过next指针指向下一个节点。优点链表的添加和删除不会导致其余元素位移。缺点无法根据索引快速定位元素。数组和链