一、在Java中,是值传递还是引用传递? 解析:在 Java 语言中,把对象作为参数传递给方法时,方法接收到的是对象内存引用的地址,而不是对象本身,这个引用地址是对象在内存中的位置,它不可能像对象内容那样被改变。所以 Java 语言中没有引用传递,只有值传递。 二、在Java中,会存在内存泄漏吗? ...
分类:
编程语言 时间:
2018-07-30 00:36:35
阅读次数:
158
本文转自 https://www.cnblogs.com/cenyu/p/5713686.html hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False。需要注意的是name要用括号括起来 ge ...
分类:
编程语言 时间:
2018-07-24 20:26:21
阅读次数:
185
下列等式中输出为False的是(B) 这题表面上看上去好像很迷,很容易会误认为A如果是对的那么B就应该是对的,因为格式类似而且都是整型数字,容易误选D,实际上D返回的都是type对象返回结果为True,那么为啥选B呢,我有印象低于一个值的数字是内存固定创建好的,具体值是多少有点记不得了,所以其指向的 ...
分类:
其他好文 时间:
2018-07-24 19:22:26
阅读次数:
135
static 和 final 关键字 对实例变量赋初始值的影响 最近一直在看《深入理解Java虚拟机》,在看完了对象内存分配、Class文件格式之后,想深扒一下实例变量是如何被赋上初始值的这个问题的细节。 在2.3.1小节中讲对象创建的时候,讲到内存分配有两种方式:一种是指针碰撞;另一种是空闲列表。 ...
分类:
其他好文 时间:
2018-07-22 00:16:06
阅读次数:
216
0. 前言 Unsafe类可以为我们提供高效并且线程安全方式操作变量,直接和内存数据打交道。 1. 获取Unsafe实体的方法 该方法可以获取一个对象的属性相对于该对象在内存当中的偏移量,这样我们就可以根据这个偏移量在对象内存当中找到这个属性。 2. 常用方法介绍 2.1 compareAndSwa ...
分类:
编程语言 时间:
2018-07-20 11:34:15
阅读次数:
146
前言 简单的针对JAVA虚拟机(JVM)相关知识做一个总结,从此章开始这是一个系列文章,包括内容有; 1 前端编译,AOT(静态编译),JIT即时编译 2 字节码文件的结构,类加载机制以及运行时内存区域 3 关于对象的创建,内存的分配,访问的定位,判断对象是否可用,内存的回收 4 对象内存分配及垃圾 ...
分类:
其他好文 时间:
2018-07-18 17:19:46
阅读次数:
147
不可变对象(字符串、元组) 1. 首先在内存中创建对象1,并记录对象的引用计数为1次。 查看变量a引用的对象的内存地址 2. 内存中已存在对象1,变量b引用对象1,则对象1的引用计数为2次。 变量b和变量a引用的是同一个对象,内存地址相同。 3. 在内存中创建对象2,变量a不再引用原有对象1(引用次 ...
分类:
编程语言 时间:
2018-07-17 19:54:18
阅读次数:
183
Java虚拟机的内存可以分为三个区域:栈(stack)、堆(heap)、方法区(method area) 方法区也在堆里面。 栈的特点: 1.栈描述的是方法执行的内存模型。每个方法被焦勇都会创建一个栈帧(存储局部变量、操作数、方法出口等) 2.JVM为每个线程创建一个栈,用于存放该线程执行方法的信息 ...
分类:
其他好文 时间:
2018-07-13 17:45:50
阅读次数:
174
12.\7还可以 谈谈你做的那些东西. 数据结构解释下 spring aop是怎么实现的? linux 查看日志的指令 创建对象内存做什么了. 你说说session 的原理吧,再说说session内部的数据结构吧 包括cookie hibernat的nosession异常怎么解决? scoket . ...
分类:
其他好文 时间:
2018-06-28 20:22:48
阅读次数:
191
1、swift对象内存模型; 2、指针操作; 3、协议、泛型、扩展; 4、kvc; 1是所有实现的基础,没有内存对象(类)模型,后面的一切都我从谈起。 在1的基础上使用2进行对象模型信息的提取和转换。 目前我手上没有完备的swift内存对象模型资料。 ...
分类:
Web程序 时间:
2018-06-20 13:00:32
阅读次数:
178