自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jiangbinbin的博客

风起于青萍之末!

  • 博客(107)
  • 收藏
  • 关注

转载 空间的栈式分配

摘要:有些语言使用过程、函数或方法作为用户自定义的单元,几乎所有针对这些语言的编译器都把他们的(至少一部分)运行时刻存储按照一个栈进行管理,每当一个过程被调用时,用于存放该过程的局部变量的空间被压入栈,当这个过程结束时,该空间被弹出这个栈,这些安排不仅允许活跃时段不交叠的多个过程调用之间共享空间,而且允许我们以以下方式为一个过程编译代码:它的局部变量的相对地址总是固定的,和过程调用的序列无关。1.活动树(过程调用的嵌套模型)例子:快排伪代码如下:在活动树和程序行为之间存在下列多种有用的对应关系,

2020-05-14 10:45:54 525

转载 Java NIO分析: 零拷贝技术以及NIO的支持

Java NIO分析(11): 零拷贝技术以及NIO的支持2018-07-24JAVANIO LINUX前面已经讲了Selector,SocketChannel和DirectBuffer, 这些是NIO网络编程中最核心的组件接下来我们会再讲几点非核心的优化(不代表不重要, 只是API不占NIO设计的大头):文件传输(File Transfer): 文件内容直接发送到网卡...

2020-04-15 15:40:45 683

转载 触发器

转发:https://drivingc.com/p/5d6a5100a02ad965d3594912R-S触发器下图是含有两个或非门、两个开关和一个灯泡的电路:正在上传…重新上传取消一开始,只有左边或非门的输出有电流,因为它的两个输入均为0。现在闭合上面的开关,左边或非门的输出变为0,于是右边或非门的输出变为1,灯泡点亮:正在上传…重新上传取消神奇之处在于当你断开上面的开关...

2020-03-17 14:03:35 1444

转载 转发-晶体管

晶体管的工作原理晶体管,本名:半导体三极管(三极分别为发射极、基极和集电极;其中,发射极的电流最大,基极的电流最小,发射极的电流等于基极与集电极的电流之和)。对于晶体管,我们其实并不陌生,放大器就是晶体管的一个基础应用。要想理解晶体管的工作原理,就必须先要理解二极管的工作原理。二极管由半导体材料制作而成,下面就以半导体材料硅为例来对此做介绍。硅的价电子层有四个电子(原子由原子核和核外电子组...

2020-03-11 10:13:42 323

原创 一次sql分析

2019-12-06 09:42:22 160

转载 mysql explain各参数解析

转:https://www.cnblogs.com/xuanzhi201111/p/4175635.html  在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以...

2019-12-06 09:40:52 196

转载 8080写多线程

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/gyx2545965/article/details/2047404;定义了两个宏!!TIMEOFF macroin al,21hand al,0fehor al,01out 2...

2019-11-08 13:53:32 215

转载 springmvc的工作机制

springmvc的工作机制  在容器初始化时会建立所有url和controller的对应关系,保存到Map<url,controller>中.tomcat启动时会通知spring初始化容器(加载bean的定义信息和初始化所有单例bean),然后springmvc会遍历容器中的bean,获取每一个controller中的所有方法访问的url,然后将url和controller保存到...

2019-11-01 09:34:17 440

转载 Jmeter压测

在做JMeter压力测试中,有一次,当把线程调整到2000个之后,运行JMeter后,出现如下的错误信息: java.net.BindException: Address already in use: connect address already in used到底是什么状况导致这个错误呢? 最初的猜想是线程调得太高了。但是具体要如何进行解决确实一点头绪也...

2019-10-31 11:37:35 306

原创 递归执行顺序图解

2019-10-24 10:03:02 1074

转载 java方法调用

java方法的调用过程2018-07-14 20:53:02qq_35495763阅读数 1932更多分类专栏:java我们知道,class 文件时 JVM能够识别的二进制文件,其中通过特定的结构描述了每个方法的定义。1.前提 2.java方法的执行 3.机器指令的格式 4.机器指令的执行模式—基于操作数栈的模式 三种语言存在的关系1.前提JVM在编...

2019-10-23 11:01:09 751

转载 pinpoing配置-测试环境搭建

转发:https://bbs.csdn.net/topics/392514453下图是根据上面博客安装时候遇到的一些问题记录:

2019-10-08 08:27:38 177

转载 转:为什么说Java中只有值传递

关于java的值传递和引用传递: 转发自:https://blog.csdn.net/bjweimengshu/article/details/79799485?tdsourcetag=s_pctim_aiomsg本文转载自公众号 Hollis对于初学者来说,要想把这个问题回答正确,是比较难的。在第二天整理答案的时候,我发现我竟然无法通过简单的语言把这个事情描述的很容...

2019-08-19 19:55:12 171

转载 Linux安装sz和rz

转发:https://www.cnblogs.com/wangyuelang0526/p/5057154.htmlLinux系统下安装rz/sz命令及使用说明对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令。今天,我们就简单的讲解一下...

2019-08-12 15:51:25 2247

转载 java的cas原理分析

转发:https://blog.csdn.net/Hsuxu/article/details/9467651看了一堆文章,终于把JAVA CAS的原理深入分析清楚了。感谢GOOGLE强大的搜索,借此挖苦下百度,依靠百度什么都学习不到!参考文档:http://www.blogjava.net/xylz/archive/2010/07/04/325206.htmlhttp:/...

2019-06-24 14:47:10 276

转载 内存顺序

转发:https://yq.aliyun.com/articles/649307?utm_content=m_1000018012这篇文章主要介绍内存顺序(Memory Order),然后会结合 RocksDB | LevelDB 中的 SkipList 源码来具体分析 RocksDB SkipList 如何通过内存顺序和原子操作做到无锁并发(一写多读)。Memory Order...

2019-06-24 14:45:51 471

转载 总线锁LOCK和缓存一致性协议

转发:https://blog.csdn.net/qq_35642036/article/details/82801708 随着多核时代的到来,并发操作已经成了很正常的现象,操作系统必须要有一些机制和原语,以保证某些基本操作的原子性,比如处理器需要保证读一个字节或写一个字节是原子的,那么它是如何实现的呢?有两种机制:总线锁定和缓存一致性。我们知道,CPU和物理内存之间的通...

2019-05-27 16:41:04 3733

原创 关于临界区,信号量的解释

2019-05-27 13:43:19 574

原创 InnoDB结构

2019-05-27 13:40:11 273

转载 数据库索引B树、B+树、Hash索引

转发:https://uule.iteye.com/blog/2429508数据库索引B树、B+树、Hash索引博客分类: 数据库 数据结构程序员小灰 - 漫画:什么是B-树?(注意查询、插入删除的图解)程序员小灰 - 蛮会:什么是B+树?MYSQL中的几种索引MYSQL索引实现原理(重要)B树与B+树MYSQL索引原理详解联合索引(复合索引)在...

2019-05-17 14:00:52 606

转载 JAVA中return与finally的先后关系

转发:https://blog.csdn.net/sinat_22594643/article/details/80509266预备知识首先是关于return返回的底层知识java方法是在栈幀中执行,栈幀是线程私有栈的单位,执行方法的线程会为每一个方法分配一小块栈空间来作为该方法执行时的内存空间,栈幀分为三个区域:1. 操作数栈,用来保存正在执行的表达式中的操作数,数据结构...

2019-05-13 16:44:19 154

转载 汇编读写文件

转发:https://blog.csdn.net/hairi1234/article/details/85336939说明这是一个读写磁盘文件的例子,其中“infile”为读文件,“wfile”为写文件。函数图:infile(文件的读取);数据段data segmentfile db 'c:\1.txt' , 0 ...

2019-04-22 14:14:17 7788 1

转载 磁盘读写的简单原理

转发:https://blog.csdn.net/zhanghongzheng3213/article/details/54141202/当程序要读取的数据时传入内存地址(行地址+列地址),如果数据不在主存中时,会触发一个缺页异常,此时系统会向磁盘发出读盘信号,通过柱面号,磁头号,扇区号定位磁盘位置,找到数据的起始位置并向后连续读取一页或几页载入内存中。我们在程序中的数据处理...

2019-04-22 14:04:29 4400

转载 多并发下的hashmap的不安全及解决办法

转发:https://blog.csdn.net/Dazhu233/article/details/79679088多线程并发下的HashMapHashMap在多线程高并发下时线程不安全的,可能会出现cpu占用过高(死循环)的情况。这个现象的出现从源码分析来看,这个死循环的出现时因为resize()时复制元素时产生了循环链表。此部分转载自https://yq.aliyun.com/...

2019-04-19 09:00:25 908

原创 闲扯hashmap和hashtable

4.1 hashmap在JDK1.8中,HashMap做了一些改变:JDK1.7中,发生哈希碰撞时,将键值对添加到链表头部,JDK1.8是将键值对添加到链表尾部。JDK1.8中,如果链表的长度超过8,将会将链表转化为红黑树。容量的初始化:JDK1.7的HashMap在构造时会对容量进行初始化,而JDK1.8是在首次向HashMap总中执行put操作时,对容量进行初始化,也就是...

2019-04-18 17:53:31 232

原创 闲扯hash,string

1.数组查询为何比链表快?1.寻址次数链表要多一些。数组只需对基地址+元素大小*k就能找到第k个元素的地址 对其取地址就能获得该元素。链表要获得第k个元素,首先要在其第k-1个元素寻找到其next指针偏移,再将next指针作为地址获得值。多了一步寻址操作,当数据量大且其它操作较少时 这就有差距了2.CPU缓存会把一片连续的内存空间读入,因为数组结构是连续的内存地址,所以数组全部或者部...

2019-04-18 17:50:31 781

转载 哈希表

转发:https://www.cnblogs.com/yangecnu/p/Introduce-Hashtable.html在前面的系列文章中,依次介绍了基于无序列表的顺序查找,基于有序数组的二分查找,平衡查找树,以及红黑树,下图是他们在平均以及最差情况下的时间复杂度:可以看到在时间复杂度上,红黑树在平均情况下插入,查找以及删除上都达到了lgN的时间复杂度。那么有没有查找效率更高的...

2019-04-18 09:56:38 180

转载 java序列化

原文出处:天凉好个秋转发:http://www.importnew.com/24490.html前言对于Java的序列化,一直只知道只需要实现Serializbale这个接口就可以了,具体内部实现一直不是很了解,正好这次在重复造RPC的轮子的时候涉及到序列化问题,就抽时间看了下 Java序列化的底层实现,这篇文章算是这次的学习小结吧。第一部分:WhatJava序列化是指把Ja...

2019-04-18 09:52:09 477

转载 一条进程的栈区、堆区、数据区和代码区在内存中的映射

转发:https://www.cnblogs.com/oc-bowen/p/5113475.html一条进程的栈区、堆区、数据区和代码区在内存中的映射一条进程的栈区、堆区、数据区和代码区在内存中的映射 1>栈区:主要用来存放局部变量, 传递参数, 存放函数的返回地址。.esp 始终指向栈顶, 栈中的数据越多, esp的值越小。 2>堆区:用于存放动态分配的对象,...

2019-04-01 10:38:50 238

转载 volatile两大作用和指令重排

转发自:http://www.importnew.com/23535.htmlvolatile两大作用1、保证内存可见性2、防止指令重排此外需注意volatile并不保证操作的原子性。(一)内存可见性1 概念JVM内存模型:主内存和线程独立的工作内存Java内存模型规定,对于多个线程共享的变量,存储在主内存当中,每个线程都有自己独立的工作内存(比如CPU的寄存...

2019-03-21 14:00:52 617

转载 linux-----页、页表、页框(块)

https://blog.csdn.net/displayMessage/article/details/80905810我们知道,在linux操作系统中,CPU在执行一个进程的时候,都会访问内存。 但CPU并不是直接访问物理内存地址,而是通过虚拟地址空间来间接的访问物理内存地址。 所谓的虚拟地址空间,是操作系统为每一个正在执行的进程分配的一个逻辑地址,在32位机上,其范围从0 ~ 4G-...

2019-02-27 10:18:54 714

转载 Java中几种常量池的区分

原文链接:http://tangxman.github.io/2015/07/27/the-difference-of-java-string-pool/      在java的内存分配中,经常听到很多关于常量池的描述,我开始看的时候也是看的很模糊,网上五花八门的说法简直太多了,最后查阅各种资料,终于算是差不多理清了,很多网上说法都有问题,笔者尝试着来区分一下这几个概念。1.全局字符串...

2019-02-25 14:51:30 146

转载 jvm的解释器和编译器是如何进行协作执行代码的

转发:https://www.jianshu.com/p/96d65e8f4cbf概述       做为Java开发人员,我们编写的代码是以“.java”为文件后缀的,也就是常说的源码。源码在经过javac命令编译之后,就会生成一个对应“.class”文件,这个就是字节码文件。它为Java的一次编译,到处运行提供了基础。通过JVM的映射,同一份字节码文件,可以在不同的系统上运行,这里就得益...

2019-02-20 11:19:48 541

转载 Java之深入JVM - 字节码执行引擎(转)

本文为转载,https://www.cnblogs.com/royi123/p/3569511.html 前面我们不止一次的提到,Java是一种跨平台的语言,为什么可以跨平台,因为我们编译的结果是中间代码—字节码,而不是机器码,那字节码在整个Java平台扮演着什么样的角色的呢?JDK1.2之前对应的结构图如下所示:从JDK1.2开始,迫于Java运行始终笔C++慢的压力,JVM的结构也...

2019-02-19 15:15:32 294

转载 C语言的函数调用的过程

一.程序在内存中的占用。要学习C语言中函数调用的过程,必须要知道程序在内存中各个区域的分布。C语言的函数调用的过程主要分布在栈中,所以我们今天主要研究栈。二.几个基本的汇编指令。    call:1.将当前指令的下一条指令的地址保存到栈中。              2.跳转至目标函数的地址。    ret :弹出栈顶地址将数据放入eip    从栈顶入栈称为pus...

2019-02-18 16:31:59 3721 1

原创 server,serversocket数据结构

2019-02-18 16:14:51 186

原创 算法导论--最大子数组问题

最大子数组问题:问题描述:  假定你获得了投资挥发性化学公司的机会。与其生产的化学制品一样,这家公司的股票价格也是不稳定的。你被准许可以在某个时刻买进一股该公司的股票,并在之后某个日期将其卖出,买进卖出都是在当天交易结束后进行。为了补偿这一限制,你可以了解股票将来的价格。你的目标是最大化收益。虽然最高价卖出,最近价买进是收益最大化,但是在一段给定时期内,可能无法做到在最低价格时买进股票...

2019-01-30 14:53:08 394

转载 递归函数的调用过程

转:https://blog.csdn.net/tingyun_say/article/details/52078574下面是个关于递归调用简单但是很能说明问题的例子:/*递归例子*/#include&lt;stdio.h&gt;void up_and_down(int);int main(void){    up_and_down(1);    return 0;}voi...

2019-01-30 14:49:33 2235

原创 算法导论---时间复杂度函数的推导

算法导论中式如何把一个分段函数推导出一个通式的?证明过程:

2019-01-30 14:46:30 857

原创 算法导论--函数的增长

3.函数的增长1.渐近记号我们将主要使用渐进记号来描述算法的运行时间。渐进记号实际上应用于函数。θ(n2)=an2+bn+c 这个是插入排序的运行时间表达,我们使用θ(n2)来表示。我们使用渐近记号来刻画算法的运行时间。(1) θ 记号插入排序的最坏运行时间为:T(n) = θ(n²)。让我们来定义这个记号意指什么。对于一个给定的函数g(n),用θ(g(n))来表示...

2019-01-30 14:42:45 1420

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除