威尼斯城所有登入网址

分块简要介绍,简介

爱新觉罗·穆尔哈齐是努尔哈赤同父异母的弟弟,母亲是皇妃李佳氏。穆尔哈齐封爵多罗勇状贝勒,随努尔哈赤一同创业,是清朝的开国功臣之一,为满清早期政权的建立、发展立下汗马功劳,也使得身体受创,后期无法征战,于1620年病逝,享年60岁,谥号“勇壮”。人物平生
塔克世共有五个儿子,长子清太祖努尔哈赤,穆尔哈齐是第二子,另外还有第三子舒尔哈齐,第四子雅尔哈奇,第五子巴雅拉,当时都被称作贝勒。
“贝勒”
是满语,为清初满族贵族的一种称号,其职位相当于后来的亲王,掌握着军政大权。在太祖努尔哈赤起兵之后,穆尔哈齐就多次随同征伐,战功卓著,被赐号清巴图鲁(汉译为“诚毅”)。后于顺治五年六月,追封为多罗贝勒,谥曰“勇壮”。
穆尔哈齐,生情勇猛,骁勇善战,年少时,每遇争斗事,必亲临之。其兄努尔哈赤起兵初期,宗族内众叛亲离,六祖子孙相继加害于努尔哈赤,使其身处险境,楚歌四面。这时,穆尔哈齐却不顾族人的劝阻,跟随兄长努尔哈赤在险恶的逆境中一同创业。
万历十一年四月,努尔哈赤以十三幅遗甲起兵,由于是起兵之初,兵力弱小,只能靠家族中的父子兄弟们团结一致,为了生存而英勇杀敌,
冲锋陷阵,才能立于不败之地。正是由于爱新觉罗家族的兄弟们在战斗中勇猛顽强,才使的家族的势力不断得以扩大,成为辽东的一支重要的武装力量。穆尔哈齐作为家族中杰出的一员,自幼就被人们称作勇士。正如《清史稿》中所云,他“骁勇善战,
每先登陷阵”,为爱新觉罗家族的兴起, 立下了汗马功劳。
努尔哈赤兄弟起兵之初,驻守在北砬背山城中,由于山城险峻的军事防御条件,使得他们多次成功地阻止了外来势力的剿杀。但是,山城对外的交通条件,却对努尔哈赤的出征带来了诸多的不便。北砬背山城通向外界的道路,必经六祖子孙居守的章甲城,此时,六祖子孙都以努尔哈赤兄弟为敌,每当努尔哈赤与穆尔哈齐兄弟率众前行时,六祖子孙即使不干预其部的前行,也会将努尔哈赤兄弟攻打的目标派部众通知对方,使得他们多次出征都无功而返。
明万历十一年四月,穆尔哈齐随太祖努尔哈赤征伐哲陈部,由于是刚刚起兵,人马甚少,仅率兵五百,出征途中,遇到大水拦阻去路,努尔哈赤便决定让大队人马回营,仅带绵甲兵50人,铁甲兵30人,共80人前往。谁知有嘉哈部的首领苏库赉呼暗中派人密告哲陈部主,使敌军有了防范,共集聚托漠和、章甲、巴尔达、萨尔浒、界藩五城人马八百余人,
蜂拥而至, 欲与努尔哈赤兄弟们决一死战,
并将兵力布阵于界藩、浑河直到南山一带, 气势汹汹, 严阵以待。 事先,
努尔哈赤已安排了哨兵寻察, 但哨兵发现敌军后, 慌忙之间, 却迷了路,
未能及时找到努尔哈赤的人马;而努而哈赤又以为有哨兵在四处探察, 未加防备,
当数百敌军突然出现于面前, 有如从天而降一般, 出其不意,
大大震动了努尔哈赤所领军卒的军心,兵丁们顿时怯敌,流露出心惊胆悬的神情,不敢与敌交战。六祖中包郞阿的孙子札亲、桑古礼二人一见敌兵强盛,吓得解下自己的铠甲交给了从人,准备沿山路逃跑,一时军心大乱。努尔哈赤见状大怒,
高声斥责两人道:“汝等平昔在家, 每自称雄于族中, 今见敌兵, 何故心祛,
解甲于人?” 。 虽然努尔哈赤怒斥了族弟, 但并未见到效果, 这二人仍不听令,
同行军卒也不敢迎敌上前, 在这紧急关头,
如再无人上前应战必然会使军心彻底崩溃,
全军必灭无疑。努尔哈赤虽想指挥部众冲杀迎敌,但属下乱成一团,根本不听号令。呵止不住部众的努尔哈赤只得拼着性命,自己催马迎敌,身边只有穆尔哈齐和颜布禄、兀凌噶三人。四人悄悄地尾随在大队敌人的后面,寻找机会,打击敌人。尾随至吉林崖时,四人发现有十五名敌人从旁边的小路上向他们这边走来。努尔哈赤等人将帽缨摘掉,隐蔽起来。待敌人接近时,努尔哈赤先发一箭,射死了走在最前边的敌兵,穆尔哈齐又发一箭射死了另外一名敌兵。其余敌兵不知伏兵多少,慌忙奔逃,都滚下了吉林崖摔死。努尔哈赤与穆尔哈齐四人弃马躬身,悄悄地接近敌人的大队,突然发起攻击,一阵砍杀,敌人大队立刻混乱起来,互不统属的各城寨人马争先向后逃命。努尔哈赤兄弟“四人奋勇步射,直入重围”,杀敌二十余人,追得敌人争先渡浑河逃命。
穆尔哈齐随努尔哈赤渡河追至吉林崖,发现众敌复又聚集杀来,努尔哈赤机智地脱帽诱敌隐身,张弓对冲在最前面的敌人一箭射去,利箭贯脊使其倒地而亡。穆尔哈齐也射死一人。一阵交战之后,敌军纷纷投降,余者或逃窜、或坠崖而死。在这次以被动变主动的战斗中,努尔哈赤与穆尔哈齐兄弟以四人击退了八百余名敌人的进攻,扭转了战局。战斗结束后,努尔哈赤针对此次之役,感慨的说道:“今日之役以四人败八百众,天助我也”。(见《清史稿·太祖本纪》)。
后来, 1616年, 努尔哈赤在赫图阿拉建立后金国, 即位称帝时,
将年号定为“天命”, 有史家称源于此。
为了清除来自宗族内部的敌对势力,穆尔哈齐极力主张收服六祖宝实子孙所占据的章甲城。在他的主张下,努尔哈赤与其一起,以突然袭击的策略一举攻取了章甲城,将城中的族众收归已有,扫除了自己门前的障碍,震慑了三祖索长阿的子孙。
万历十四年七月,穆尔哈齐与其兄努尔哈赤一起,率军攻取了先前率部众截杀自己的哲陈部托漠河城,俘获人畜而还。随后挥师征讨鹅尔浑城。在进军鹅尔浑城途中穆尔哈齐在先开路,努尔哈赤在后压阵,一路所经之处,都是仇敌,穆尔哈齐率部沿途厮杀,才来到鹅尔浑城下。在攻打鹅尔浑城时,努尔哈赤肩部中箭,浑身上下三十多处受伤,无力指挥战斗。关键时刻,穆尔哈齐挺身而出,代兄指挥,取得了此次攻打鹅尔浑城的胜利。
当努尔哈赤统治势力逐渐壮大后,穆尔哈齐多次率兵征讨,每战必先士卒,先后出征鸭绿江、纳殷、珠舍里等部,将其征服。为表彰穆尔哈齐的功绩,努尔哈赤赐其青巴图鲁称号,汉译为诚毅勇士。由此可见,穆尔哈齐在跟随兄长努尔哈赤创业中,以其忠诚、刚毅、勇猛而深受兄长努尔哈赤的尊重与厚爱。
万历十五年八月,穆尔哈齐与大将额亦都一同率兵攻打巴尔达城,当大军行军至浑河时,正值汛期,河水暴涨,大军无法涉渡,部属皆劝穆尔哈齐、额亦都二人,率兵回返复命。穆尔哈齐厉诫部属,“受命出征,安能不战遇水而返耶?”随令善泅水土卒,贡索泅渡,将绳索连接两岸坚实树上,大队士卒扶索而渡,越过浑河。巴尔达城中守军,自认为浑河河水暴涨,形成了一道天然屏障,穆尔哈齐所率的军马,纵有天大的本领,也不会在此际渡过浑河,前来攻城。因此放松了全城的军事防御。率部渡过浑河的穆尔哈齐、额亦都二人决定,将部众隐蔽起来,待到夜晚敌人无备时,发起进攻。当晚,穆尔哈齐、额亦都二人发出攻城命令,所部将士奋勇猛攻。城中守军从睡梦中惊醒,有此军士来不及披甲持械与攻城将士拒战,两军接战,矢石如蝗,额亦都率先登城,身受创伤五十余处,部众的指挥大权落在了穆尔哈齐一人身上。在双方交战最激烈的时刻,穆尔哈齐亲率将士搏杀,身体多处受伤,仍率众奋战不已,终于攻克了巴尔达城,凯旋归来。穆尔哈齐率军回返时,其兄努尔哈赤出城外迎接,设宴慰劳全军,重奖了穆尔哈齐与额亦都二人。
在闻名于世的古勒山大战前夜,素有军事指挥天赋的努尔哈赤,面对着十倍于已的九部联军,也显得束手无策。自己部众中,兵微将寡,巧妇难为无米之炊,怎么部署也不足以与敌兵抗衡。此时,骁勇善战的穆尔哈齐向兄长提议,由自己率一队精兵埋伏在古勒山后,当敌兵大队到来时,人多势众,必然会选择在古勒山前的开阔地古勒之野列队结阵,乘敌人列队结阵不稳之机。自己率精兵突击,采用擒贼先擒王的战术,打乱敌人的阵角,然后由努尔哈赤指挥全线冲击,一举可以击溃敌军。
努尔哈赤采纳了弟弟穆尔哈齐的建议,令其率一队精锐骑兵悄悄地埋伏在古勒山后,寻找战机。九部联军到来后,叶赫部贝勒布寨以九部联军统帅的身份命令大军围攻古勒城。城中滚木雷石齐下,两军激战,杀声连天。双方正在激战时,穆尔哈齐率骑兵风驰电掣般地冲了出来,直接冲入到了九部联军攻城的队伍中,一时,九部联军大乱,叶赫部贝勒布寨惊恐之余,尚不清楚冲到眼前的骑兵是怎么回事时,自己的坐骑被滚木绊倒,将他摔了下来。布寨还没来得及爬起来,被冲过来的骑兵挥刀砍死。九部联军一见统军主帅被杀,全队立即慌忙起来,争先逃命。努尔哈赤指挥大队将士转守为攻,击溃了九部联军,活捉了乌拉部的布占泰。取得了古勒山大战的全胜。
由于在创业初期,骁勇善战的穆尔哈齐,每战必征,战则率先,致使身体多次受创。后期,随着伤病的困扰,无法从征,被恩养在家中,后金天命五年九月,在赫图阿拉城家中病逝,时年六十岁。
穆尔哈赤病逝后,努尔哈赤亲自临祭,将其安葬。穆尔哈赤葬于虎栏哈达之郝图阿喇(今辽宁省新宾县永陵镇老城村)。天命九年四月一日迁葬于辽阳城东北阳鲁山岗东京陵处。同时迁葬者有:“景祖翼皇帝及皇后”、“显祖宣皇帝及皇后”、孝慈高皇后、礼敦巴图鲁、达尔汉巴图鲁、贝勒祜尔哈齐、褚英等灵。
清王朝入主中原后,顺治十年,福临下诏追封谥。穆尔哈齐的儿女 儿子
穆尔哈齐有子11人,有封有爵者、有嗣者6人。 第一子萨哈廉
第二子达尔察,奉恩辅国刚毅公,其后裔分隶左翼正蓝旗远支宗室第七族。
第三子硕弼基
第四子务达海,奉恩固山襄敏贝子,其后裔分隶左翼正蓝旗远支宗室第九族。
第五子汉岱,奉恩镇国公,其后裔分隶左翼正蓝旗远支宗室第二族。
第六子噶巴喇
第七子塔海,奉恩辅国公,其后裔分隶左翼正蓝旗远支宗室第十三族。
第八子唐喀
第九子祜世塔,奉恩辅国公,其后裔分隶左翼正蓝旗远支宗室第五族。
第十子喇世塔,奉恩辅国公,其后裔分隶左翼正蓝旗远支宗室第十二族。
第十一子欢齐费扬古五人无嗣无爵。人物评价
在穆尔哈齐一生中,他紧随兄长努尔哈赤创业,从不计较个人地位的高低与权力的大小,更不参与权力之争的政治角逐而深得努尔哈赤的敬重。
后世的清史专家们对穆尔哈齐的勇猛皆加称赞,
如杨学琛在所著《清代八旗王公贵族兴衰史》中说:“其实, 这并天助,
而是穆尔哈齐不畏强敌, 敢于在危难之时,挺身而出的结果。”

(1)简介,简介

1、什么是python

   引用官方的话:Python是一种易于学习,强大的编程语言。它具有高效的高级数据结构,并通过简单而有效的方法来进行面向对象编程。Python的优雅语法和动态类型,以及其解释性质,使其成为在大多数平台上的许多领域的脚本和快速应用程序开发的理想语言。

  这段话怎么理解呢?我们知道,任何编程语言的目的都是编写程序,而我们又是通过程序让计算机干活的。比如,播放一个mp3,玩一局吃鸡游戏,等等。计算的的大脑(CPU),通常是不能直接识别我们编写的程序,它只认机器指令。本质上,任何编程语言最终都会“翻译”成CPU可以执行的机器指令。跟据“翻译”的方式不同,编程语言可以分为两大类:编译型、解释型。Python是一种解释型的语言。(1)

  不同的编程语言,干同一个活,编写的代码量,差距是很大的。形象的理解就是,做同一件事,你可能用C语言得写1000行代码,而用C#只要写100行,用Python则可能只要10行。所以Python是一种高级的语言。 (2)

  需要注意的是,代码少的代价是运行速度慢,C程序运行1秒钟,C#程序可能需要5秒,而Python程序可能就需要20秒。Python程序通过Python解释器执行,执行效率比较低。

 

2、Python能做什么

  各行各业到处都是Python的身影,可以做网站(比如
YouTube、豆瓣),可以做图片处理,可以做科学计算,也可以爬虫,甚至于游戏,学好Python后不用担心没有用武之地,Google就大量的在使用。

  当然Python也有它不善长做的,比如超做系统,比如火箭控制系统等。我所说的不善长并非说不能,要记住很个语言都有自己善长的和不善长的,在合适的情况下选择合适的语言这才是程序员需要关心的。

 

 

3、Python的版本

  Python有两个大版本:一个是不2.x,一个是3.x。这两个版本是互相不兼容的,关于两者之者的区别我后面会提到。事实上2012的时候说Python2将于2015年不再支持,2014年改成了2020年,也许2.x说终结还过早,但现在注流的第三方库大多都兼容了3.x,本系列的教程是基于3.6。

  MIT的计算机第一门课一直在灌输两个道理:计算机程序是写给人看的,恰好能够运行;软件设计其实就是对于抽象复杂度的控制。这很有道理,哈哈,人生苦短,我用Python。

 

注(1):解释型的缺点是代码不能加密

注(2):高级编程语言通常都会提供一个比较完善的基础代码库,让你能直接调用。除了内置的库外,Python还有大量的第三方库。

1 、什么是 python
引用官方的话:Python是一种易于学习,强大的编程语言。它具有高效的高级数据结构,并通过简单而有效…

分块简介,简介

 

分块:顾名思义,把一个区间分成不同的块,然后由原来的每个点暴力转换为每个块的暴力,这样就大大减小了时间复杂度

 

可能涉及的几个词语解释:

区间:数列中连续一段的元素

区间操作:将某个区间[a,b]的所有元素进行某种改动的操作

块:我们将数列划分成若干个不相交的区间,每个区间称为一个块

整块:在一个区间操作时,完整包含于区间的块

不完整的块:在一个区间操作时,只有部分包含于区间的块,即区间左右端点所在的两个块

 

精品博客

分块:顾名思义,把一个区间分成不同的块,然后由原来的每个点暴力转换为每个块的暴力,这样就大大减小了时间复杂度…

C++简介,简介

Block 简介,block简介

1、Blocks简介

Block字面意思就是代码块 iOS4.0、Mac OS X
10.6开始Apple引入的特性

Block是Objective C语言中的对象
但是与NSObject有所区别 Block是特殊的Objective C对象

 

Block 对象提供了一个使用 C 语言和 C 派生语言(如 Objective-C 和
C++)来创建表达式作为一个特别的函数。在其他语言和环境中,一个block对象有时候被称为“闭包(closure)”。在这里,它们通常被口语化为”块(blocks)”,除非在某些范围它们容易和标准
C 表达式的块代码混淆。

对于闭包(closure),有很多定义,其中闭包就是能够读取其它函数内部变量的函数

“^”符号可以称为caret [‘kærət] 也叫脱字符 插入符 

 

图片 1

 

返回值(^块对象名称)(参数列表类型) = ^(参数列表){块对象中的代码};

 

2、用处

 

1)简单的回调过程,不用再实现并调用某个函数 (UIView动画)

2)代码简洁,减少冗余代码

3)与GCD结合使用 爽爆了 

使用:UIView动画、presentViewController、ASI 

 

3、声明和创建Block

声明Block引用 无参无返回 无参有返回
有参无返回 有参有返回

定义Block

使用Block

typedef声明 简称typedef
为现有类型创建一个新的名字,或称为类型别名,在结构体定义,还有一些数组等地方都会用到 

返回值或参数为Block的

snippet 代码片段

 

4、Block对变量存取管理

1)局部变量

局部变量,在Block中只读。Block定义时copy变量的值,在Block中作为常量使用,所以即使变量的值在Block外改变,也不影响它在Block中的值

 

2)__Block修饰的变量

如果要在block内修改block外声明的局部变量,那么一定要对该变量加__block标记

 

3)Static修饰符的或全局变量

因为全局变量或静态变量在内存中的地址是固定的,Block在读取该变量值的时候是直接从其所在内存读出,获取到的是最新值,而不是在定义时copy的常量.

 Block变量,被__Block修饰的变量称作Block变量。
基本类型的Block变量等效于全局变量或静态变量 但对象的block变量不会

 

5、Block的内存管理

非ARC下

Block是默认建立在栈上, 所以如果离开方法作用域, Block就会被丢弃

Block的copy、retain、release操作 
不同于NSObject的copy、retain、release操作:

只要实现一个对周围变量没有引用的Block,就会显示为是NSGlobalBlock

如果其中加入了对局部变量的引用,就是NSStackBlock

如果你对一个NSStackBlock对象使用了Block_copy()或者发送了copy消息,就会得到NSMallocBlock

 

1)NSGlobalBlock:retain、copy、release操作都无效;

2)NSStackBlock:retain、release操作无效,必须注意的是,NSStackBlock在函数返回后,Block内存将被回收,即使retain也没用。

容易犯的错误是[mutableAarry
addObject:stackBlock],(补:在ARC中不用担心此问题,因为ARC中会默认将实例化的Block拷贝到堆上)在函数出栈后,从mutableAarry中取到的stackBlock已经被回收,变成了野指针。

正确的做法是先将[stackBlock copy]到堆上,然后加入数组:[mutableAarry
addObject:[[stackBlock copy]
autorelease]]。支持copy,copy之后生成新的NSMallocBlock类型对象。

3)NSMallocBlock支持retain、release,虽然retainCount始终是1,但内存管理器中仍然会增加、减少计数。copy之后不会生成新的对象,只是增加了一次引用,类似retain;

4)Block_copy与copy等效,Block_release与release等效;

5)对Block不管是retain、copy、release都不会改变引用计数retainCount,retainCount始终是1;

6)尽量不要对Block使用retain操作,不方便管理。

Block的使用:UIView动画、presentViewController、ASI

 

6、Block对objc对象的内存管理

staticObj、globalObj、instanceObj、localObj、blockObj多种类型obj对象

主要是block被copy时其块中用到的变量的引用计数

1)非ARC

globalObj和staticObj在内存中的位置是确定的,所以Block
copy时引用计数不会改变。

instanceObj在Block
copy时并没有直接让instanceObj对象本身引用计数加1,但却让self引用计数加1。所以在Block中可以直接读写instanceObj变量。 

localObj在Block copy时,系统自动增加其引用计数。

blockObj在Block copy时,引用计数也不会改变。

使用__block避免循环引用 __block 类 *对象 = self

 

void(^block)(void)= ^{

[blockSelf doSomething];

};

 

7、循环引用retain cycle

循环引用指两个对象相互强引用了对方,即retain了对方,从而导致谁也释放不了谁的内存泄露问题。如声明一个delegate时一般用assign而不能用retain或strong,因为你一旦那么做了,很大可能引起循环引用

 

释放second 在fist delloc中释放 fist的delloc什么时候执行呢 ?

fist引用计数为0时执行 ,然而现在即便是将fist从window.rootViewController上卸载下来
即释放一次 却发现second还保留着first的一次引用 到头来还是要释放second
形成了delegate版本的retain cycle 即循环引用

 

释放_pBlock 在viewController delloc中释放 delloc什么时候执行呢?

viewController引用计数为0时执行 ,然而现在即便是将viewController从window.rootViewController上卸载下来
即释放一次 却发现_pBlock还保留着viewController的一次引用
到头来还是要释放_pBlock 形成了block版本的retain cycle 即循环引用

 

Block的内存管理

ARC下

在ARC下, 以下几种情况, Block会自动被从栈复制到堆:

1.被执行copy方法

2.作为方法返回值

3.将Block赋值给附有__strong修饰符的id类型的类或者Blcok类型成员变量时

4.在方法名中含有usingBlock的Cocoa框架方法或者GDC的API中传递的时候.

 

Block中的对象的内存管理

ARC下

只有在使用local变量时,block会复制指针,且强引用指针指向的对象一次。其它如全局变量、static变量、block变量等,block不会拷贝指针,只会强引用指针指向的对象一次。

block的循环引用,因为block在拷贝到堆上的时候,会retain其引用的外部变量,那么如果block中如果引用了它的宿主对象,那很有可能引起循环引用。如:self.myblock
= ^{[self doSomething];};

使用__weak避免循环引用

 

Tips:

内存主要分为

1.栈 – 由编译器自动分配释放  里面的变量通常是局部变量 函数参数等

2.堆 – 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收
alloc

3.全局区(静态区
static),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-
程序结束释放 static

People *p;  People *p2 = nil;

4.另外还有一个专门放常量的地方。- 程序结束释放  NSString *lastName =
@“xue”;

lastName = @“dkjs”;

5、方法区

 

简介,block简介 1、Blocks简介
Block字面意思就是 代码块 iOS4.0、Mac OS X 10.6开始Apple引入的特性
Block是Objective C语言中的对象 但是与NSObje…

C++ 简介

  C++是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的变成语言,支持过程化编程、面向对象编程和泛型编程。被认为是一种中级语言。是C的一个超集,事实上任何合法的C程序都是合法的C++程序。

  注:使用静态类型的编程语言是在编译时执行类型检查,而不是在运行时执行类型检查。

面向对象程序设计:

  C++
完全支持面向对象的程序设计,包括面向对象开发的四大特性:封装、抽象、继承、多态。

标准库

  标准的 C++ 由三个重要部分组成:

  •   核心语言,提供了所有构件块,包括变量、数据类型和常量,等等。
  •        C++ 标准库,提供了大量的函数,用于操作文件、字符串等。
  •   标准模板库(STL),提供了大量的方法,用于操作数据结构等

学习 C++

  学习 C++,关键是要理解概念,而不应过于深究语言的技术细节。

 

C++ 简介
C++是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的变成语言,支持过程化编程、面向对象编程和泛…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章