- 博客(51)
- 资源 (4)
- 收藏
- 关注
原创 同步、异步、阻塞、非阻塞
0.前言送外卖,如果骑手正在送包裹给其中一位买家,但是这位买家未在指定时间到达约定地点取单,骑手只能原地等待,这时骑手就没法去送下一单,这个骑手就被阻塞了。过一会儿,买家到达指定地点,骑手将包裹交给买家,买家确认收货后骑手才能去送下一个包裹,这个过程买家和骑手之间是同步的。如果买家和这位骑手很熟,买家告诉骑手,让骑手将包裹放在指定地点后可先行离去,这个操作对于骑手而言是非阻塞的。买家在拿到包裹...
2019-02-12 15:23:41 159
原创 eclipse新工作空间的正确打开方式
1.设置工作空间编码格式Window->Preferences->General->Workspace 2.tab转空格Window->Preferences->General->Editors->Text Editors 3.xml格式化时用空格替换tabWindow-&am
2018-08-08 17:39:46 1556 1
原创 深入浅出:红黑树(Red Black Tree)
红黑树(Red Black Tree)的五个性质节点是红色或黑色。根节点是黑色。每个叶节点(NIL节点,空节点)是黑色的。每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。注:红黑树本质是平衡树,所以对于每个节点,还满足左子树节点小于该节点,同时右子树节点大于该节点。基本操作...
2018-07-04 22:31:30 2842 1
原创 二叉查找树(增、删、查)
定义二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树) 它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 –from 百度百科增加(put)原理: 按照大的向右小的向左原则,沿着树的根节...
2018-07-04 14:58:01 202
原创 视图(MySQL)
视图是一种虚拟存在的表,数据是使用视图是动态生成的。MySQL和其他数据库的视图有啥区别?MySQL中from后面不能包含子查询和普通表对比:简单:使用视图的用户不用关心背后表的结构、关联条件和筛选条件,只关心视图结果集;安全:只能访问视图结果集数据,一般对表的权限管理中不能针对某行某列做权限控制,通过视图筛选出具体行和列,就可以简单实现具体的行和列访问权限...
2018-06-23 19:55:09 255
原创 20.python-matplotlib
#matplotlibimport matplotlibimport numpy as npimport matplotlib.pyplot as pltdef simple_line(x,y,figure_no): plt.figure(figure_no) plt.plot(x,y) plt.xlabel('x values') plt.ylab...
2018-03-23 15:19:17 112
原创 19.python-文件操作
file_name = 'data_file_pointer.txt'def print_txt(file_name): try: with open(file_name) as f: for line in f.readlines(): print(line) except FileNotFoundEr...
2018-03-23 15:18:40 170
原创 18.NumPy之复制和视图(Copies and Views)
#NumPy之 复制和视图(Copies and Views)import numpy as np# ===================================================#不拷贝的情况a=np.arange(12)b=aprint('b is a:')print(b is a)#注意两者的区别#一b=b.reshape((3,4))#该操...
2018-03-23 15:18:23 176
原创 17.NumPy之数组合并和拆分(本章尚有疑惑,待日后实际应用再加以理解)
#NumPy之 数组合并和拆分import numpy as np#对数组进行变形a = np.arange(20).reshape((5, 4))print('(5,4):')print(a)a = np.arange(20).reshape((5, -1))print('(5,-1):')print(a)a = np.floor(10 * np.random.rando...
2018-03-23 15:18:11 213
原创 16.Numpy之函数运算
#NumPy之 函数运算import numpy as np#math calculationsprint('math calculations for array:')a=np.array([0,1,2,3])b=np.array([2,-1,2,3])print(np.exp(a))print(np.sqrt(a))print(np.add(a,b))# output:...
2018-03-23 15:17:45 195
原创 15.Numpy之点乘、算术运算、切片、遍历和下标取值
# Numpy之 点乘、算术运算、切片、遍历和下标取值import numpy as npa = np.arange(4)b = np.arange(4, 11, 2)print(a)print(b)a_plus_b = a + bprint(a_plus_b)a_multiplication_b = a * bprint(a_multiplication_b)boole...
2018-03-23 15:17:32 588
原创 14.Numpy之数组创建方法
# NumPy之 数组创建import numpy as npdef print_array(a): print(a) print('array dimensions is %d' % (a.ndim)) print('array shape is', a.shape) print('array size is %d' % (a.size)) pr...
2018-03-23 15:17:04 296
原创 13.python-列表排序
# 列表排序import operator as opt# ===================================================# 列表-包含基本类型元素a = [9, 5, 6, 7, 2, 6, 9, 1, 3, 4]a = sorted(a, reverse=True)print("sort base type elements list:")...
2018-03-23 15:16:47 203
原创 12.python-使用非当前作用域变量的方法
# 全局变量(global variable)& 非本地局部变量(nonlocal variable)# 关键字global&nonlocal# ===================================================gcount = 0def global_test(): try: gcount += 1 ...
2018-03-23 15:16:31 190
原创 11.python-过滤器(filter)
# 过滤器(filter),filter有两个形参,第一个参数返回一个布尔值,# 如果返回True则当前迭代值会被选中,否则不选a = [1, 2, -3, -4, 5, 0.3, -5, 0]print('element in a list:')print(a)#选择大于0的元素a = list(filter(lambda x: x > 0, a))print('eleme...
2018-03-23 15:15:55 285
原创 10.python-映射函数(map)
# 映射函数(map),该函数有至少有两个参数,一个函数类型参数+一个或多个序列,# 序列的个数对应实参函数的形参个数,# 特别注意:# python2中,如果多个序列的长度不同,那么不是最长的序列都会用None补齐# python3中,map会执行到最短的序列耗尽时,结束# 特别说明:map在python2中返回列表(list),在python3中返回迭代器(iterator),#...
2018-03-22 20:28:13 8028 1
原创 9.python-匿名函数(lambda)
# 匿名函数(lambda)# ===================================================# 匿名函数部分f = lambda x: x ** 2print('lambda function:')print(f) # <function <lambda> at 0x000002625B772F28>print('r...
2018-03-22 20:27:59 126
原创 8.python-装饰器
# 装饰器# 主要用于在不改变函数代码的前提下,改变函数的行为,最常见的情况,项目代码日志模块编写# ===================================================# 纯手工打造装饰器def log(func): def wrapper(*args, **kwargs): print(func.__name__, 'is c...
2018-03-22 20:27:36 98
原创 7.python-函数参数
# 函数参数# 参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数#===================================================# 默认参数,及普通参数在函数调用时的规则def student(name, gender, age=10, city='beijing'): print('name:', name, ',gende...
2018-03-22 20:27:22 117
原创 6.python-函数
# 函数(function)# python中函数也是对象,可以是函数的参数和返回值# 函数中嵌入函数def sum_square(x): def square_input(x): return x * x return sum([square_input(x1) for x1 in x])# 直接调用函数print(sum_square([1,...
2018-03-22 20:27:06 102
原创 5.python数据结构-迭代器(iterator)&生成器(generator)
# 迭代器(Iterator)&生成器(generator)# 若要对象可迭代:# 在python2中对象必须包含__iter__(self)和next(self)# 在python3中对象必须包含__iter__(self)和__next__(self)# 其中:__iter__(self)必须返回一个含有含有__next__(self)的对象,# 可以是自身(见Sim...
2018-03-22 20:26:45 234
原创 4.python数据结构-列表(list)
# 列表(list)# 可放不同类型元素# 索引a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]print(a) # range(1, 10)print(a[1]) # 2# 最后一个元素print(a[-1]) # 9# 切片# 所有元素print(a[0:]) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]# 前三个元素...
2018-03-22 20:26:10 111
原创 3.python数据结构-集合(set)
# 集合(set)# 无序、不重复、可放不同类型元素# 创建非空集合,用{元素序列}a_set = {1, 2, 'a', 'a', 2}print('create a non-empty set:')print(a_set)# 创建空集合不能用{},{}为空dicta_set = set()print('create a empty set:')print(a_set)...
2018-03-22 20:25:43 139
原创 2.python数据结构-元组(tuple)
# 元组(tuple)#主要操作:1.in和not in;2.比较、串联、切片和索引;3.min()和max();4.可以放不同类型的元素# 创建元组(以下两种创建方法一样)tuple1 = (1, 2, 'a')print(tuple1) # output: (1, 2, 'a')tuple2 = 1, 2, 'a' # output: (1, 2, 'a')print(tup...
2018-03-22 20:25:18 183
原创 1.python数据结构-字典(dictionary)
# 字典对象(对应Java中Map)# 包含0个或多个键值对(key:value pairs),键值对之间无序,且key唯一# key:只能是不可变更的类型,如:strings、numbers、tuple(元组,当tuple内部包含可变更对象时,不可作为dict的key)# 以下程序完成单词数量统计sentence = "a a a aa aa aa aaa aaa aaa aaa a...
2018-03-22 20:24:41 525
原创 Gitignore设置(包含Eclipse Git插件)
1 git忽略设置1.1 用Git Bash设置1.1.1 全局设置git config --global core.excludesfile /c/Users/WJC/Pictures/.gitignore1.1.2 当前git库设置#找到当前git所在目录,并运行Git Bash,执行如下命令:git config core.excludesfile
2018-01-13 10:41:38 659
原创 eclipse创建maven web项目
1使用Eclipse创建Maven Web工程 2找到Maven Project,点击Next 3勾选上Create a simple project (不使用骨架),Next 4填写工程名称和包名,并选择war类型,Finish 5选择packing是war类型,在main下会生成 webapp目录 6使用eclipse发布到tomcat下,需要把项目转成dynam
2018-01-12 16:02:22 210
原创 看完《块数据》后的一点思考
数据时代已经到来,大有一种得数据者得天下趋势,更有观点认为,未来数据将成为公司的固定资产的一部分。我觉得这种观点是合理的,数据跟能源一样也是资源,未来整个商业社会将被数据驱动。首先,总结一下,我理解的数据价值实现的一般步骤:数据跟其他资源一样,因为被人类开采才有价值。未来数据量之大将打破现有人们对数据量的认知,要能在数据海洋中开采到有用的数据,大数据技术将是每个数据公司的必须,所以这方面的工作有理由
2017-12-10 17:04:21 1041
原创 可变参数列表
package variablearglist.one;public class Main { public static void variablearglist(Object... os){ System.out.print("["); for (Object i : os) { System.out.print(i + ",");
2017-03-22 18:21:48 285
原创 对象属性和数组元素的初始默认值
package initialvalue.one;public class Main { public char charVal; public byte byteVal; public short shortVal; public int intVal; public long longVal; public float floatVal;
2017-03-22 18:19:41 3164
原创 静态块(变量)和非静态块(变量)
package staticinit.one;public class Main1 { public static void main(String[] args) { System.out.println("第一遍初始化StaticOrInstance..."); new StaticOrInstance(); System.out.prin
2017-03-22 18:19:11 285
原创 类初始化顺序
package staticinit.one;public class ClassInitOrder { public static void main(String[] args) { new Son(); /* * Father staticVal print()... * Father staticBlock prin
2017-03-22 18:18:37 261
原创 基本类型的重载规则
package overloading.main;//基本类型的重载public class Main { void f1(char x){ System.out.print("f1(char x) "); } void f1(byte x){ System.out.print("f1(byte x) "); } void f
2017-03-22 18:17:33 525
原创 构造器访问权限控制
1.若构造器声明为package,则只能在同包下的类里面实例化: 2.若构造器声明为protected和private,则只能在本类中实例化(注:构造器声明为protected仍可以被子类继承,而构造器别声明为private的类不可以被继承) 2.1 构造器声明为protected的Protect类可以被继承;构造器被声明为protected的类,不能在类以外的地方实例化,子类也不行
2017-03-22 18:13:59 1594 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人