可空值类型 C#2推出可空类型来表示可以为null的值类型.这是一个呼声很高的需求,因为在常用的数据库中都是允许某些值类型可为空的.那么为什么值类型就不能为空呢?内存中用一个全0的值来表示null,但是全0的地址说明了这个内存空间是被清除了的.所以对象选择用这种方式来初始化.用byte类型来举个例子:byte类型用8位来表示一个值,也就是说byte类型可以表示的数据最多是256个(2的8次方).这256个值中的每一个值都是有用的,我们不可能吧其中一个值永远的舍弃掉从而来表示一个null值.对于引…
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图开始讲起.线程状态转换图.图很简单不要想得太复杂.了解了线程的基本的生命周期,那么我们要使用好它,就离不开了经常使用的几个方法:先来一段代码: public class TestSleep { public static void main(String[] args){ MyThread t =…
Angular复习笔记7-路由(下) 这是angular路由的第二篇,也是最后一篇.继续上一章的内容 路由跳转 Web应用中的页面跳转,指的是应用响应某个事件,从一个页面跳转到另一个页面的行为.对于使用Angular构建的单页应用而言,页面跳转实质上就是从一个配置项跳转到另一个配置项的行为.页面跳转流程如下图所示,当某个事件引发了跳转时,Angular会根据跳转时的参数生成一个UrlTree实例来和配置项进行匹配,如果匹配成功,则显示相应的组件并将新URL更新在浏览器地址栏中:如果匹配不成功,则…
Angular复习笔记7-路由(上) 关于Angular路由的部分将分为上下两篇来介绍.这是第一篇. 概述 路由所要解决的核心问题是通过建立URL和页面的对应关系,使得不同的页面可以用不同的URL来表示.主流前端框架围绕这个问题给出了各自的路由实现,虽然语法和工作机制不尽相同,但理念却殊途同归.在Angular中,页面由组件构成,因此URL和页面的对应关系实质上就是URL和组件的对应关系.建立URL和组件的对应关系可通过路由配置来指定.如下图所示,路由配置包含了多个配置项.最简单的情况是,一个配…
Angular复习笔记6-依赖注入 依赖注入(DependencyInjection)是Angular实现重要功能的一种设计模式.一个大型应用的开发通常会涉及很多组件和服务,这些组件和服务之间有着错综复杂的联系,如何很好地管理它们之间的依赖关系成了一个棘手的问题,而这也正是一个框架是否强大的硬指标.Angular提供的依赖注入机制,可以优雅地解决上面提到的问题.在传统的开发模式中,调用者负责管理所有对象的依赖,其中的循环依赖一直是梦魇.而在依赖注入模式中,这个管理权就交给了注入器(Injecto…
tarjan复习笔记 (关于tarjan读法,优雅一点读塔洋,接地气一点读塔尖) 0. 连通分量 有向图: 强连通分量(SCC)是个啥 就是一张图里面两个点能互相达到,那么这两个点在同一个强连通分量里, 极大强连通分量就是最大的强连通分量. 无向图: 一个全部联通的子图就是一个连通分量. 其中用到tarjan暂时还有边双连通分量(e-DCC)和点双连通分量(v-DCC) 边双连通分量(e-DCC) 指的是一个子图中没有桥的话,这就是一个边双连通分量. 一个无向图的每一个极大边双连通子图称作此无向…
前言 复习笔记第6篇. 求直径的两种方法 树形DP: dfs(y); ans=max( ans,d[x]+d[y]+w[i] ); d[x]=max( d[x],d[y]+w[i] ); int dis=dfs( v,u )+1; if ( f[u]<dis ) g[u]=f[u],f[u]=dis; else if ( g[u]<dis ) g[u]=dis; ans=max( ans,f[u]+g[u]+1 ); return f[u]; 两次 bfs/dfs: 从任意点出发,找到最远点l…
前言 复习笔记第4篇.CSP RP++. 引用部分为总结性内容. 0--P1433 吃奶酪 题目链接 luogu 题意 房间里放着 \(n\) 块奶酪,要把它们都吃掉,问至少要跑多少距离?一开始在 \((0,0)\) 点处. \(n\leq 15\) ,保留两位小数. 思路 为啥状压第一题是绿题啊.这么水了吗,为啥我还不会( 令 \(f[i][s]\) 表示从点 \(i\) 出发,遍历集合为 \(S\) 的最小值,枚举其他点进行转移.预处理边界 \(f[i][s]=0\) (\(S\) 为除了第…
前言 复习笔记2nd. Warning:鉴于摆渡车是普及组题目,本文的难度定位在普及+至省选-. 参照洛谷的题目难度评分(不过感觉部分有虚高,提高组建议全部掌握,普及组可以选择性阅读.) 引用部分(如这个文本)为总结性内容,建议即使是跳过部分也进行阅读. 0--P3195[HNOI2008]玩具装箱 题目链接 怎么一上来就是紫题啊 题意 给定 \(C_i\) 表示每个物体长度,把 \(i\sim j\) 的物品放入一个容器中,容器的长度为 \(x=j-i+\sum_{k=i}^j C_k.\)…
Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之间,海底光缆是如何横跨太平洋的.“所谓的铺设,就是直接扔进海里,只不过再扔之前需要勘探光缆经过的地区的年水流数据,海域水深等情况,基本都是扔在水比较浅且水流平稳的地区.”目前,同样有卫星无线通信. 网络通信的协议约束:通信协议的分层思想(编程的时候,无需了解光缆,还是宽带): 在网络编程中,有两个问…