自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (10)
  • 收藏
  • 关注

原创 golang中的interface{}转其他类型

golang中的string是可以转换为byte数组或者rune数组但是其实byte对应的类型是uint8,而rune对应的数据类型就是int32所以string可以转换为四种类型//interface转其他类型————返回值是interface,直接赋值是无法转化的 //interface 转string var a interface{} var str5 string...

2019-05-17 00:28:46 7187

原创 golang数组与切片

其实golang中的切片本质上就是数组,比如字符串,又或是其他类型的数组,都是支持切片的而且需要注意的是本质上golang中的数组也就是切片的长度是固定的,因为数组在内存中是连续的,所以一旦长度固定就不能再继续增加长度,否则会引起越界覆盖后面的内存数据,golang中提供了一种动态改变切片长度的方法,但这种方法的本质还是将数组的内存复制到一个新的更大的内存区域并添加新的数值...

2019-05-17 00:26:01 178

转载 正则中的贪婪与非贪婪

贪婪就是尽量往多的匹配 比如 + -->一次或多次,优先匹配更多的非贪婪就是尽量少的匹配 比如 ? -->0或者1次 ,优先匹配少的在贪恋匹配后面加上?就变为了非贪婪匹配正则表达式贪婪与非贪婪模式之前做程序的时候看到过正则表达式的贪婪与非贪婪模式,今天用的时候就想不起来了,现在这里总结一下,以备自己以后用到注意。1.什么是正则表达式的贪婪与非贪婪匹配  如:Strin...

2019-05-17 00:24:45 2790

原创 爬虫----有道翻译

import timeimport requestsimport hashlibclass YoudaoFanyi: def __get_cookie(self): url='http://fanyi.youdao.com/' ret=requests.get(url=url) return ret.headers.get('...

2019-05-16 21:37:46 208

原创 用python实现KNN算法

knn是最简单的分类算法,基于经验,利用各种距离进行分类下面给出一种简单的实现:'''手动实现KNN算法'''import numpy as npclass KNN: def __init__(self,exp_x,exp_y,weights=1,distance_func=None): ''' :param exp_x: 样本的特征...

2019-04-24 15:14:21 565

原创 python中的function函数对象

python中一切皆对象,函数也是,那么函数对象有什么特点呢?最重要的是函数有两个特点:1.函数实现了__call__方法;2.函数实现了__get__方法;为什么说实现了这两个方法很重要呢?python是一个动态语言,你在使用对象的的时候并不需要在乎对象是什么类型,你只需要在乎这个对象到底有没有你想要的方法或者属性即可(方法也是属性),所以这就是鸭子类型,一个对象只要走起路来像鸭...

2019-04-24 14:52:16 1375

原创 python内置装饰器property、classmethod、staticmethod的实现原理

这三个装饰器的作用: property将方法变为属性; classmethod将实例方法变为类方法; staticmethod将实例方法变为静态方法;知道作用后我们就直接使用python实现:class Property(object): def __init__(self,f_get,f_set=None,f_del=None): ...

2019-04-21 02:58:53 538

原创 python使用装饰器实现单例模式

直接上代码:第一种使用函数装饰器实现并且使用锁保证线程安全:#不使用锁实现def SingleInstance(cls): def new(cls,*args,**kwargs): if not hasattr(cls,'instance'): cls.instance= object.__new__(cls) retu...

2019-04-08 20:33:30 1911

原创 python中的迭代器

python中的迭代器,正如python一样简单,任何对象只要拥有__iter__属性即可,该属性是一个方法,且该方法返回一个拥有__next__方法对象即可。任何对象必须满足上面所述两个原则才能成为迭代器。举个例子:python中的生成器就实现了__iter__方法,同时它也实现了__next__方法,从这里我们可以推测,生成器的__iter__方法返回的就是自身,因...

2019-04-08 19:59:49 158

原创 万能爬虫框架

对于爬虫大部分情况下都是请求头的构造很难,难就难在你必须分析js代码,看看header中有那些验证信息,这些验证信息是怎么生成的,然后再在Python中写出生成的方法,这样就能构造出正确的请求头,有了正确的请求头,就一定能请求成功,但是对于很多网站,这样的方式在过于复杂,不是一个好的解决方案,所幸的是还有一种方案是万能的,它可以爬取任何网页和任何操作,这个方案就是使用谷歌或者火狐提供的自动化测试工...

2019-03-29 09:08:29 1480

原创 关于Python的多态最重要的

首先也是最重要的是python不支持多态,也不用支持多态,直接点说多态就是一个对象被不同的类型引用就表现出不同的形态,但是在Python中引用没有固定类型的,引用是可变的,所以对于任何一个对象只有一种形态就是它本身,不会有第二种形态,所以多态也就自然不存在了,并且它不像java中有类型转换,更重要的是它压根就不需要多态,因为你在使用一个对象的时候不会在乎它到底是什么类型的,你关心的是它有没有某个方...

2019-03-26 13:47:52 277

原创 超简单理解卷积神经网络

人工智能发展到现在,出现了很多很多的神将网络,但是神经网络再多,不变的还是全连接层全连接层成为了一种通用的数学模型用于回归和分类任务,它本质上就是拟合曲线(决策边界曲线或回归曲线),其拟合曲线的方式是基于连续的定义的,就跟微积分一样,任意一条曲线都可以由无数直线构成,任何曲线在其局部无穷小时都是线性的,而神经网络通过非线性变换产生了很多条这样的直线,这些直线组合起来就构成了目标曲线,对于每一个...

2019-03-24 13:02:10 1077

原创 通俗理解装饰器

Python里的装饰器有时候是很好用的,可以减少代码量,比如在django的视图函数中,如果某个函数必须要登录才能访问,那么就以写一个装饰器来装饰那些函数,首先说一下如何理解装饰器呢,其实很简单,1.装装饰器必须是一个可调用对象,用来修饰被装饰的函数,使之增加一些额外功能;函数就是可调用对象的一种,任何对象只要拥有__call__属性就可以被调用,当然函数自带__call__属性了,...

2019-03-23 14:58:22 497

原创 使用OpenCV进行仪表数值读取

最近遇到一个问题,如何读取仪表中的指针指向的刻度解决方法有多种,比如,方案一:模板匹配+边缘检测+霍夫直线检测,方案二:神将网络(CNN)目标定位等,其中CNN就有点麻烦了,需要一定数量的训练样本,太麻烦,而方案一太普通,最后我采用了方案三,方案三:模板匹配+k-means+直线拟合具体做法如下:首先说一下模板匹配,它是OpenCV自带的一个算法,可以根据一个模板图...

2019-03-23 13:54:09 24487 11

原创 解决生成器不能复用-----生成器列表

Python中的生成器 有函数形式和列表生成器,但是他们都有一个缺点是不能复用,一次用完便不能再用,但是有时候我们需要复用结果,自然想到有没有一种叫做生成器列表的东西,第一次用的时候用生成器创建数据并将数据存起来,之后直接访问一保存的数据不再使用生成器,代码如下:import collectionsclass gen_list(collections.abc.Sequence): ...

2019-02-22 12:04:16 340

原创 通过js实现轮播图

思路:1.创建一个String数组,存放图片url2.动态改变img元素的srcJavaScript代码: //图片的url let imgs=["img/cat.jpeg", "img/bg.jpeg", "img/left-bg1.jpg", 'img/left-bg2.jpg']; let isPause=false;//轮播是否暂停的状态标记 ...

2019-01-03 12:12:09 307

原创 js动态绑定事件

JavaScript代码:let interval=setInterval(getE,1);//每隔一毫秒向消息队列中发送一个事件getEfunction getE() { let element=document.getElementById('result');//动态获取元素 if (element!=null) {//如果元素已被绘制则给元素绑定事件...

2019-01-03 11:55:03 1142

原创 Python实现线程池类

线程池就是用来分配和管理线程的工具,如何实现线程池,下面我就给出一种实现方式:class SimpleThreadPoolExecutor: def __init__(self,maxSize=1,queueSize=100,waitTime=0): self.__task_queue=queue.Queue(queueSize) self.__ma...

2018-10-12 13:43:31 986

原创 自己实现Python中的map函数

'''自定义map'''def map(func,*iterators): try: i = 0 while 1: yield func(*[j[i] for j in iterators]) i+=1 except IndexError : pass这里使用yield生成器...

2018-10-12 13:36:29 1476

原创 超高性能字符串去重算法

在python中由于字典的键key不允许重复,可以利用这个特性去重,字典内部使用哈希表,所以性能能超强;在其它语言中都可以使用HashMap实现去重,当然使用数组也可以,数组只是哈希表的一种最简单的一种形式。def removal(string): result={} for i in string: result[i]=None return res...

2018-09-29 10:10:17 1626

原创 python使用链表实现列表list

在python中列表是使用链表实现的,下面使用单向链表实现Listclass List(): class Node(): def __init__(self,object_,next_node): self.object_=object_ self.next=next_node def __init__(self...

2018-09-29 09:29:25 2734

原创 python实现快速排序

快速排序的原理我就不叙述了,百科上面讲解很全面,下面是使用递归实现的def quickSort(datas,start,end): if start >= end: return reference=datas[start] # 参考数(中间数) i=start j=end while i<j: while ...

2018-09-29 09:17:37 193

原创 求解点是否在三角形内

思路: 三角形内任意一点与三角形三个顶点连线可构成最多三个三角形且和为总面积,因此若点在三角形内则符合要求,在求解的时候可以利用向量叉乘后的模的一半求解;class Dot: def __init__(self,x,y): self.x=float(x) self.y=float(y)def solve_dot_is_in_triang...

2018-09-29 09:13:38 321

原创 python检测字符串变量名是否合法

直接继承字符串类'''检测字符是否合法'''class String(str): illegal = {'and': 1, 'elif': 1, 'import': 1, 'return': 1,'as': 1, 'else': 1, 'in': 1, 'try': 1,'assert': 1, 'except': 1, 'is': 1, 'whi...

2018-09-28 23:40:39 3859

原创 python自己实现 面向对象

在学习python的时候,看到python类的__dict__()方法忽然产生了一个简单的想法去自己实现面向对象:'''自定义类'''People={}#类名def loadClassToMemory(): People .update( {'init': init, 'A': A, 'B': B} ) # 模拟类def init(self,name='',age=0):...

2018-09-28 15:32:07 262

原创 Android 终极优化技巧

流畅度对于一个app来说至关重要,而提升流畅度的方法最直接的思想就是减少UI线程的耗时,即减少UI线程工作量;关于如何减少我这里提供一种思路,这个是我在做文件管理器是想到的:下面来解释下,思路很简单就是在UI线程中把需要执行的任务所需参数给包装起来,然后放进一个队列或者集合(List),接着创建一个取参数的线程,并在该线程中创建任务然后加入到线程池中,这里提一下往线程池中添加任务也会耗...

2018-07-19 19:47:31 416

原创 如何实现线程池的暂停和恢复功能

很多时候我们需要暂停线程池,而不是shutdown线程池,暂停线程池可以为我们保存任务,稍后可以继续执行,从而避免不必要的开销。这里我提供一种暂停线程池的方法;首先拿到ThreadPoolExecutor.java源码,将其变为自己包内的私有类;接下来修改线程池,先在线程池类中添加一下方法和变量:BlockingQueue<Runnable> pauseQu...

2017-05-16 18:05:37 6398 3

原创 线程池动态并安全地中断所有线程不需要使用shutdownnow()同时可以继续添加任务

对于一个线程池如果使用shutdownNow() or shutdown() 方法关闭线程池的话可能会造成不必要的开销,因为有时候我们需要关闭线程池的线程但是之后可能还会继续使用线程池,因此,最好的办法是自己写一个终止线程的方法。一下就是我给出的一种方法:拿到线程池源码作为自己包下的类后,直接修改源码,添加一下内容,// TODO: 2017/5/15 线程管理类priva...

2017-05-15 16:25:25 2774

原创 动态控制线程池中正在运行的任务

看起来很容易,也确实很容易,但是要不执行多余代码就很麻烦了。先说说简单实现吧,我们在添加任务时可以利用List<Runnable>记录下来运行了的任务;注意这个Runnable必须自定义并且在里面添加停止任务的方法,一般可以在执行步骤里面或者前面判断是否继续运行,例如public class MyRunnbale implements Runnable{public v...

2017-05-14 21:49:54 815

原创 ListView获取滑动(滚动)停止状态及响应事件

有时候我们为了获得更好的用户体验,不得不对ListView的Item中的图片的资源进行动态加载,一般的做法就是当Item停止滚动时进行加载,并且仅仅加载当前可见的item的数据;为我们可以为ListView设置OnScrollListener滚动监听器;这个监听器需要实现两个方法public void onScrollStateChanged(AbsListView view, i...

2017-04-21 21:14:14 2857

原创 Java线程池获取全部完成时的状态并执行后续工作

Java的几种线程池都没有所有任务完成时的回调方法,也难以获取任务完成的数量;而很多时候我们都需要在所有任务完成时进行下一步操作;所以在此我提供一种简便的方法:首先线程池可以往里面提交任务,我们就利用这个特点 将通知的任务接口放到最后,那么如果执行此任务是就代表任务已经差不多完了,那么就使用handler发送通知,然后处理后续工作;例如:ExecutorServic...

2017-04-16 23:49:18 3627

原创 listview中的checkbox状态保存与恢复的完美方法

由于listview的特性机制导致item中的checkbox的状态无法保存,在这里提供一种很好的解决方法;首先我们知道listview的数据来源于Adapter中传入的list集合或者数组中的元素;因此我们可以为此元素创建一个包装类,在包装类中添加一个用来保存CheckBox状态的成员变量,可以同时创建setter和getter确保数据可以修改;然后在Adapter的getView()方法中...

2017-04-06 00:05:13 1017

原创 Android listview 的 item 点击无效(无法获取焦点)的解决方法

当listview的item中包含Button之类的空间时就会出现item无法响应事件 ,这是由于item的view中包含的button控件获取了焦点;网上很多人给出的在item的根布局属性中添加 android:descendantFocusability="blocksDescendants"并不一定能解决此问题;我的问题就没有解决反而使程序直接崩溃,我运行的...

2017-04-05 23:42:47 1727

原创 android ListView 滑动进度保存和恢复

这里只写一种方法,直接利用Google推荐的方法。举个例子就是: 做一个文件管理器,当进入子目录,然后返回后仍然能准确恢复之前的位置;具体方法就是 获取第一个可见的item的位置,再获取这个item对应view距离顶端的距离,然后调用listview.setSelectionFromTop(index,top); 即可。下面是例子的部分代码private List<int[][...

2017-04-04 15:26:08 715

仪表数据读取

仪表数据读取,数据仪表数据的图像输出刻度值,其中使用了OpenCV和k-means算法

2019-03-23

U盘烧录修复.rar

U盘烧录修复(PortFree Production Program) 3.27 2000/XP 一般网上的U盘修复程序均为Mformat 1.00,实际上并不好用。而这个U盘烧录修复程序非常好,可以修复很多问题,比如说:U盘能检测到,但无法读取数据,或无法访问,变成了0字节,又或是容量变小了这些问题……等等,其实这些问题在您自己就可以解决,解决的方法是进行烧录,U盘烧录的这个软件可以使您的U盘重新恢复容量,可以正常的读取。但如果您有重要的数据那就真的很抱歉了,呵呵。所以呢。。。。我的U盘容量出现0,本来已宣布它报废了,但经过它的修复,已经起死回生了。但如果用这个软件进行修复出现问题我不负责任。我只是强烈推荐,死马当做活马医,说不定会出现转机。   各位商家及广大客户在购买U盘的同时,请注意正常使用,按照正常顺序进行操作,正常插拔,以免造成U盘损坏,如果您有重要的数据在里面,那就无可挽回了,如有不懂的地方,请咨询当地购销公司,谢谢!   望广大商家和客户门有序的进行操作,正常使用就无法存在这些问题。请朋友们注意了。 使用简单介绍:先将U盘插入USB接口,之后进入程序后点选项,然后点低格,再选中容量,退出,点运行,然后耐心等待即可。 注意: 1、该修复工具只能够针对U盘的格式化错误做修复,不能修复U盘的物理损坏。 2、使用该修复工具会销毁U盘上的所有数据资料,包括分区和密码,请慎用。 3、只有当U盘无法正常使用时可以尝试修复,一般情况下不要经常使用。

2010-08-08

ControllableThreadPoolExecutor

ThreadPoolExecutor线程池源码

2017-05-14

100TV手机电视 Java版本

他是一款超级掌上娱乐电视通过创新的流媒体技术,100TV实现了在现有2.5G和2.75G网络上抢先为手机用户提供了在线流媒体方式观看高清视频内容的服务。100TV所采用的H.264视频压缩技术不仅比H.263和MPEG-2节约了50%的码率,而且具有较强的抗误码特性,适应丢包率...

2010-08-08

Total Video Converter

1.绿色版软件,不需要安装;压缩包里如果有【@绿化工具.exe、!)绿化.bat 、 !)绿化.reg 、 !)绿化.cmd 、@Install_绿化.exe、 !)双击导入.reg 、 !)注册导入.reg】等类似文件。 请先要运行该类文件,这样才能让程序正常运行。 2.安装好软件后,将注册机放在安装目录的文件夹内 3.双击注册机,软件运行,看到有注册按钮后,点注册,在注册信息里填写用户名等,注册码随便填写 4.点击确定按钮,注册机将出现正确的注册码,将刚才的注册名和正确注册码填入软件即可注册。 破解补丁使用方法: 1.安装好软件后,将补丁放在安装目录文件夹内 2.运行补丁,后即可使用软件。即使软件显示未注册,但所有功能和时间限制都已经破除 ===================================================================================== 特别注意:由于部分杀毒软件把注册机,补丁等做为病毒查杀,请大家用补丁或注册机时关闭杀毒软件如不放心可以在注册完成后,用杀毒软件进行扫描查杀病毒。 =====================================================================================

2010-08-08

HALO破解短信收费游戏全部教程【java游戏】

破解JAVA手机游戏工具HALO 2.0简体中文版全部教程

2010-08-22

mrp游戏破解教程【mrp游戏、软解........】

这里面有很多破解教程,比如说怎样破解游戏收费等

2010-08-24

运行java程序时看短信教程

让你手机运行java程序时也能查看短信

2012-01-21

ucwebs60手机浏览器

UCWEB-S60V1.SIS 【诺基亚 S60V1专版】; UCWEB-S60V2.SIS 【诺基亚 S60V2专版】; UCWEB-S60V3.SISX【诺基亚 S60V3专版】; UCWEB-S60V5.SISX【诺基亚 S60V5专版】。 提示:下载后如果提示‘证书错误无法安装’,可进入手机【功能表-设置-数据管理-程序管理】、左键【选项-设置-软件安装-选择

2010-08-08

电脑超级技巧3000招

推荐使用Windows Me启动盘、加快Windows的刷新速度、获得MIDI和WAV的作者 、巧妙破解加密光盘密码................................

2010-08-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除