希望的天 希望的天
4年前
synchronized锁升级过程
1.前置知识:    1.1JAVA对象的内存布局      hotspot虚拟机中,普通对象在堆中的存储可以划分成三部分:对象头(包含了MarkWord和类型指针)、实例例数据和padding。JAVA对象的内存布局MarkWord的长度为4byte/8byte,用于存储对象自身的运行时数据
Wesley13 Wesley13
3年前
java list map转换成二维数组
/@Title:ListToArray@Description:list列表转换成二维数组@Author:Administrator@Since:2018年1月7日下午2:01:25@param:@pa
桃浪十七丶 桃浪十七丶
4年前
写个单链表,VS里面可以运行的代码,VScode居然不能运行?指针原因?
一、出现的问题事情是这样的,当时很着急,写个单链表出来,在VS里面写过一次,在VScode里面也写过一次,老师写的代码有一些罗嗦,于是我思考用自己的的代码风格来写一遍。啪的一下,很快啊!问题出现了!VS里面可以运行的代码,到了VSocde里就不能运行了!这是为什么!cpp这是List.cpp中相关代码boolList::insertByTail(Node
Wesley13 Wesley13
3年前
java内存结构笔记
此篇仅作笔记,详情参考:https://my.oschina.net/uwith/blog/3110227(https://my.oschina.net/uwith/blog/3110227)栈帧内部的结构:局部变量表、操作数栈(比如我们去赋值或者计算都会操作操作数栈)、动态链接、返回链接。jvm为对象开辟空间的两种方式:1、指针碰撞:如果
Stella981 Stella981
3年前
Python —— 你必须要注意的事........
首先来一段热热身:encodingutf8a  1b  aa  0print a,b结果是什么?对,没错!就是0,1!好的,现在开始转化思想了:    第一步:在面向对象编程中,你要将A想成一个写入到内存的地址“0”这个地址指针,而“0”这个内存地址存放着数字
Wesley13 Wesley13
3年前
Java中常见数据结构:List与Map
1:集合Collection(单列集合)List(有序,可重复)ArrayList底层数据结构是数组,查询快,增删慢线程不安全,效率高Vector底层数据结构是数组,查询快,增删慢线程安全,效率低LinkedList底层数据结构是链表,查询慢,增删快线程不安全,效率高Set(无序,唯一)HashSet底层数据结构是哈希表(实际上是
Stella981 Stella981
3年前
OpenCV常用库函数[典]
_一、core_ 模块1、Mat基本图像容器     Mat 是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同矩阵可以是不同的维数)的指针。        创建Mat对象方法:1.1Mat()构造函数:
Stella981 Stella981
3年前
C++中Lambada表达式种隐式捕获this指针的隐患问题
include<iostreaminclude<functionalusingnamespacestd;classDispatcher{private:std::function<void()callback_;public:void
Wesley13 Wesley13
3年前
10 HashSet HashMap源码 Properties
2HashSet底层是使用HashMap实现的。当使用add方法将对象添加到Set当中时,实际上是将该对象作为底层所维护的Map对象的key,而value则都是同一个Object对象(该对象我们用不上);3\.HashMap底层维护一个Node数组,我们向HashMap中所放置的对象实际上是存储在该数组当中;HashMap中的Pu
Wesley13 Wesley13
3年前
Java 获取资源文件路径
1问题描述通过源码运行时,一般使用如下方式读取资源文件:Stringstr"1.jpg";资源文件与源码文件放在同一目录下,或者拥有同一父级目录:Stringstr"a/b/1.jpg";这样直接编译运行没有问题,但是打成JAR包后会读取不了,直接抛空指针异常。2解