自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

>>向着CTO前进>>

Stay hungry, Stay foolish.

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

原创 NR PDSCH——概述和参数配置

NR PDSCH概述在下行,每个小区最多支持16个HARQ进程。由PDSCH-ServingCellConfig->nrofHARQ-ProcessesForPDSCH来配置,当未配置时,默认为8。特别地,由于PDSCH-ServingCellConfig是UE级别的配置,作用于所有的bwp,对于MSG4,这时还没有UE级别的专用配置,所以这时最大HARQ进程数应该默认为8。nrofHARQ-ProcessesForPDSCH ENUMERATED{n2, n4,...

2022-04-01 09:41:34 3977

原创 正则表达式高级

零宽断言小括号的作用分类     代码/语法     说明捕获          (exp)        匹配exp,并捕获文本到自动命名的组里      (?<name>exp)   匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)      (?:exp)        匹配exp,不捕获匹配的文本,也不给此分组分配组号零宽断言 ...

2018-08-10 14:48:36 853

转载 结构体对齐问题以及强制类型转换问题总结

一、什么是对齐    现在使用的计算机中内存空间都是按照字节划分的,从理论上讲似乎对任何类型的变量的访问都可以从任何地址开始,但实际上计算机系统对于基本数据类型在内存中的存放位置都有限制。举个例子,一个变量占用n个字节,则该变量的起始地址必须能够被n整除,即存放起始地址%n = 0。各种基本数据结构类型在内存中是按照这种规则排列,而不是一个紧接着一个排列的。这就是内存对齐。   

2016-06-27 08:40:24 631

转载 Linux C开发--头文件查找、动态库搜索

一、Linux C语言头文件搜索路径本文介绍在linux中头文件的搜索路径,也就是说你通过include指定的头文件,linux下的gcc编译器它是怎么找到它的呢。在此之前,先了解一个基本概念。头文件是一种文本文件,使用文本编辑器将代码编写好之后,以扩展名.h保存就行了。头文件中一般放一些重复使用的代码,例如函数声明、变量声明、常数定义、宏的定义等等。当使用#include语句将头文件

2016-06-27 08:39:15 508

原创 数据挖掘与预测

http://bbs.pinggu.org/thread-3617196-1-1.htmlhttp://www.docin.com/p-600661423.html&key=2%E5%9E%8B%E7%B3%96%E5%B0%BF%E7%97%85%E6%80%8E%E4%B9%88%E6%B2%BB

2015-11-16 15:14:40 1450

原创 JS中的Map简单实现

1 /* 2 * MAP对象,实现MAP功能 3 * 4 * 接口: 5 * size() 获取MAP元素个数 6 * isEmpty() 判断MAP是否为空 7 * clear() 删除MAP所有元素 8 * put(key, value) 向MAP中增加元素(key, value) 9 * remove(key)

2015-11-09 13:47:49 648

转载 JS魔法堂:从void 0 === undefined说起

一、前言                                      当使用coffeescript书写如下代码时 name = person?.name 会被预编译为 var name = typeof person !== "undefined" && person !== null ? person.name : void0; ,那么void 0到底是什

2015-11-04 11:15:59 1960

转载 深入详解javascript之delete操作符

最近重新温习JS,对delete操作符一直处于一知半解的状态,偶然发现一篇文章,对此作了非常细致深入的解释,看完有茅塞顿开的感觉,不敢独享,大致翻译如下。原文地址:http://perfectionkills.com/understanding-delete/P.S. 作者是PrototypeJS的开发组成员之一 ========分割线======== 

2015-11-04 10:22:28 363

原创 underscore.js学习笔记

一、地方

2015-10-27 14:29:44 1343

原创 RequireJS知识总结

1、支持AMD的框架和库有jQuery、Dojo、MooTools、EmbedJS、RequireJS、CurlJS

2015-10-22 09:28:43 1886

原创 JavaScript知识(一直更新)

1、匿名函数从语法上叫函数直接量,JavaScript语法需要包围匿名函数的括号,事实上自调用匿名函数有两种写法:(function() {console.info( this );console.info( arguments );}( window ) );-----------------------------------------------------------

2015-10-20 17:12:39 383

转载 JavaScript instanceof 运算符深入剖析

转载自:http://blog.jobbole.com/41611/简介: 随着 web 的发展,越来越多的产品功能都放在前端进行实现,增强用户体验。而前端开发的主要语言则是 JavaScript。学好 JavaScript 对开发前端应用已经越来越重要。在开发复杂产品中,需要使用面向对象的机制时,往往会用到复杂的 JavaScript 继承,而 instanceof 运算

2015-10-17 12:38:37 281

转载 require.js的用法

转载自:http://www.open-open.com/lib/view/open1378778013334.html一、为什么要用require.js?最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。      

2015-10-15 17:10:16 305

转载 移动前端开发之viewport的深入理解

转载自:http://www.cnblogs.com/2050/p/3877280.html移动前端开发之viewport的深入理解在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有关的meta标签的使用,才能更好地让我们的网页适配或响应各种不同分辨率的移动设备。一、vie

2015-10-15 08:45:27 301

原创 Javascript原型链详解

1、prototype属性仅属于类,即函数对象!!2、__proto__属于所有对象,但是非标准规定,许多浏览器并不对外公开这个属性,Firefox暴露出这一属性,仅供开发人员理解,但不推荐开发中使用。而Object.getPrototypeOf()是标准所有的。3、constructor属于所有对象,函数对象的constructor为 function Function(){。。。。}

2015-10-12 11:45:39 443

原创 svn check in ,check out, import, export

check out跟check in对应,export跟import对应。check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。export 简单导出一个版本的数据,导出的文件脱离SVN版本控制,修改后无进行Up

2015-09-27 07:40:48 3157

原创 RIP,OSPF,EIGRP

都是动态选路协议!!!!!!!IGP(interior gateway protocol)内部网关协议,每个自治系统可以选择该自治系统中各个路由器之间的选路协议。最常用的IGP是RIP,一种新的IGP是开放最短路径优先OSPF(open shortest path first)EGP(exterior gateway protocol)外部网关协议用于不同自治系统之间的路由器。BG

2015-09-24 15:31:17 1602

原创 ARP,RARP

图6-1  ARP/RARP报头结构ARP和RARP使用相同的报头结构,如图6-1所示。图6-1中的各字段的具体含义如下:硬件类型:指明发送方想知道的硬件接口类型,以太网的值为1;协议类型:指明发送方提供的高层协议类型,IP为0800(16进制);硬件地址长度和协议长度:指明硬件地址和高层协议地址的长度,这样ARP报文就可以在任意

2015-09-24 09:47:59 462

原创 IP头、TCP头、UDP头详解以及定义

一、MAC帧头定义/*数据帧定义,头14个字节,尾4个字节*/typedef struct _MAC_FRAME_HEADER{ char m_cDstMacAddress[6];    //目的mac地址 char m_cSrcMacAddress[6];    //源mac地址 short m_cType;            //上一层协议类型,如0x0800代表上

2015-09-23 14:16:27 5474

原创 TCP 滑动窗口的简介

TCP的滑动窗口主要有两个作用,一是提供TCP的可靠性,二是提供TCP的流控特性。同时滑动窗口机制还体现了TCP面向字节流的设计思路。TCP 段中窗口的相关字段。TCP的Window是一个16bit位字段,它代表的是窗口的字节容量,也就是TCP的标准窗口最大为2^16-1=65535个字节。另外在TCP的选项字段中还包含了一个TCP窗口扩大因子,option-kind为3,

2015-09-23 14:10:13 667

原创 BST、B树、B-树、B+树、B*树

B-tree树即B树,B即Balanced,平衡的意思。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解。如人们可能会以为B-树是一种树,而B树又是另一种树。而事实上是,B-tree就是指的B树。特此说明。BST树       即二叉搜索树:       1.所有非叶子结

2015-09-23 14:08:53 856

转载 数据结构之AVL树

1 .基本概念AVL树的复杂程度真是比二叉搜索树高了整整一个数量级——它的原理并不难弄懂,但要把它用代码实现出来还真的有点费脑筋。下面我们来看看:1.1  AVL树是什么?AVL树本质上还是一棵二叉搜索树(因此读者可以看到我后面的代码是继承自二叉搜索树的),它的特点是:1. 本身首先是一棵二叉搜索树。 2. 带有平衡条件:每个结点的左右子树的高度之差的绝对值(平

2015-09-23 08:59:10 440

原创 二叉树常见运算

public class Main { static int num=0; public static void main(String[] args) { int[] arr = {4, 1, 8, 2, 3, 7, 6, 5}; Node root = new Node(arr[0]); for(int i=1; i<arr.length; i++) { root.s

2015-09-15 21:33:59 271

原创 二叉树的一些运算

我的输入测试树为:ABC#D###EF##G##,这是按照先序创建二叉树的可是我的程序中返回双亲结点:char Parent(BiTree T,ElemType e)              返回左孩子  :char Leftchild(BiTree T,ElemType e)              返回左孩子  :char Rightchild(BiTree T,ElemT

2015-09-14 17:07:17 499

原创 希尔排序

public class Main { public static void main(String[] args) { int[] arr = {0, 2, 1, 5, 8, 2, 4, 3, 7, 6, 5}; shellSort(arr, arr.length); for(int i = 0; i < arr.length; i++) { System.out.print

2015-09-13 20:47:27 308

原创 堆排序

public class Main { public static void main(String[] args) { int[] arr = {0, 2, 1, 5, 8, 2, 4, 3, 7, 6, 5}; heapSort(arr, arr.length - 1); for(int i = 1; i < arr.length; i++) { System.out.pr

2015-09-13 19:43:14 299

原创 Unicode(UTF-8, UTF-16)令人混淆的概念

为啥需要Unicode       我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的01串时肯定会比较头晕的,所以很多时候为了描述简单都用十进制,十六进制,八进制表示.实际上都是等价的,没啥太多不一样.其他啥文字图片之类的其他东东计算机不认识.那为了在计算机上表示这些信息就必须转换成一些数字.你肯定不能想怎么转换就怎么转,必须得有定些规则.于是刚开始的时候

2015-09-11 15:24:14 311

原创 java垃圾回收机制和内存泄露

1、jvm的垃圾回收线程是优先级别很低的后台线程,因为不能一直执行,会影响程序的执行效率,另垃圾回收只会回收堆内存中的对象。2、垃圾回收算法:   引用计数法:简单,当引用的数目为0时,才会被回收。缺点:两个对象交叉引用时,即使它们没用了,也不能被回收。  标记-清除算法:引入了根集的概念,从根开始扫描,确定哪些对象可达,哪些对象不可达,不可达的对象就会被清除。  标记-整理算法:

2015-09-09 11:49:21 448

转载 三分钟理解Java中字符串(String)的存储和赋值原理

可能很多java的初学者对String的存储和赋值有迷惑,以下是一个很简单的测试用例,你只需要花几分钟时间便可理解。1.在看例子之前,确保你理解以下几个术语:栈:由JVM分配区域,用于保存线程执行的动作和数据引用。栈是一个运行的单位,Java中一个线程就会相应有一个线程栈与之对应。堆:由JVM分配的,用于存储对象等数据的区域。常量池:在编译的阶段,在堆中分配出来的一

2015-09-09 09:40:40 607

转载 KMP字符串匹配算法

0、废话 一直ym传说中的kmp算法能以最坏线性的时间复杂度搞定字符串匹配,开始动手看才知道kmp中的K居然是Donald.E.Knuth,《计算机程序设计艺术》的作者。好吧,继续ym……1、传统的字符串匹配算法/* * 从s中第sIndex位置开始匹配p * 若匹配成功,返回s中模式串p的起始index * 若匹配失败,返回-1 */int

2015-09-08 10:13:01 405

原创 发短信机制

2015-08-24 16:51:30 432

转载 php利用smtp类轻松的发送电子邮件

当你还在纠结php内置的mail()函数不能发送邮件时,那么你现在很幸运,此时的这篇文章可以帮助到你!php利用smtp类来发邮件真是屡试不爽,我用过很久了,基本上没出过问题。本博客后台,当博主回复留言时候,会自动给网友发一封有新回复提示的邮件也是用的本文这个方法实现的。smtp类发送邮件的方法其实很简单,也很稳定,类是别人已经写好的了,你只需要调用就行了。

2015-08-24 16:44:13 733

转载 Linux中exec命令

Linux中exec命令相关:exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息。  bash shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。内部命令是由特殊的文件格式(.def)所实现,如cd、his

2015-08-24 16:41:53 1209

原创 Java常用类及其常用方法

1、ArrayListjava.util.ArrayListadd(E e) //插入尾部add(int index, E element)remove(int index)remove(Object o)get(int index)indexOf()lastIndexOf()isEmpty()size()iterator()listItera

2015-08-17 09:04:55 679

原创 并查集

public class Main { public static void main(String[] args) { UFSTree[] u = new UFSTree[11]; makeSet(u); union(u, 2, 4); union(u, 5, 7); union(u, 1, 3); union(u, 8, 9); union(u, 1, 2);

2015-08-16 10:15:10 530

原创 二叉排序树,二叉树的中序,先序,后序遍历

public class BinaryTree { public static void main(String[] args) { int[] data = new int[10]; for(int i = 0; i < data.length; i++) { data[i] = (int)(Math.random() * 100) + 1; System.out.prin

2015-08-07 14:31:11 846

转载 Comparable与Comparator的区别

Comparable & Comparator 都是用来实现集合中元素的比较、排序的,只是 Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序,所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparable 接口的方法。Comparator位于包java.util下,而Comparable位于包

2015-08-07 10:21:48 346

原创 类成员的指针

ps:const对象只能调用const函数!!非const对象随便!! 成员指针只应用于类的非 static成员。static 类成员不是任何对象的组成部分,所以不需要特殊语法来指向 static成员,static成员指针是普通指针。int *p = &Screen::total;   (total 是 static int total;) 例子:#incl

2015-08-06 11:06:41 574

原创 C++中构造函数调用顺序

C++中若某类a从基类b、虚基类c派生而来,且该类中具有对象成员d,则在构造该类的对象时执行构造函数的顺序?构造一个类的对象的一般顺序是:class a:public b, virtual public c{};1.如果该类有直接或间接虚基类,先执行虚基类的构造函数;2.如果该类有其他基类,按照他们在继承声明列表中出现的顺序分别执行构造函数,但是不再执行它们的虚基类的构造函数。3.

2015-08-06 10:52:58 884

原创 构造函数和复制控制成员

构造函数和复制控制成员不能继承(即构造函数,析构函数,复制构造函数,赋值操作符),每个类定义自己的构造函数和复制控制成员。像任何类一样,如果类不定义自己的默认构造函数和复制控制成员,就将使用合成版本。 ²  派生类构造函数    派生类的构造函数受继承关系的影响,每个派生类构造函数除了初始化自己的数据成员之外,还要初始化基类。派生类的合成默认构造函数与非派生的构造函数只有一点不同:除了

2015-08-06 09:49:33 518

空空如也

空空如也

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

TA关注的人

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