希望的天 希望的天
4年前
synchronized锁升级过程
1.前置知识:    1.1JAVA对象的内存布局      hotspot虚拟机中,普通对象在堆中的存储可以划分成三部分:对象头(包含了MarkWord和类型指针)、实例例数据和padding。JAVA对象的内存布局MarkWord的长度为4byte/8byte,用于存储对象自身的运行时数据
Wesley13 Wesley13
3年前
java内存结构笔记
此篇仅作笔记,详情参考:https://my.oschina.net/uwith/blog/3110227(https://my.oschina.net/uwith/blog/3110227)栈帧内部的结构:局部变量表、操作数栈(比如我们去赋值或者计算都会操作操作数栈)、动态链接、返回链接。jvm为对象开辟空间的两种方式:1、指针碰撞:如果
Wesley13 Wesley13
3年前
Java8 HashMap详解
Java8HashMapJava8对HashMap进行了一些修改,最大的不同就是利用了红黑树,所以其由数组链表红黑树组成。根据Java7HashMap的介绍,我们知道,查找的时候,根据hash值我们能够快速定位到数组的具体下标,但是之后的话,需要顺着链表一个个比较下去才能找到我们需要的,时间复杂度取决于链表的
Stella981 Stella981
3年前
Python —— 你必须要注意的事........
首先来一段热热身:encodingutf8a  1b  aa  0print a,b结果是什么?对,没错!就是0,1!好的,现在开始转化思想了:    第一步:在面向对象编程中,你要将A想成一个写入到内存的地址“0”这个地址指针,而“0”这个内存地址存放着数字
Wesley13 Wesley13
3年前
MongoDB学习系列11:MongoDB中的修改器
使用修改器时,"\_id"的值不能改变,而整个文档在替换时是可以改变"\_id"的。$set用来修改一个键的值。$unset用来删除一个键。$inc用来增加已有键的值,或者在键不存在时创建一个键。只能用于整数、长整数、或者双精度浮点数。$push往数组里添加东西,$pop从数组中删除元素。{$pop:{key:1}}从数据末
Stella981 Stella981
3年前
OpenCV常用库函数[典]
_一、core_ 模块1、Mat基本图像容器     Mat 是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同矩阵可以是不同的维数)的指针。        创建Mat对象方法:1.1Mat()构造函数:
Wesley13 Wesley13
3年前
PHP心得
1,花括号“{}”可以像“\\”操作数组一样操作字符串,来获得指定位置的字符。2,PHP标签“<?php?”在独立PHP脚本内可以不写结束标签,这是为了避免意外的空格导致输出而报错。可以用注释来标明脚本结束。3,echo是语法结构,不是函数。后面跟多个字符串时用逗号“,”效率更好。4,数组中,1、'1'、true为
Wesley13 Wesley13
3年前
Java 获取资源文件路径
1问题描述通过源码运行时,一般使用如下方式读取资源文件:Stringstr"1.jpg";资源文件与源码文件放在同一目录下,或者拥有同一父级目录:Stringstr"a/b/1.jpg";这样直接编译运行没有问题,但是打成JAR包后会读取不了,直接抛空指针异常。2解
Wesley13 Wesley13
3年前
Java排序算法之选择排序
1\.基本思想选择排序(selectsorting)的基本思想是:1)对于一个大小为n的数组,选择排序共执行n1轮排序2)每轮排序寻找到该轮最小的数放到开始位置上:先假定当前这个数是最小数然后和后面的每个数进行比较,如果发现有比当前数更小的数,就重新确定最小数,得到下标当遍历到数组的最
郑文 郑文
1年前
体系课-新互联网人必学-产品经理课|价值1888元|重磅首发|完结
体系课新互联网人必学产品经理课|价值1888元|重磅首发|完结download》itzcw.com/9354/一、什么是产品经理课产品经理课通常是指针对想要从事产品经理职业或者已经从事产品经理工作的人士所设计的培训课程或培训项目。这些课程旨在帮助学员掌握产