Wesley13 Wesley13
3年前
java虚拟机(三)
普通对象的创建(不包括数组和class对象):当虚拟机遇到new指令时,会在常量池中检查是否包含这个类的符号引用(全限定名),通过这个确定是否经过类加载的过程,如果true,为该对象分配内存,对象大小在类加载过程就已经确定。如果false,需要进行类加载。分配内存1、分配内存的方式:指针碰撞:如果内存
Karen110 Karen110
4年前
人工智能数学基础7:极限、极限运算、ε-δ语言、ε-N语言、级数和函数连续性
一、极限的定义及四则运算1.极限:某一个函数中的某一个变量,此变量在变大(或者变小)的永远变化的过程中,逐渐向某一个确定的数值A不断地逼近而“永远不能够重合到A”(“永远不能够等于A,但是取等于A‘已经足够取得高精度计算结果)的过程中,此变量的变化,被人为规定为“永远靠近而不停止”、其有一个“不断地极为靠近A点的趋势”。极限是一种“变化状态”的描述。此变
Stella981 Stella981
3年前
Linux系统的头文件和库文件搜索路径
Include的header文件,连结数据库,系统定义,总共有下列来源指定gcc去那找。当初在编译时指定的(在~gcc/gcc/collect2.c:locatelib()写在specs内的后来用DIL指定的gcc环境变量设定(编译的时候)ld.so的环境变量(这是runtime的时候)一、头文件gcc在编译时如何去
Stella981 Stella981
3年前
Smali语法学习三
寄存器与变量Java中的变量都是放在内存中的,安卓为了提高性能,变量都是放在寄存器中的。寄存器为32位,可以支持任何类型。其中long和double这种64为的类型需要两个寄存器保存。寄存器采用v和p来命名,v表示本地寄存器,p表示参数寄存器,关系如下:v0:第一个本地寄存器v1:第二个本地寄存器v2p0(this)v3p
Wesley13 Wesley13
3年前
mysql索引BTree和B+Tree分析
BTree索引!(https://oscimg.oschina.net/oscnet/3329cf028540693bf2307cdc60e8fccc776.jpg)  【初始化介绍】 一颗b树,浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示),如磁盘块1包含数据项17和35
Easter79 Easter79
3年前
Spring中Bean的关闭与资源释放
缘起项目中需要用到kafka,公司的messagequeuesdk中已经封装了kafka的使用,在xml文件中进行配置就可以方便使用。但由于sdk的强依赖的问题,假如kafka链接失败会导致应用无法启动。所以就只能放弃sdk转为操作底层api操作kafka的启动监听以及关闭。在使用的过程遇到了启动空指针以及关闭时TransactionMan
Wesley13 Wesley13
3年前
Java基础之类
一、类的一般形式1、类的概述类就是事物的集合和抽象。它所代表的是这类事物所共有的一些行为和属性。2、类的一般形式中国有13亿人,就有13亿个对象人类只有一个class类名{类型变量名;类型变量名;...类型方法名
Wesley13 Wesley13
3年前
32位CPU最多支持4G内存是怎么算出来的?(解惑篇)
文章目录前言一、对2^32^4BG的疑惑二、聊一下内存1.内存的特性2.内存的基本结构3.内存地址的概念总结前言这两天在研究java指针压缩的原理,在研究过程中就涉及到了cpu寻址相关方面的知识,为了弄明白原理,所以又查了很多资料,在这个过
Wesley13 Wesley13
3年前
Java多线程之线程虚假唤醒
本文目录提纲问题:两个线程对一个初始值为零的变量操作,实现一个线程加一,另一个线程减一,来十次。问题:四个线程对一个初始值为零的变量操作,实现两个线程加一,另外两个线程减一,来十次。1.两个线程对一个初始值为零的变量操作,实现一个线程加一,另一个线程减一,来十次。代码实现:classS
Wesley13 Wesley13
3年前
ByteArrayOutputStream的用法
ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区,然后利用ByteArrayOutputStream和ByteArrayInputStream的实例向数组中写入或读出byte型数据。在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所有的变量收集到一起,然后一次