声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程. 1.8比特的char类型计算机表示的实际范围是-128-127. 2.赋值给无符号类型unsigned 时,如果超出它的显示范围,则结果是初始值对无符号类型表示数值总数取模后的余数. 如:unsigned char c = -1,则char占8比特,c的值是255. 赋值给带符号类型signed时,如果超出它的范围,结果是未定义的.此时可能继续工作.崩溃或者产…
第二章 变量与基本类型 1.基本内置类型包括算术类型和空类型,算术类型分为两类:整型(包括字符和布尔类型)和浮点型: 2.布尔类型(bool)的取值是真(true)或者假(false): 3.字面值常量:每个字面值常量都对应一种数据类型,字面值常量的形式和值决定了它的数据类型, 由单引号括起来的一个字符是char型字面值,有双引号括起来的零个或者多个字符则构成字符串字面值: 20  整形字面值 ‘a’ 字符字面值 “Hello World”或者“”都会字符串字面值 ‘A’表示单独字符A,而“A”…
术语表 第 2 章 变量和基本类型 地址(address): 是一个数字,根据它可以找到内存中的一个字节    别名生命(alias declaration): 为另一种类型定义一个同义词:使用 "名字 = 类型" 的格式将名字作为该类型的同义词.    算术类型(arithmetic type): 布尔值,字符,整数,浮点数等内置类型.    数组(array): 是一种数据结果,存放着一组未命名的对象,可以通过索引来访问这些对象.    auto: 是一种类型说明符,通过变量的初始…
声明:侯捷先生的STL源码剖析第二章个人感觉讲得蛮乱的,而且跟第三章有关,建议看完第三章再看第二章,网上有人上传了一篇读书笔记,觉得这个读书笔记的内容和编排还不错,我的这篇总结基本就延续了该读书笔记的框架,如果发现有雷同,请勿见怪,这篇文章只是我的个人记录,算不上原创,只是更多的想把概念描述清楚,所以如果您觉得有copy之嫌的话请绕道看您觉得的原链接.在第8部分给出了笔记的参考链接.   1.allocator 作用 STL的组件(容器)都需要配置空间以放置资料.这个就是allocator的作用…
第二章 起步 本章就相当简单粗暴了,用一个个例子说明hazelcast怎么用. 1.map,set,list这些集合类都是开箱即用的,只要从Hazelcast的实例中获取一份就行. 2.增加了MultiMap(google的guava也有),允许一个key可以有多个value. 3.增加了Predicate做数据筛选,可以用默认的sqlpredicates也可自定义,甚至可以自定义分页查询. client单独出一个jar包了.书里的法子不行.只能自己写. 首先在pom里面加入依赖 <depend…
第二章的思维导图(代码迟点补上):…
前言:工作之后一直在搞android,现在需要更多和后台的人员交涉,技术栈不一样,难免鸡同鸭讲,所以稍稍学习下. 这个例子取自于<Spring 3.x 企业应用开发实战>一书中的第二章,IDE是Intellij,数据库为mySql.在Spring Web中,一般把系统划分为3个部分: 1.持久层----数据库的操作 2.业务层----主要的业务逻辑判断 3.展现层----展示给用户的操作界面 这是一种大而化之的分类方式,比如展现层可能是html,也可能是移动端的App.持久层可能操作的数据库也…
这章主要讲解了数组的工作原理和其适用场景. 定义: 一个存储元素的线性集合,元素可以通过索引来任意存取,索引通常是数字,用来计算元素之间存储位置的偏移量. javascript数组的特殊之处: javascript中数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,索引可能是整数,但是这些整数会被转化为字符串. 这是因为javascript中对象的属性必须死字符串类型. 1. 数组的基本操作  a) 创建数组 声明空的数组: // 1. 使用new关键字 var arr1 = new A…
第二章  创建和销毁对象 第一条 使用静态工厂方法替代构造器,原因: 静态工厂方法可以有不同的名字,也就是说,构造器只能通过参数的不同来区分不同的目的,静态工厂在名字上就能表达不同的目的 静态工厂方法不用每次调用的时候都创建新的对象(其实是因为它是static的,所以只能用static的,所以是一早就创建了,不需要重复创建吧..),比如书中 Boolean.valueOf(boolean) public static final Boolean TRUE = new Boolean(true);…
这章的标题是C语言概述,内容大概是介绍一些简单的示例程序,来了解和熟悉C语言的一些基本特征. 这是书里的第一段代码,敲敲找找感觉.推荐在linux环境下写代码. PS:倒腾sublime text一下午,想装个sublimeClang插件,结果直接把sublime text整崩了,怒换atom,用着还不错. #include <stdio.h> int main(void) /*一个简单的C程序*/ { int num; /*定义为一个名为num的变量*/ num = 1; /*赋值*/ pr…
1 变量的定义用于为变量分配存储空间,还可以为变量指定初始值.在一个程序中,变量有且只有一个定义.声明用于向程序表明变量的名字和类型.定义也是声明:当定义变量时,我们声明了它的类型和名字.可以通过使用extern关键字声明变量名而不定义它.不定义变量的声明包括对象名,对象类型和对象类型前的关键字extern.extern int i; // declears but does not define iint i; // declars and defines iextern 声明不是定义,也不分…
1.在算数表达式中最好不要使用char或bool,只有在存放字符或布尔值时才使用他们,因为char在有些机器上是有符号的,在一些机器上是无符号的,所以特别容易出问题,如果只表示一个不大的整数,那么明确他的类型是signed char或是unsigned char. 2.关于相互赋值.如果按如下定义bool a = 10; int b = a; 那么b = 1,因为bool变量true类型算术运算时会被当成1,false为0. 当我们把一个浮点数赋给一个整数时,会截尾处理. 当把一个非0的书赋给b…
本章介绍时间序列中的基本概念.特别地,介绍随机过程.均值.方差.协方差函数.平稳过程和自相关函数等概念. 2.1时间序列与随机过程 关于随机过程的定义,本科上过相关课程,用的是<应用随机过程>清华林元烈老师的书.第1章第5节: 上面的定义比较清楚明白.按照本书上的说法,随机变量序列就是一个随机过程,换句话说,在每一个t时刻,所研究的量都是一个随机变量.随机过程完整的概率结构是由每个时刻的有限联合概率分布族决定的,幸运的是,联合分布中的大部分信息可以通过均值.方差和协方差等加以描述,而不用去直接…
Java内存管理分为两个方面:内存分配和内存回收.这里的内存分配特指创建Java对象时JVM为该对象在堆内存中所分配的内存空间.内存回收指的是当该Java对象失去引用,变成垃圾时,JVM的垃圾回收机制自动清理该对象,并回收该对象所占用的内存.由于JVM内置了垃圾回收机制回收失去引用的Java对象所占用的内存,所以很多Java开发者认为Java不存在内存泄漏,资源泄漏的问题.实际上这是一种错觉,Java程序依然会有内存泄漏. 由于JVM的垃圾回收机制由一条后台线程完成,本身也是非常消耗性能的,因此…
一.获取内核源码 1. Git git实际上是一种开源的分布式版本控制工具. Linux作为一个开源的内核,其源代码也可以用git下载和管理 - 获取最新提交到版本树的一个副本 - $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git - 下载代码后,更新自己的分支到最新分支 - $ git pull 2.安装内核源代码 压缩形式为bzip2:$ tar xvjf linux-x.y.z.…
第五节 探索领域架构 一.领域驱动设计的价值与意义 最初在java中使用,.net要晚些才引入.领域驱动设计出现之初的争议.一个向导,少走弯路   1. 我们真的需要DDD吗? DDD并不适用于每个软件项目,因为他需要掌握一相技能,可有较高的启动成本.也不会因为一个项目简单而阻止你使用DDD,在是否DDD方面有两误区,你觉得使用他很cool,你觉得项目只有稍复杂的CRUD.使用DDD的真正价值在于理如何时解决它并合理利用它 使用DDD分析 DDD 的分析部分包括两个相关元素: 通用的语言和边界上…
1.编译过程: source code→Compiler→Object code→Linker←Lib ↓ Exe 2.经过初始化的静态变量(static)在程序执行前能获得他们的值. 3.绝大多数环境使用堆栈来存储局部变量和其他数据.…
本章节主要Jquery选择器 jquery选择器与css选择器十分相似,特别需要注意的是 <script type="text/javascript"> document.getElementById("tt").style.color="red"/*若没有"tt"元素,浏览器者会报错*/ </script> <script type="text/javascript">…
列表推导是构建列表(list)的快捷方式,而生成器表达式则可以用来创建其他任何类型的序列.如果你的代码里并不经常使用它们,那么很可能你错过了许多写出可读性更好且更高效的代码的机会. 2.2.1 列表推导和可读性 把一个字符串变成 Unicode 码位的列表 第一种方法 symbols = '$¢£¥€¤' codes = [] # ord() ascii字符串 转换成对应的数字 for symbol in symbols: codes.append(ord(symbol)) print(code…
参数 参数 说明 -a ‘Arguments’, —args=’Arguments’ 命令行参数 -m NAME, —module-name=NAME 执行模块的名字,默认使用 command 模块,所以如果是只执行单一命令可以不用 -m参数 -i PATH, —inventory=PATH 指定库存主机文件的路径,默认为/etc/ansible/hosts. -u Username, —user=Username 执行用户,使用这个远程用户名而不是当前用户 -U —sud-user=SUDO_…
2.1数据集的概念 变量的类型是不同的,比如标示符.日期变量.连续变量.名义变量.有序型变量等,记得数据挖掘导论中有专门的描述. R可以处理的数据类型包括了数值型.字符型.逻辑型.复数型(虚数).原生型(字节). 2.2数据结构 R拥有很多存储数据的对象类型,包括 标量.向量.矩阵.数组.数据框.列表.它们可以用下图表示: 因子是R中的名义型或者有序型变量,比较特殊. 2.2.1向量 标量是只有一个元素的向量,一般用来保存常量.其他没什么说的. seq函数: seq(, to = , by =…
第二条 遇到多个构造器参数时,可以考虑用构建器 当遇到有多个构造器参数时,常见的是用重叠构造器,即: public class TestClass{ public TestClass(int para0){ this(para0,0); } public TestClass(int para0,int para1){ this(para0,para1,0); } public TestClass(int para0,int para1,int para2){ this.para0 = para0…
基础知识 函数必须先被声明,然后才能被调用(被使用).函数的声明让编译器得以检查后续出现的使用方式是否正确--是否有足够的参数.参数类型是否正确,等等.函数声明不必提供函数体,但必须指明返回类型.函数名,以及参数列表.此即所谓的函数原型(function prototype). 如果函数的返回类型不为void,那么它必须在每个可能退出点上将值返回.函数中的每条return语句都被用来明确表示该处就是函数的退出点.如果函数体最后一条语句不是return,那么最后一条语句之后便是该函数的隐式退出点.…
本人一直是徐医生的真爱粉,由于参加比赛耽误了8天,导致更新得有点慢,大家见谅 2.1 Git的前世今生 Git是什么 Git安装与配置 2.2 创建Git仓库 Git init Git clone 2.3 提交修改 add&&commit 追加修改 查看代码仓库状态 追溯版本历史 2.4 工作区与暂存区 Git操作区域 2.5 Git回退 checkout&&reset 回退版本 2.6 操作历史 2.7 Git文件操作 git rm 文件暂存 2.8 远程仓库 身份认证…
java1.7和java8的jvm存在差异,本文先按照<深入理解java虚拟机>的讲解内容总结,并将java8的改变作为附录放在文末 一丶运行时数据区域 ​ 图:java虚拟机运行时数据区 1.程序计数器 概念与作用: 一块较小的内存空间,可以看作时当前线程执行字节码的行号指示器,字节码解释器通过控制改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支,循环,跳转,异常处理,线程恢复等基础功能都需要依赖程序计数器完成. 线程私有的 为什么要设计成线程私有的: jav…
<script>元素 直接在页面中嵌入JavaSript代码或包含外部JavaSript文件. 在代码中任何地方不能出现</script>,可通过转义字符'\'解决. 在XHTML中可省略</script>,HTML中不能. 延迟脚本:defer属性(defer="defer"),告诉浏览器立即下载,延迟执行.最好只包含一个延迟脚本. 异步脚本:async属性(async="async"),不让页面等待两个脚本下载和执行,异步加载…
一.编排业务逻辑的模式1. 事务脚本模式TS(The Transaction Script pattern ) TS模式概述     TS 鼓励你跳过任何的面向对象的设计,你直接到所需的用户操作的业务组件映射.专注于的业务用户可以通过表示层完成,并为每个请求编写方法.这个方法被称之为事务脚本,此处事务通常是指想要进行商业交易,脚本是指系统中的一系列关系用户操作的系统操作.     TS历时多年仍然不过时的原因只有一个:它基于推行可视化的业务逻辑设计,而可视化正上用户体验的核心.     在TS中…
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3537576.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验. 第1条:用静态工厂代替构造函数 1. 形式 public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } 2. 优点: 可以有名称 不一定要创建新对象,可以返回已有的对象 可以返回子类类…
Java的体系结构对平台无关的支持 Java平台 Java的体系结构通过几种途径支持Java程序的平台无关性,其中主要是通过Java平台自己.Java平台扮演一个运行时Java程序与其下的硬件和操作系统之间的缓冲角色.Java程序被编译为可运行于Java虚拟机中的二进制程序,并且假定Java API的class文件在运行时都是可用的.接着虚拟机运行程序,那些API则给予程序访问底层计算机资源的能力.无论Java程序被部署到何处,它只需要与Java平台交互,而不需要担心底层的硬件和操作系统.因此,…
1.基本类型的显式初始化 如果采用不含参数.明确的constructor(构造函数)调用语法,基本型别会被初始化为零: int i1; //undefined value int i2 = int(); //initialized with zero 这个特性可以确保我们在撰写template程序代码时,任何型别都有一个确切的初值.例如下面这个函数中,x保证被初始化为零. template <class T> void f() { T x = T(); }…