搜索到与相关的文章
Java

Java 多线程断点下载文件

基本原理:利用URLConnection获取要下载文件的长度、头部等相关信息,并设置响应的头部信息。并且通过URLConnection获取输入流,将文件分成指定的块,每一块单独开辟一个线程完成数据的读取、写入。通过输入流读取下载文件的信息,然后将读取的信息用RandomAccessFile随机写入到本地文件中。同时,每个线程写入的数据都文件指针也就是写入数据的长度,需要保存在一个临时文件中。这样当本次下载没有完成的时候,下次下载的时候就从这个文件中读取上一

系统 2019-08-12 01:33:45 3045

操作系统

GCC strict aliasing – 嫉妒就是承认自己不如

GCCstrictaliasing–嫉妒就是承认自己不如别人GCCstrictaliasing事情是这样的。我们对tair(淘宝的分布式Key/Value系统)动了一次大手术,更换了网络框架,经过长时间的测试/调试,终于完全通过了回归测试。但要打包发布的时候,却发现服务器可以正常启动,但却完全无法接受请求。调试无果,对比打包前后程序的差异,仅在于是否使用-O2选项对程序进行编译优化。无头苍蝇一样,Google搜索“gccoptimizationproble

系统 2019-08-12 01:33:20 3045

Python

python读取大文件越来越慢的原因与解决

背景:今天同事写代码,用python读取一个四五百兆的文件,然后做一串逻辑上很直观的处理。结果处理了一天还没有出来结果。问题出在哪里呢?解决:1.同事打印了在不同时间点的时间,在需要的地方插入如下代码:printtime.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time()))发现一个规律,执行速度到后面时间越来越长,也就是处理速度越来越慢。2.为什么会越来越慢呢?1)可能原因1,GC的问题,有篇文章

系统 2019-09-27 17:48:26 3044

Python

python分割一个文本为多个文本的方法

本文实例为大家分享了python分割一个文本为多个文本,供大家参考,具体内容如下#loadfile#foreachrow##ifmatch##outputdefmain():file_source='./reading_questions.txt'#target_dir=''file_in=open(file_source,'r')template_str='TARGET'outfilename='./head.txt'output_content=''w

系统 2019-09-27 17:47:17 3044

Ubuntu

ubuntu 添加 qq

1.Empathyctrl+alt+t打开终端sudoadd-apt-repositoryppa:lainme/libqqsudoapt-getupdatesudoapt-getinstalllibqq-pidgin经过以上几步,Empathy里面就有QQ了2.Ubuntu12.04安装QQ2012Ubuntu12.04安装QQ2012,下载后请根据自己的机器类型,按照下面的32位或64位安装说明安装新版本更新说明:1.qq版本升级到官方最新qq2012B

系统 2019-08-29 22:55:06 3044

编程技术

回溯法之一---算法框架及基础

回溯法其实也是一种搜索算法,它可以方便的搜索解空间。回溯法解题通常可以从以下三步入手:1、针对问题,定义解空间2、确定易于搜索的解空间结构3、以深度优先的方式搜索解空间,并在搜索的过程中进行剪枝回溯法通常在解空间树上进行搜索,而解空间树通常有子集树和排列树。针对这两个问题,算法的框架基本如下:用回溯法搜索子集合树的一般框架:Cpp代码voidbacktrack(intt){if(t>n)output(x);else{for(inti=f(n,t);i<=g

系统 2019-08-12 09:30:35 3044

各行各业

storm的安装配置

一、安装Zookeeper1、设置.profile文件:exportZOOKEEPER_HOME=/home/hadoop/streamdata/zookeeper-3.4.5-cdh4.5.0exportPATH=$PATH:$ZOOKEEPER_HOME/bin2、设置zoo.cfg文件:tickTime=2000dataDir=/home/hadoop/streamdata/data/zookeeper/clientPort=2181initLimi

系统 2019-08-12 09:27:39 3044

各行各业

关于RabbitMQ

1什么是RabbitMQ?RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然:单向解耦双向解耦(如:RPC)例如一个日志系统,很容易使用RabbitMQ简化工作量,一个Consumer可以进行消息的正常处理,另一个Consumer负责对消息进行日志记录,只要在程序中

系统 2019-08-12 09:27:27 3044

各行各业

Selenium - IDE模式匹配

Selenium-IDE模式匹配在SeleniumIDE中,如定位器,模式是selenium中经常使用的一种类型的参数。它允许用户描述特殊字符的模式。很多时候,我们想核实文字是动态的,在这种情况下,模式匹配是非常有用的。模式匹配是用于所有验证点命令-VerifyTextPresent,verifyTitle,verifyAlert,assertConfirmation,verifyText和verifyPrompt有三种方法来定义一个模式-通配符,正则表达

系统 2019-08-12 09:27:23 3044

数据库相关

基于catalog 创建RMAN存储脚本

--==============================--基于catalog创建RMAN存储脚本--==============================简言之,将rman的备份恢复命令写成脚本并保存在恢复目录内,恢复目录内的脚本可用性及通用性高于基于文件系统的脚本。客户端只要能够登录到RMAN恢复目录,则这些脚本可用,尤其对于global脚本,可以被任意注册的数据库调度。一、脚本的分类local:在rman连接的目标数据库下创建的脚本,此

系统 2019-08-12 01:55:00 3044