自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qinm的专栏

一步一个脚印。。

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

原创 linux一些常见命令总结

文档查看:cat、tac、more、less、head、tail、cut、od、nl文件权限:ls -l、chmod、chown、chgrp、umask文件查找:find、whereis、locate、which程序管理:jobs、bg、fg、kill、killall、ps、pstree、top、free、nice、renice开机、关机:sync、shutdown、halt、powerof

2016-03-30 20:22:30 3332

原创 C++输入

1、cin结束符   程序的输入都建有一个缓冲区,即输入缓冲区。当一次键盘输入结束时会将输入的数据存入输入缓冲区,然后再通过cin函数直接从输入缓冲区中取数据。   cin遇到Space、Tab、Enter都会结束一次数据获取。   eg:当输入为124 ew 34sf时,调用一次cin只会取出124,就遇到空格返回了。   当遇到Tab和Enter处理相同。  2、一些常见的输入情况

2016-03-30 18:51:05 433

原创 HashMap的设计与实现

一.Map   Java集合中,List和set存储的都是单个值,而Map中存储的却是key-value对。  实现Map接口的类可以分为两种:基于Hash表的和基于RB-Tree的。      基于Hash表的主要是HashMap,该类具有Hash表的一些特点   1)集合中元素是无序的   2)操作时间复杂度为O(1)   3)可能要考虑hash冲突、hash表扩容的情况   4

2016-03-22 10:59:19 1986

原创 Java集合&List的实现

一.java集合类图如下所示:    上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,AbstractMap等,而点线边框的是接口,比如Collection,Iterator,List等。      Java集合都在java.util包中实现。二.List(基于

2016-03-21 17:06:13 2926

原创 JVM垃圾回收及内存分配策略

一、垃圾回收  垃圾回收主要有三个关键词:which、when、how   which:哪些内存等待回收   when:什么时候进行回收   how:怎样回收  程序计数器和栈都是随线程而生,随线程而灭的。这部分占用内存的大小在编译时就可以确定了,因此这几个区域内存的分配和回收都具备确定性,不需要过多考虑。   而Java堆和方法区则不同,这部分占用内存的大小都要在运行时才能确定,因此内存的

2016-03-17 14:56:33 561

原创 JVM基础知识

一.JVM运行时数据区包括哪几部分?  根据《深入理解Java虚拟机》可知,运行时数据区通常包括这几个部分:程序计数器(Program Counter Register)、Java栈(VM Stack)、本地方法栈(Native Method Stack)、方法区(Method Area)、堆(Heap)。   程序计数器、Java栈和本地方法栈统称为栈区,这部分是每个线程私有的。堆和方法区是所有

2016-03-16 20:30:42 2561 2

原创 一些网络相关问题的总结

OSI七层模型 应用层:直接面向用户,负责向用户提供各种网络应用服务,为用户提供通信的接口 表示层:主要是定义数据格式及加密 会话层:对传输的报文提供同步管理服务,在不同系统中互相通信的两个进程之间提供建立、连接、控制会话的功能 传输层:向高层屏蔽了通信细节。为端到端系统之间提供报文的传输方式,以及选择传输协议TCP、UDP 网络层:为数据报的传输提供路由功能,即为数据包选择合适的点到点链

2016-03-16 19:02:20 361

转载 TCP 的那些事儿(下)

这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。在你阅读下篇之前,你需要做好准备,本篇文章有好些算法和策略,可能会引发你的各种思考,让你的大脑分配很多内存和计算资

2016-03-14 21:10:10 744 1

转载 TCP 的那些事儿(上)

TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相

2016-03-14 21:09:23 714 3

转载 TCP/IP协议详解:卷一----笔记(4)UDP

1.UDP简要介绍UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,UDP协议并不提供超时重传,出错重传等功能,也就是说其是不可靠的协议。2.UDP协议头UDP协议头的帧格式非常简单,为2字节源端口+2字节目的端口+2字节长度+2字节校验和,共8字节。2.1.UDP端口号由于很多软件需要用到UDP协议,所以UDP协议必须通过某个标志用以区分不同的程序所需要的数据包。端口号的功能就

2016-03-07 19:43:43 460

原创 C++内存布局(下)

上一篇已经分析了基本结构体、C++简单对象和加上一般的继承之后的各种情况,这篇文章将主要在有虚继承时,C++对象的内存又是怎样分配的。虚继承虚继承解决了从不同途径继承的类具有共同基类的问题,使得共同基类只有一份拷贝。解决了二义性的问题,也节省了内存。虚继承的一般类图如下所示:sizeof(Derived) = 40 字节。经过分析,可以得到Derived类在内存中的存储结构示意图为:总结:各部分在

2016-03-07 19:08:08 759

原创 C++内存布局(上)

本文主要介绍C++对象在内存中占用内存的大小以及各个字段的位置布局。一、字节对齐一个基本的对象在内存中占用的内存大小主要为:各字段大小+字节对齐为什么要字节对齐字节对齐的根本原因在于CPU存取数据的效率问题。为了提高效率,计算机从内存中取数据是按照一个固定长度的。比如在32位机上,CPU每次都是取32bit数据的,也就是4字节。因此如果一个int型整数的起始地址是0x00000004,则它是字节对齐

2016-03-02 21:27:10 4099 1

空空如也

空空如也

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

TA关注的人

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