概述
每个进程都拥有自己的数据段、代码段和堆栈段,这就造成进程在进行创建、切换、撤销操作时,需要较大的系统开销。为了减少系统开销,从进程中演化出了线程。为了让进程完成一定的工作,进程必须至少包含一个线程。线程存在于进程中,共享进程的资源。更多详情,请看《进程和线程的区别与联系》。
就像每个进程都有一个进程号一样,每个线程也有一个线程号。进程号在整个系统中是唯一的,但线程号不...
分类:
编程语言 时间:
2015-08-18 10:20:27
阅读次数:
216
首先声明:在键盘中敲入字符后,字符会首先保存在键盘缓冲区中供scanf函数读取(scanf,getchar等函数是读取缓冲区,getch函数是读取的控制台信息,即为直接从键盘读取)。另外特别注意键盘上敲入回车实际为“\r\n”,但存储到缓冲区时候会舍弃‘\r’而只存储\n.例如我们敲入字符“12345回车”,缓冲区内存储的为“12345\n”.
文章中“_”代表空格
代码:
ch...
分类:
编程语言 时间:
2015-08-18 10:22:01
阅读次数:
126
概述
Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量是线程共享的,存在竞争问题的。
Java内存模型规定了所有的变量都存储在主内存,每条线程还有自己的工作内存中保存了被该线程使用到的变量的主内存副本拷贝,线程对变量的所有操作(读取、赋值等),都必须在工作内存中进行,而不能直接读写主内存中的变量。...
分类:
编程语言 时间:
2015-08-18 10:20:36
阅读次数:
212
本节主要内容
Scala简介
为什么要学习Scala
Scala语言初步
1. Scala简介
Scala(Scala Language的简称)语言是一种能够运行于JVM和.Net平台之上的通用编程语言,既可用于大规模应用程序开发,也可用于脚本编程,它由由Martin Odersk于2001开发,2004年开始程序运行在JVM与.Net平台之上,由于其简洁、优雅、类型安全的编程模式而受到...
分类:
编程语言 时间:
2015-08-18 10:20:38
阅读次数:
230
虽然Java中有枚举类型这种数据类型,但是很少用,其实当用到星期、月份、四季等数据集的时候,无疑,枚举类型不仅很方便地解决了整数和字符串的映射问题,而且极大地提高了程序的可读性。
下面就用简单的程序代码来说明这种问题:
1.枚举类型自动赋值,默认情况下枚举变量从前到后分别被赋值为0、1、2、3、4、5....然后用循环的方式将枚举变量的名称和其对应的下标打印出来。...
分类:
编程语言 时间:
2015-08-18 10:18:09
阅读次数:
95
背景
最近开始研究算法,于是在leetcode上做算法题,第五题Longest Palindromic Substring便是关于回文子串的。
什么是回文字串
回文字符串是指将该字符串前后颠倒之后和该字符串一样的字符串。例如:a,aaaa,aba,abba…
最长回文子串
要求最长回文子串,就需要遍历每一个子串,时间复杂度是O(N²);判断字串是不是回文,时间复杂度是...
分类:
编程语言 时间:
2015-08-18 10:18:51
阅读次数:
172
用构造器确保初始化[edit]
构造器与类名称相同;是一种特殊类型的方法,因为它没有返回值。
在创建对象时,会为对象分配存储空间,并调用相应的构造器。
不包含任何参数的构造器叫做默认构造器
方法重载[edit]
class Person {
public Person() {}
public Person(String name){}
public Pe...
分类:
编程语言 时间:
2015-08-18 10:18:13
阅读次数:
127
在多线程程序中,经常要用全局变量来实现多个函数间的数据共享。由于数据空间是共享的,因此全局变量也为所有线程共有。
测试代码如下:
[cpp] view
plaincopy
#include
#include
#include
#include
int key = 100; //全局变量 ...
分类:
编程语言 时间:
2015-08-18 10:16:08
阅读次数:
146
最短路之~迪科斯彻算法
迪科斯彻算法是由荷兰计算机科学家艾滋郝尔·戴克斯拉提出的。本算法使用广度优先搜索解决非负权有向图的单源最短路径问题,算法最终得到一个最短路径树。此算法常用于路由算法或者作为其他图算法一个子模块,本算法是用来找一个点到其他所有点之间的最短路径。
此算法中变量的使用:
map[][]二维数组记录两点之间的权值...
分类:
编程语言 时间:
2015-08-18 10:17:36
阅读次数:
176
例1:模拟火车站的售票系统模拟两个售票窗口共同卖100张票,因为要共享这100章票的资源这时就要涉及到线程间的同步问题。在下文中人为的添加了干预,当线程函数1运行到if判断语句后,挂起线程1,运行线程2,然后线程2运行到if语句后,挂起线程2,接着回来运行线程1的显示。这样可以达到对全局变量访问的同...
分类:
编程语言 时间:
2015-08-18 10:15:43
阅读次数:
131
写在前面 好长时间没有写博客了,昨天花了些时间又整理了下之前发布过的《Ember.js之computed Property》文章,并创建了一个测试代码库,花了些时间,希望能使用测试代码的方式,来演示如何使用Ember.js同时能避免升级Ember版本后,一些功能上的变化所带来的隐含Bug。 ...
分类:
编程语言 时间:
2015-08-18 10:15:23
阅读次数:
176
参考文:http://www.cocoachina.com/swift/20150630/12305.html1、首先你需要安装CocoaPods。幸运的是,CocoaPods被建立在Ruby上,而最近的Mac OS X版本带有Ruby。这自从OS X 10.7之后就实现了。打开终端并且输入以下命令...
分类:
编程语言 时间:
2015-08-18 10:14:21
阅读次数:
115
Space AntTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 3661Accepted: 2281DescriptionThe most exciting space discovery occurred at the end o...
分类:
编程语言 时间:
2015-08-18 10:12:16
阅读次数:
158
给定一个无向图,如果它任意两个顶点都联通并且是一棵树,那么我们就称之为生成树(Spanning Tree)。如果是带权值的无向图,那么权值之和最小的生成树,我们就称之为最小生成树(MST, Minimum Spanning Tree)。
我们由最小生成树的定义,可以延伸出一个修建道路的问题:把无向图的每个顶点看作村庄,计划修建道路使得可以在所有村庄之间通行。把每个村庄之间修建...
分类:
编程语言 时间:
2015-08-18 09:08:42
阅读次数:
159
表达式是处理数字最基本的工具
a=1#常量
a=a+1#表达式
操作符
操作符
描述
yield
生成 器函数发送协议
lambda args:expression
生成匿名函数
x if y else z
三元表达式
x or y
逻辑或(存在短路算法)
x and y
逻辑与(存在短路算法)...
分类:
编程语言 时间:
2015-08-18 09:08:12
阅读次数:
130
1.回顾一下变量
1)变量在它第一次赋值时创建
2)变量在表达式中使用将被替换为它们的值
3)变量在表达式中使用以前必须已经赋值
4)变量像对象一样不需要在一开始进行声明...
分类:
编程语言 时间:
2015-08-18 09:10:31
阅读次数:
199
1.整数精度
这里我们对比一下python2.7与python3.4的整数精度
python3.4支持无限大的整数(取决于你的内存),而在2.7版本里面,他支持有限的整数长度,对于非常长的整数,他会在数字后面加上L代表Long intege类型
虽然支持无限大整数,但是他的运算比正常整数慢,因此,如果需要精度,只能够牺牲一点性能了
2.复数
复数表示为两个浮点数(实部和虚...
分类:
编程语言 时间:
2015-08-18 09:08:26
阅读次数:
138