背景
项目中我们会遇到这样的情况:在几个方法中加入相同的代码,这些代码是与业务无关的,并且以后有可能由于考虑不周或需求变动再或者是其他原因,我们需要对他们进行逐一进行改动。举个具体的例子,比如程序中的日志控制、事务控制等,这些功能是与业务无关的,但却需要将它们与我们的逻辑混在一起,达到一些特殊的需求。
这样的情况往往代码都是相同的,可以抽离出来,为了复用,我们可以将这些相同...
分类:
编程语言 时间:
2015-03-12 17:22:50
阅读次数:
270
this关键字的使用
在JavaScript中使用this关键字表示调用方法的对象,这与大部分面向对象语言是一样的。但是由于call、apply、bind等函数的影响,我们可以改变this所代指的对象。
使用call或者apply调用的函数中,this代指传入的第一个参数对象,如果传入null或者undefined,则表示全局对象(window)。通过对象调用函数(方法),函数中的th...
分类:
编程语言 时间:
2015-03-12 17:20:18
阅读次数:
206
Spring目前支持以注解的形式执行定时、周期任务,实现起来非常方便!!
1.spring xml配置文件中加入包扫描
2.添加类及方法注释
@configuration
@EnableScheduling
3.添加任务注释
@Scheduled
class代码如下:
将每5秒打印出当前时间
@Configuration
@EnableScheduling
pub...
分类:
编程语言 时间:
2015-03-12 17:19:03
阅读次数:
179
什么是Lambda?
C++ 11加入了一个非常重要的特性——Lambda表达式。营里(戴维营)的兄弟都对Objective-C很熟悉,许多人多block情有独钟,将各种回调函数、代理通通都用它来实现。甚至有人选择用FBKVOController、BlocksKit等开源框架将KVO、控件事件处理都改为通过block解决。原因就是简单、方便、直观,函数的定义和使用出现在同一个地方。这里的La...
分类:
编程语言 时间:
2015-03-12 17:21:04
阅读次数:
5159
一、auto关键字的前世
从C语言开始,auto关键字就被当作是一个变量的存储类型修饰符,表示自动变量(局部变量)。它不能被单独使用,否则编译器会给出警告。
#include
int main()
{
int a = 123;
auto int b = 234;
auto c = 345;
printf("a = %...
分类:
编程语言 时间:
2015-03-12 17:20:39
阅读次数:
280
Java中的异常有下面几种:
1) Error:Java运行时的内部错误;
2) Exception:程序中应该捕获的异常。
RuntimeException:由于编程产生的错误;
IOException:输入输出产生的错误。
异常处理的方法:
1)try-catch
try语句块只能有一个,而catch可以有多个,catch必须...
分类:
编程语言 时间:
2015-03-12 17:18:28
阅读次数:
211
[基本思想]
关键:在前面已经排好序的序列中找到合适的插入位置
步骤:
1. 从第一个元素开始,该元素可以认为已经排好序。
2. 取出下一个元素,在已经排好序的元素序列中从后往前扫描进行比较。
3. 如果该元素(已排序) 大于新元素,则将该元素移到下一位置。
4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置。
5. 将新元素插入到该位置后面。
6. 重复步骤2~5...
分类:
编程语言 时间:
2015-03-12 17:18:57
阅读次数:
227
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
...
分类:
编程语言 时间:
2015-03-12 17:19:03
阅读次数:
184
有人认为面向对象是C++/Java这种高级语言的专利,实际不是这样,面向对象作为一种设计方法,是不限制语言的。只能说,用C++/Java这种语法来实现面向对象会更容易、更自然一些。
在本节中,就展示如何在C语言中实现面向对象编程,这是一件吃力的工作。写这些的目的有两个:
① 更好的掌握C++中的class的概念。学习了本章,就知道C程序员的无耐,就知道为什么要发明一个class的概念、为什么要...
分类:
编程语言 时间:
2015-03-12 17:18:53
阅读次数:
220
#include
using namespace std;
struct A{
static map create_map()
{
map m;
m[1] = 2;
m[3] = 4;
m[5] = 6;
return m;
}
s...
分类:
编程语言 时间:
2015-03-12 17:16:49
阅读次数:
178
问题描述:
64位win7中使用vs2013为python3.4.2安装pycrypto-2.6.1插件报Unable to find vcvarsall.bat。
问题分析:
1、源码分析,查找python源码distribut模块中出现Unable to find vcvarsall.bat的位置,在msvc9compiler.py文件中find_vcvarsall方案处出现...
分类:
编程语言 时间:
2015-03-12 17:17:06
阅读次数:
2602
??
问题描述:在一个数组(无序)中快速找出两个数字,使得两个数字之和等于一个给定的值。假设数组中肯定存在至少一组满足要求。
《剑指Offer》P214(有序数组) 《编程之美》P176
Que:Given an array of integers, find twonumbers such that they add up to a specific target number...
分类:
编程语言 时间:
2015-03-12 17:13:37
阅读次数:
8101
Javascript:存储和读取cookie....
分类:
编程语言 时间:
2015-03-12 17:13:06
阅读次数:
206
题目大意:给定一个序列,可以选择k次区间并将区间内每个数都+1,求操作之后LIS的最大值
我的做法不是标解。。。5E的复杂度为何跑的飞起。。。
首先一个显而易见的结论就是我们选择的k次区间右端点都是n时才能保证最优
知道这个我们就可以DP了- -
令f[i][j]表示前i个数上升j次的最大LIS
那么有f[i][j]=max{f[k][l]|k
看到三维偏序就可以用二维树状数组了- -...
分类:
编程语言 时间:
2015-03-12 17:12:16
阅读次数:
1099