最新文章
-
引入LeakCanary报错的解决办法
java.util.zip.ZipException: duplicate entry: com/squareup/leakcanary/watcher/R.class尼玛,版本问题请更新到最新版本debugCompile‘com.squareup.leakcanary:leakcanary-android:1.5.4’ releaseCompile‘com......
-
python基础算法---快速排序
快速排序(英语:Quicksort),又称划分交换排序(partition-exchangesort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。步骤为:从数列中挑出一个元素,称为"基准"(pivot),重新排序数列,所有元素比基准值小的摆放......
-
线程池的使用(ThreadPoolExecutor详解)(转载)
为什么要使用线程池?线程是一个操作系统概念。操作系统负责这个线程的创建、挂起、运行、阻塞和终结操作。而操作系统创建线程、切换线程状态、终结线程都要进行CPU调度——这是一个耗费时间和系统资源的事情。 另一方面,大多数实际场景中是这样的:处理某一次请求的时间是非常短暂的,但是请求数量是巨大的。这种技术背景下,如果我们为每一个请求都单独创建一个线程,那么物理机的所有资源基本上都被操作系统创建......
-
Android 侧滑返回
-
Android 虚拟按键适配工具
适用于沉浸状态栏,该代码需要放置于设置沉浸状态栏后面,代码详见:https://github.com/tzz2015/commonLibpackagecom.zyf.fwms.commonlibrary.utils;importandroid.graphics.Rect;importandroid.view.View;importandroid.view.ViewGroup;importandro......
-
java线程池简单实现
importjava.util.LinkedList;importjava.util.List;/***线程池类,线程管理器:创建线程,执行任务,销毁线程,获取线程基本信息*CreatedbyNemoon2018/2/6.*/publicclassThreadPool{//线程池中默认线程的个数为5privatestaticintworkerNum=5;//工作线程privateWorkThrea......
-
8张图理解Java(转载)
一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选。如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟。1、字符串不变性下面这张图展示了这段代码做了什么Strings="abcd";s=s.concat("ef");2、equals()方法、hashCode()方法的区别HashCode被设计用来提高性能。equals()方法与......
-
大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk(转载)
原文出处:naughty本文就架构,功能,产品线,概念等方面就ElasticSearch和Splunk做了一下全方位的对比,希望能够大家在制定大数据搜索方案的时候有所帮助。简介ElasticSearch (1)(2)是一个基于Lucene的开源搜索服务。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apach......
-
记一次 MySQL 删库的数据恢复(转载)
原文出处:赖勇浩昨天因为不可描述的原因,数据库直接被 dropdatabase删除。在第一时间停止数据库服务和Web服务,备份MySQL数据目录下的所有文件之后,开始走上数据恢复之路。第一次干这种事,各种不得法。因为我们既没有备份,也没有开启binlog,连innodb_file_per_tabe_也没有。一番折腾后向万能的朋友圈求救,朋友给了两个链接,最终救了一下命。以下先按编号记下U......
-
python基础算法---插入排序
#插入排序(英语:InsertionSort)是一种简单直观的排序算法。#它的工作原理是通过构建有序序列,对于未排序数据,#在已排序序列中从后向前扫描,找到相应位置并插入。#插入排序在实现上,在从后向前扫描过程中,#需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。个人理解,从头到尾,拿第n个元素跟第n-1个元素对比,如果第n个大于(或小于)第n-1个元素,则需要进行数据交换,外部循环需要......
-
python基础算法---选择排序
#选择排序(Selectionsort)是一种简单直观的排序算法。#它的工作原理如下。首先在未排序序列中找到最小(大)元素,#存放到排序序列的起始位置,然后,再从剩余未排序元素中继#续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,#直到所有元素均排序完毕。mublist=[22,89,78,66,15,29,87,55,43]defselection_sort(list):#执行n-1次......
-
Python基础算法---冒泡排序
#冒泡排序算法的运作如下:##比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。#对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。#针对所有的元素重复以上的步骤,除了最后一个,总共需要重复n-1次。#持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。冒泡算法需要执行n-1次排序,时间复杂度O(n^2),以下图代表一次交......
-
redis伪集群搭建
模型原理·去中心化,去中间件,也就是说,集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各自的数据和整个集群的状态。每个节点都和其他所有节点连接,而且这些连接保持活跃,这样就保证了我们只需要连接集群中的任意一个节点,就可以获取到其他节点的数据。·内置哈希槽(0-16383个编号的哈希槽)确定我们的请求属于哪个哈希槽编号。确定请求该有那一组集群请求 通过请......
-
Android 通用混淆
相信很多同学都遇到混淆的各种问题,最后半途而废了,以下是我成功混淆的代码,供大家参考。release{minifyEnabledtrueshrinkResourcestruezipAlignEnabledtruesigningConfigsigningConfigs.signconfigproguardFilesgetDefaultProguardFile('proguard-android.tx......
-
Netty-Mina深入学习与对比(一)(转载)
转载自并发编程网–ifeve.com本文链接地址:Netty-Mina深入学习与对比(一)这博文的系列主要是为了更好的了解一个完整的nio框架的编程细节以及演进过程,我选了同父(TrustinLee)的两个框架netty与mina做对比。版本涉及了netty3.x、netty4.x、mina1.x、mina2.x、mina3.x。这里并没有写netty5.x的细节,看了netty5的修改文档,似乎......
文章总数:781
本月热门
-
Android 自建maven库
-
pip 安装greenlet,提示:clang: error: invalid version number in 'MACOSX_DEPLOYMENT_TARGET=11.1'
-
Python print如何一行覆盖输出?
-
nexus 搭建python私服:私有pip组件库
-
如何开发一个自己的Python组件?
-
java正则表达式过滤html标签
-
Map
-
常用类API String类
-
提升android webview加速速度小技巧
-
Java & Python 里的泛型
-
Java/Python3/Go语法简单对比
-
Markdown 语法简单练习
-
Linux中more和less命令用法【转载】
-
SpringBoot 整合 sharding jdbc 做数据库分库分表 DEMO (Sharding-jdbc+mybatis+springboot+druid)