一、替换
如果表达式中包含特殊字符,Shell 将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换。
举个例子:#!/bin/bash
a=10
echo -e "Value of a is $a \n"运行结果:
Value of a is 10
这里 -e 表示对转义字符进行替换。如果不使用 -e 选项,将会原样输出:
Value of a is 10\...
分类:
编程语言 时间:
2016-04-29 17:12:06
阅读次数:
267
前言: 今天分享一个很漂亮的功能强大的图表库,希望对有需要的同学, 有帮助, 喜欢请点个赞,支持一下.谢谢~
在项目中如何加入Swift库请看我的上一篇文章
http://www.jianshu.com/p/fd91c10c9f55
编译环境: Xcode7.3添加Charts图表库// 在Podfile中
use_frameworks!
pod 'Charts'import Charts...
分类:
编程语言 时间:
2016-04-29 17:10:28
阅读次数:
740
本博文系列参考自>第三版,作者:王爽
可以修改IP寄存器的值,或者同时修改CS与IP的值的指令称为转移指令。转移指令的功能就是使得CPU执行内存中某段特定的指令或程序。
8086CPU的转移行为分为如下几类;
1.只改变IP值,称为段内转移。比如 jmp ax;段内转移又分为短转移和近转移。短转移IP的修改范围为-128~127,近转移IP的修改范围为-32768~32767.
...
分类:
编程语言 时间:
2016-04-29 17:08:27
阅读次数:
300
一直以为 int a[256]={0};是把a的所有元素初始化为0,int a[256]={1};是把a所有的元素初始化为1.
调试的时查看内存发现不是那么一回事,翻了一下《The C++ Programming Language》总算有定论。PDF的竟然不然复制,就把它这章翻译了,如下
数组初始化
数组可以用一个列值来初始化,例如
int v1[] ={1...
分类:
编程语言 时间:
2016-04-29 17:08:39
阅读次数:
165
转:http://www.kuqin.com/java/20120906/330130.html
试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序。但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运行时上面。
在开始之前,推荐大家去看看Eclipse shortcuts这篇文章,它将会给...
分类:
编程语言 时间:
2016-04-29 17:07:30
阅读次数:
190
一:内存管理的形象说明
二:内存的申请和释放(针对某一数据类型)
注意:对申请的内存进行赋值通常有两种方式,在申请内存时直接赋值;或在申请内存后对指针进行赋值
三:内存块的申请和释放
注意:对块内存进行赋值,如上,指针与数组结合,理解指针与数组的区别的区别很重要,明明p是一个指针,为什么会有p[0]=1;这种复制方法,这与指针里面存储的内容是数组的首地址,而首地址加...
分类:
编程语言 时间:
2016-04-29 17:08:49
阅读次数:
147
Python中的一切都是对象,并且这些对象都是Python的组成部分,即是内置对象,和python一同产生。
从更正式的角度来讲,在P ython中,数据以对象的形式出现一一无论是Py t hon提供的内置对象,还是使用Python或是像C扩展库这
样的扩展语言工具创建的对象。尽管在以后才能确定这一概念,但对象无非是内存中的一部分,包含数值和相关操作的集合。
内置对象
对象类型 例子常量/创...
分类:
编程语言 时间:
2016-04-29 17:07:10
阅读次数:
180
转换流★转换流功能1:充当字节流与字符流之间的桥梁需求:模拟英文聊天程序,要求:
(1) 从键盘录入英文字符,每录一行就把它转成大写输出到控制台;
(2) 保存聊天记录到字节流文件。要求1的设计分析:1)需要从键盘接收录入,得用System.in,它是字节输入流InputStream;
2)需要处理字符,可以自己把字节强转成字符,也可以用字符流;
3)需要类似readLi...
分类:
编程语言 时间:
2016-04-29 17:05:34
阅读次数:
242
资源管理
所谓资源就是,一旦使用了它,将来必须归还给系统!C++最常见的资源就是动态分配内存,如果不归还就会内存泄露。
1. 以对象管理资源
我们通常希望有一个对象来帮助我们解决资源管理的问题(自动调用析构函数),于是此章我们讨论auto_ptr和shared_ptr。
问题产生假设我们希望使用一个工厂方法如:class investment {...}; // 代表一个root clas...
分类:
编程语言 时间:
2016-04-29 17:03:29
阅读次数:
262
为了说明 JavaScript 是一门彻底的面向对象的语言, 首先有必要从面向对象的概念着手 , 探讨一下面向对象中的几个概念:1. 一切事物皆对象
2. 对象具有封装和继承特性
3. 对象与对象之间使用消息通信,各自存在信息隐藏JavaScript 语言是通过一种叫做 原型(prototype) 的方式来实现面向对象编程的。基于类的面向对象和基于原型的面向对象方式比较在基于类的面向对象方式中,对象...
分类:
编程语言 时间:
2016-04-29 17:01:01
阅读次数:
281
前言
查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。
面试官对于这...
分类:
编程语言 时间:
2016-04-29 17:00:59
阅读次数:
242
基本概念Command
命令模式是一个高内聚的模式(满足单一职责原则)
概念:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。
命令模式在项目中频繁使用,封装性和拓展性都有很好的保障
Command模式中的角色分工:
Client:创建一个命令并决定接受者
Command:命令接口,定义一个抽象方法
Concrete Com...
分类:
编程语言 时间:
2016-04-29 17:00:00
阅读次数:
195
1、String的split(String regex)方法参数注意点
使用这个方法时,当我们直接以“.”为参数时,是会出错的,如:
String str = "12.03";
String[] res = str.spilt("."); //出错!!!此时,我们得到的res是为空的(不是null),即str = [];
因为String的split(String regex)根据给定...
分类:
编程语言 时间:
2016-04-29 16:57:34
阅读次数:
384
原子操作,内存屏障,锁
1.原理:CPU提供了原子操作、关中断、锁内存总线,内存屏障等机制;OS基于这几个CPU硬件机制,就能够实现锁;再基于锁,就能够实现各种各样的同步机制(信号量、消息、Barrier等等等等)。
2.所有的同步操作最基础的理论就是原子操作。内存屏障,锁都是为了保证在不同的平台或者是CPU类型下的原子操作。
3.原子操作在单核,单线程/无中断,且编译器不...
分类:
编程语言 时间:
2016-04-29 16:58:26
阅读次数:
381
基本概念
定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,知道有对象处理它为止。
COR(责任链)模式的角色分工:
Handler:抽象处理者,定义一个处理请求的接口
Concrete Handler: 具体处理者,处理请求的具体类,或者传给”下家”。
Requester:发出请求等待处理的类,它无需关注到底是哪个具体的...
分类:
编程语言 时间:
2016-04-29 16:54:55
阅读次数:
227
不要相信客户端, 所以做后端的人都应该铭记的事情。因为前端传过来的数据并不总是合法和有效的,所以后端是对访问资源的最后一道保护伞。之前我们在Spring中说到过AOP编程,AOP基础知识,它就可以在执行我们的方法之前进行一些预处理和验证来保护后端的资源。不难想到她的实现方式和本篇要说的过滤器的实现原理应该是相同的,都是通过Java的动态代理实现的(自己的理解)。...
分类:
编程语言 时间:
2016-04-29 16:56:33
阅读次数:
384
public class Demo1 {
public static void main(String[] args) {
String str1 = "hello";
String str2 = "hello";
String str3 = new String("hello");
String str4 = new String("hello");
System...
分类:
编程语言 时间:
2016-04-29 16:54:30
阅读次数:
198