1.定义 SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。 一个服务(Service)通常指的是已知的接口或者抽象类,服务提供方就是对这个接口或者抽象类的实现,然后按照SPI 标准存放到资源路径META-INF/services目录下, ...
分类:
编程语言 时间:
2018-09-11 23:59:53
阅读次数:
339
Python:每日一题001 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? **程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 个人解题思路 利用排列组合知识算出总共有4X3X2= 24个数,构造每个数加 ...
分类:
编程语言 时间:
2018-09-12 00:00:11
阅读次数:
228
报错如下: 原因:ehcache2.5以上版本会报错。 解决办法:将ehcache版本降到2.5以下即可。 ...
分类:
编程语言 时间:
2018-09-12 00:00:17
阅读次数:
815
在构建稳健的并发程序时,除了正确的使用线程和锁外。如何对状态访问进行管理是编码的核心。特别是对共享的(shared)和可变的(Mutable)状态的访问。“共享”意味着变量可以由多个线程同时访问,而“可变”则意味着变量的值在其生命周期内可以发生变化。我们讨论线程安全性更侧重于如何防止在数据上发生不受 ...
分类:
编程语言 时间:
2018-09-12 00:01:22
阅读次数:
214
二次排序,从字面上可以理解为在对key排序的基础上对key所对应的值value排序,也叫辅助排序。一般情况下,MapReduce框架只对key排序,而不对key所对应的值排序,因此value的排序经常是不固定的。但是我们经常会遇到同时对key和value排序的需求,例如Hadoop权威指南中的求一年 ...
分类:
编程语言 时间:
2018-09-12 01:11:33
阅读次数:
191
1.django请求的生命周期? 1.wsgi,请求封装后交给web框架 (Flask、Django) 2.中间件,对请求进行校验或在请求对象中添加其他相关数据,例如:csrf、request.session - 3.路由匹配 根据浏览器发送的不同url去匹配不同的视图函数 4.视图函数,在视图函数 ...
分类:
编程语言 时间:
2018-09-12 01:12:40
阅读次数:
155
1,数据类型相关操作 使用typeof x函数查看变量的数据类型: null: null表示什么都没有,它自己是一种类型,表示一个空对象引用。所以可以把变量设置为null来清空对象。 undefined: 在 JavaScript 中, undefined 是一个没有设置值的变量。typeof 一个 ...
分类:
编程语言 时间:
2018-09-12 01:12:49
阅读次数:
166
从一开始学习python的时候,很多人就听到的是元组和列表差不多,区别就是元组不可以改变,列表可以改变。 从数据结构来说,这两者都应当属于数组,元组属于静态的数组,而列表属于动态数组。稍后再内存的分配上也会体现这一点。对于这两种类型,除了能接受相同类型的值之外,也接受混合类型的值。 元组 说元组不能 ...
分类:
编程语言 时间:
2018-09-12 01:12:57
阅读次数:
182
已经学过的python数据类型有:int、float、str、list、dict、tuple、bool、set 集合set: 集合也是一种数据类型,也是用{}括起开,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据 操作集合 集合的作用: 1、它可以把一个列表中重复的数据 ...
分类:
编程语言 时间:
2018-09-12 01:13:26
阅读次数:
222
并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行得更快,会面临非常多的挑战,比如上下文切换的问题、死锁的问题,以及受限于硬件和软件的资源限制问题,本章会介绍几种并发编程的挑战以及解决方案。 一、上下文 ...
分类:
编程语言 时间:
2018-09-12 01:14:45
阅读次数:
248
大一整个学期完成了 C 语言的学习,大二就进入了Java 的学习。 和C语言一样,我们都会尝试写一个小小的学生管理系统什么的,学习过 C 语言同学知道,在管理系统中 Struct 结构体是个很好用的东西,使用它就避免了一些棘手的问题。 那么问题来了,在 Java 还有 Struct 结构体嘛? 答案 ...
分类:
编程语言 时间:
2018-09-12 01:15:20
阅读次数:
254
1 2 3(4, 5, 6, 7){'a': 5} 一个例子说明函数的* 和** 用法: 如何使用参数: 结果为3 全局参数和局部参数: 结果为abx 递归: n的阶乘 ...
分类:
编程语言 时间:
2018-09-12 01:16:34
阅读次数:
184
给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null 1.找链表倒数第k个结点,输入一个链表,输出该链表中倒数第k个结点。第一个指针走(k-1)步,到达第k个节点,两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了 2.原理有点像上面的,定义... ...
分类:
编程语言 时间:
2018-09-12 01:18:05
阅读次数:
136
如何使用宏定义输出信息 C语言提供了#, ##, __VA_ARGS__等符号来帮助我们在宏定义中更好地输出信息。使用方式如下: 输出如下: #的作用是,它会在所引用的宏变量左右两边加一对引号。所以FUN1中的printf函数不会出错,因为FUN1(hello)预编译时被替换成了printf("he ...
分类:
编程语言 时间:
2018-09-12 01:21:15
阅读次数:
284
创建vector对象 1.不指定容器大小 vector<int> vec; 2.指定容器大小 vector<int> vec(10); 3.指定容器大小和初始值 vector<int> vec(10,0); 尾部元素扩张 vec.push_back(); 插入元素 1.在最前面插入元素 vec.in ...
分类:
编程语言 时间:
2018-09-12 01:23:14
阅读次数:
206
回顾里下上节课讲的课程,主要有格式化和编码内容。(1)格式化输出使用%s和%d(占位符),如果想输出%,则使用%%。(2)编码:ascii码只能显示英文,特殊符号,数字。万国码 unicod 最开始是16位,由于中文字节太多,使用32位(4个字节),但是四个字节又太多,占用资源多。于是升级utf-8 ...
分类:
编程语言 时间:
2018-09-12 01:24:28
阅读次数:
162
原因大致有以下几种: 1、所属线程忘了释放锁, 建议使用 autolock (封装类的构造函数中上锁,析构函数中释放锁) 2、线程中使用了嵌套锁(2个或2个以上的锁) 3、owningthread 被动的原因无法释放锁,比如 1)、使用开源库,异常时直接ExitThread。 2)、使用了 __tr ...
分类:
编程语言 时间:
2018-09-12 01:25:36
阅读次数:
195
基础 server: client: ...
分类:
编程语言 时间:
2018-09-12 01:26:55
阅读次数:
198
程序设计 = 数据结构 + 算法 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。 数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。 数据项:一个数据元素可以由若干个数据项组成。数据项是数据不可分割的最小单 ...
分类:
编程语言 时间:
2018-09-12 01:28:05
阅读次数:
241
定义 1.Deque 2.Queue 3.集合 ...
分类:
编程语言 时间:
2018-09-12 01:30:03
阅读次数:
165