一、CountDownLatch工具类介绍 CountDownLatch类是Java并发工具常用的四大工具之一,CountDownLatch允许一个或者多个线程等待其他线程完成工作。假设我们有这样的一个需求,我们需要解析一个Excel里多个sheet的据,这个时候我们考虑使用多 线程同时进行工作,每... ...
分类:
编程语言 时间:
2018-05-15 22:40:20
阅读次数:
177
A*属于搜索的一种,启发式搜索,即:每次搜索时加一个估价函数 这个算法可以用来解决K短路问题,常用的估价函数是:已经走过的距离+期望上最短的距离 通常和Dijkstra一起解决K短路 BZOJ1598:牛跑步 求前K短路 因为A*算法我们每次用来向外拓展的是估价函数最小的点,那么,我们必定能够得到, ...
分类:
编程语言 时间:
2018-05-15 22:41:05
阅读次数:
171
1:StringBuffer(掌握) (1)用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的, 为了解决这个问题,Java就提供了一个字符串缓冲区类。 StringBuffer供我们使用。 (2)StringBuffer的构造方法 (3)StringBuffer的常见功能 添加功能 ...
分类:
编程语言 时间:
2018-05-15 22:42:39
阅读次数:
214
#python 3.6 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'BH8ANK' import xlrd '''=================xlrd负责读取excel,功能上只能读===================... ...
分类:
编程语言 时间:
2018-05-15 22:44:17
阅读次数:
240
缩进层级 使用 四个空格进行缩进,以便在所有的系统和编辑器中,文件的展现格式不会有任何差异。 语句格式 始终使用分号 ;结尾一个语句。禁止省略分号,因为: 后续使用构建工具时,可以通过自动删除多余的空格和换行来压缩代码行(代码行结尾处没有分号会导致压缩错误)。 在某些情况下增进代码的性能,因为这样解 ...
分类:
编程语言 时间:
2018-05-15 22:44:32
阅读次数:
278
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 思路:1.暴力 ...
分类:
编程语言 时间:
2018-05-15 22:46:04
阅读次数:
185
1、假性冒泡排序 2、冒泡排序: 3、优化后的冒泡排序: 4、简单选择排序: 5、直接插入排序: ...
分类:
编程语言 时间:
2018-05-15 22:46:39
阅读次数:
227
由于待会要用pygame演示,他的坐标系是y轴向下,所以这里我们也用y向下的坐标系。 计算sina和cosa,正弦对比斜,余弦邻比斜,斜边可以利用两点距离公式计算出,即: 于是 AC的长度就是导弹的速度乘以时间即 |AC|=vt,然后即可计算出AD和CD的长度,于是这一个时间片过去后,导弹应该出现在 ...
分类:
编程语言 时间:
2018-05-15 22:47:29
阅读次数:
581
车牌检测 ''' 项目名称:opencv/cv2 车牌检测 简介: 1.训练级联表 ***.xml 【跳过...】 2.用如下代码加载级联表和目标图片识别车牌 注:推荐用anconda安装opencv库 ''' import cv2 detector = cv2.CascadeClassifier( ...
分类:
编程语言 时间:
2018-05-15 22:47:36
阅读次数:
214
进程之间的数据共享 基于消息传递的并发编程是大势所趋, 即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。 这样极大地减少了对使用锁和其他同步手段的需求,还可以扩展到分布式系统中。 但进程间应该尽量避免通信,即便需要通信,也应该选择进程安全的工具来避免加锁带来的问题。... ...
分类:
编程语言 时间:
2018-05-15 22:47:45
阅读次数:
211
双重for循环 九九乘法表 直角三角形 倒三角形 等腰三角形 ...
分类:
编程语言 时间:
2018-05-15 22:48:45
阅读次数:
246
线程和进程的区别: 线程:是进程内部中的单一顺序控制流,一个进程拥有多个线程,多个线程共享一个进程的内存空间。 进程:是指一种“自包容”的运行程序,由操作系统直接管理。直接运行。有直接的地址空间,每个进程以开始都会消化内存。 线程同步:当二个或二个以上的进程同时访问一个资源时,为了保护资源的数据安全 ...
分类:
编程语言 时间:
2018-05-15 22:49:48
阅读次数:
236
jsp和上传的封装 一.jsp的简介 1.jsp是java server pages允许在页面中使用java作为脚本语言动态生成html代码 2.jsp首先和html的区别,html可以直接放在浏览器中执行但是jsp必须把tomcat启动起来才能看到效果 3.组成部分:1.静态内容;2.指令;3.表 ...
分类:
编程语言 时间:
2018-05-15 22:50:14
阅读次数:
236
1 冒泡排序 思路:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。 即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 2 选择排序 思路:在要排序的一组数中,选出最小的一个数与第一个位置的数交换。然后在剩下的 ...
分类:
编程语言 时间:
2018-05-15 22:50:22
阅读次数:
214
排序,我想大家一定经历过或者正在经历着。或许你不懂算法,对排序算法一无所知,但是你一定用过一些第三方库的api来一键排序,那么,在你享受便捷的同时,你是否想过它的底层是如何实现的?这样的算法实现方式是不是最好的?还有没有其它的可能性来实现更快速的排序?那么,希望这一篇文章过后。对于排序算法,你不会再 ...
分类:
编程语言 时间:
2018-05-15 22:51:07
阅读次数:
219
简单的讲,元类创建了Python中所有的对象。 我们说Python是一种动态语言,而动态语言和静态语言最大的不同,就是函数和类不是编译时定义的,而是运行时动态创建的。 比方说我们要定义一个HelloWorld的class,就写一个helloworld.py模块: 当Python解释器载入hellow ...
分类:
编程语言 时间:
2018-05-15 22:51:28
阅读次数:
214
java1.8获取年份: int year = Calendar.getInstance().get(Calendar.YEAR); StringBuilder code = new StringBuilder(Integer.toString(year)); //两个时间之间的天数差: int l... ...
分类:
编程语言 时间:
2018-05-15 22:52:38
阅读次数:
236
ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。 集合的创建格式 导包:imp ...
分类:
编程语言 时间:
2018-05-15 22:53:50
阅读次数:
265
今天突然想对spring boot写个hello world,应用成功启动后,访问http://localhost:8080/hello报404。 场景说明:controller类所在包:com.yjl.test.controller ,,,spring boot应用启动类所在包:com.yjl.t ...
分类:
编程语言 时间:
2018-05-15 22:54:26
阅读次数:
518
选择排序 时间复杂度:N² 动图描述(升序): 黄色代表已排序列,红色代表剩余元素中最小元素,蓝色代表当前位置。 代码实现Section类如下: ...
分类:
编程语言 时间:
2018-05-15 22:56:10
阅读次数:
419