参考
张孝详系列
场景
编写一个程序:子线程连说 3 次 “ 你愿意吗?” ,接着主线程连续回答 10次 “我愿意” ,然后子线程再说3次“你愿意吗?”,主
线程回答“我愿意” 10次 。。。 轮流如此往复执行 10次。
分析
“连说 3 次”,“连续回答” 意味着互斥-主线程执行的时候,子线程不能执行;子线程执行的时候,主线程不能执行。
“轮流往复”意味着同步-...
分类:
编程语言 时间:
2016-05-07 09:36:35
阅读次数:
165
(1)pandas.Series.value_counts:返回对象中包含唯一值个数,
Series.value_counts(normalize=False, sort=True, ascending=False, bins=None,dropna=True)
参数:
normalize : boolean, default False
如果True则返回coun...
分类:
编程语言 时间:
2016-05-07 09:35:42
阅读次数:
187
字符串匹配(string match)是在实际工程中经常会碰到的问题,通常其输入是原字符串(String)和子串(又称模式,Pattern)组成,输出为子串在原字符串中的首次出现的位置。通常精确的字符串搜索算法包括暴力搜索(Brute force),KMP, BM(Boyer Moore), sunday, robin-karp 以及
bitap。下面分析这几种方法并给出其实现。假设原字符串长...
分类:
编程语言 时间:
2016-05-07 09:34:32
阅读次数:
129
Item M20:协助完成返回值优化
一个返回对象的函数很难有较高的效率,因为传值返回会导致调用对象内的构造和析构函数(参见条款M19),这种调用是不能避免的。问题很简单:一个函数要么为了保证正确的行为而返回对象要么就不这么做。如果它返回了对象,就没有办法摆脱被返回的对象。就说到这。
考虑rational(有理数)类的成员函数operator*:(返回类型为const是为了防止连续...
分类:
编程语言 时间:
2016-05-07 09:32:54
阅读次数:
237
下面通过一个小范例来学习如何获得一个字符串中的数字import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class test {
public static void main(String[] args) {
String strInput = "3a7s10@5d2a6s17s56;3...
分类:
编程语言 时间:
2016-05-07 09:32:45
阅读次数:
154
问题描述:
在Java Web项目中,用户可访问Url一般只有一个,即index或login。而用户的其他Url请求都会引导到index页。如何来避免未登录用户直接访问Spring的Conroller和jsp文件?
解决方案:
一、阻止用户访问jsp。
Spring的MVC模式是不提倡直接通过URL形式访问.jsp页面的,建议通过Controller跳转至View页面。
...
分类:
编程语言 时间:
2016-05-07 09:32:45
阅读次数:
858
很多同学可能在学习数组时会有这个疑问,下标为什么不从1开始呢?从1开始不是更符合大家的日常习惯吗?生活中我们通常说第1个,而不是第0个。的确,有些计算机语言如早期的Pascal语言,数组元素的下标是从1开始的。难道是C语言故意要与众不同?要弄清楚这个问题,得先看一下计算机底层是怎样处理数组元素的。我们先编写了一个小程序,然后在visual
studio中对其进行了反汇编。源程序和反汇编后的部分...
分类:
编程语言 时间:
2016-05-07 09:34:02
阅读次数:
430
什么是迭代在Python中,如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration)。在Python中,迭代是通过 for … in 来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码:for (i=0; i<list.length; i++) {
n = list[i];
}可以看...
分类:
编程语言 时间:
2016-05-07 09:30:20
阅读次数:
211
首先讲一下进程和线程的区别:
进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。
线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。
线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止。
多进程是指操作系统能同时运行多个任务(程序)。
多...
分类:
编程语言 时间:
2016-05-07 09:31:27
阅读次数:
186
标准库中next_permutation函数:找当前序列中元素排列的下一个排列,按照字典顺序进行排列。比如说数组排列"123",那么它的下一个排列为"132",并且返回true。如果当前序列没有下一个排列,我们返回false,且把当前排列置为最小的排列,比如说:排列"321",因为该排列已经是最大的排列,所以它没有下一个排列。我们把该排列置为"123",并且返回false。
标准库实现两...
分类:
编程语言 时间:
2016-05-07 09:31:27
阅读次数:
240
【原来在SAE的blog上,都转到CSDN了。。】
56.
Merge Intervals-leetcode-java
发表于 2016/02/08
题意
Given a collection of intervals, merge all overlapping intervals.
For example,
Given [1,3],[2,6]...
分类:
编程语言 时间:
2016-05-07 09:31:37
阅读次数:
208
Color the ball
Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 15491 Accepted Submission(s): 7731
Problem Description
N个气球排成一排,从左到右依...
分类:
编程语言 时间:
2016-05-07 09:27:55
阅读次数:
141
如今我们正在开发一个新的插件,一个能够让开发者在 Visual Studio (以下简称 VS ) 上建构能够在 Linux 上运行 C++ 程序的套件。下方文章将继续介绍使用我们这套全新的 Linux 计划。...
分类:
编程语言 时间:
2016-05-07 09:30:37
阅读次数:
201
【原来在SAE的blog上,都转到CSDN了。。】
21.
Merge Two Sorted Lists-leetcode-java
发表于 2016/02/05
题目
Merge two sorted linked lists and return it as a new list. The new list should be made by spl...
分类:
编程语言 时间:
2016-05-07 09:27:23
阅读次数:
172
首先大家应该都知道Java从1.2起提供了四种引用类型,他们分别是其引用(StrongReference),软引用(SoftReference),弱引用(WeakReference)以及PhantomReference(虚引用),他们被GC回收的可能性从大到小排列。如下图可以看到Reference是继承自Object,而又有三个直接的子类,就是我们要介绍的几个类了。另外还有一个Reference...
分类:
编程语言 时间:
2016-05-07 09:27:01
阅读次数:
230
一,问题及代码
/*
文件名称:教师干部类.cpp
作者 :汤俊鹏
日期 :2016.5.6
平台 :visual c++ 6.0
项目名称:教师干部类
问题详情: 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。
要求:
(1)在两个基类中...
分类:
编程语言 时间:
2016-05-07 09:26:19
阅读次数:
199
Item M18:分期摊还期望的计算
在条款M17中,我极力称赞懒惰的优点,尽可能地拖延时间,并且我解释说懒惰如何提高程序的运行效率。在这个条款里我将采用一种不同的态度。这里将不存在懒惰。我鼓励你让程序做的事情比被要求的还要多,通过这种方式来提高软件的性能。这个条款的核心就是over-eager
evaluation(过度热情计算法):在要求你做某些事情以前就完成它们。例如下面这个模...
分类:
编程语言 时间:
2016-05-07 09:22:50
阅读次数:
172