自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (3)
  • 收藏
  • 关注

转载 hadoop机架感知

背景    分布式的集群通常包含非常多的机器,由于受到机架槽位和交换机网口的限制,通常大型的分布式集群都会跨好几个机架,由多个机架上的机器共同组成一个分布式集群。机架内的机器之间的网络速度通常都会高于跨机架机器之间的网络速度,并且机架之间机器的网络通信通常受到上层交换机间网络带宽的限制。    具体到Hadoop集群,由于hadoop的HDFS对数据文件的分布式存放是按照分块blo

2017-05-31 23:00:16 264

转载 Hadoop和Spark的异同

解决问题的层面不一样首先,Hadoop和Apache Spark两者都是大数据框架,但是各自存在的目的不尽相同。Hadoop实质上更多是一个分布式数据基础设施: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,意味着您不需要购买和维护昂贵的服务器硬件。同时,Hadoop还会索引和跟踪这些数据,让大数据处理和分析效率达到前所未有的高度。Spark,则是那么一个专

2017-05-31 10:16:12 340

转载 FastDFS分布式文件系统集群安装与配置

FastDFS集群规划跟踪服务器负载均衡节点1:192.168.1.206 dfs-nginx-proxy-1 跟踪服务器负载均衡节点2:192.168.1.207 dfs-nginx-proxy-2 跟踪服务器1:192.168.1.200 dfs-tracker-1 跟踪服务器2:192.168.1.201 dfs-tracker-2 存储服务器1:192.168.1.

2017-05-23 16:56:09 501 1

原创 Redis安装步骤

下载并解压下载wget http://download.redis.io/releases/redis-3.0.0.tar.gz 解压缩tar xzf redis-3.0.0.tar.gz 安装c语言编译环境yum install gcc-c++ 编译cd redis-3.0.0make 安装(文件夹名为redis3)make ins

2017-05-22 14:26:01 255

原创 Ruby 安装 - Linux

官网https://www.ruby-lang.org/en/downloads/ 下载地址https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz解压缩$ tar -xvzf ruby-2.4.1.tgz    $ cd ruby-2.4.1配置并编译源代码$ ./configure./confi

2017-05-22 12:00:16 2226

转载 多线程详解

引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。很多人都

2017-05-18 16:53:24 263

转载 线程安全的方法

面试问题:下面的方法是否线程安全?怎样让它成为线程安全的方法?class MyCounter { private static int counter = 0; public static int getCount() { return counter++; }}本篇文章将解释一个常见的面试题,该问题被谷歌和很多其它公司问起过。它涉及的

2017-05-18 14:40:23 330

转载 synchronized详细介绍

我们知道Java API提供了丰富的多线程机制,但是要想多线程机制能够正常运转,需要采取一些措施来防止多个线程访问相同的资源。为防止出现这样的冲突,只需在线程使用一个资源时为其加锁即可。访问资源的第一个线程加上锁以后,其他线程便不能再使用那个资源,除非被解锁。而在Java中,对这种特殊的资源—— 对象中的内存—— Java 提供了内建的机制来防止它们的冲突。用Java中的Synchroni

2017-05-17 16:54:55 537

转载 redis集群JedisCluster优化 - 管道(pipeline)模式支持

Redis在3.0版正式引入了集群这个特性,扩展变得非常简单。然而当你开心的升级到3.0后,却发现有些很好用的功能现在工作不了了, 比如我们今天要聊的pipeline功能。我们知道,普通的情况下,Redis client与server之间采用的是请求应答的模式,即:Client: command1 Server: response1 Client: command2 

2017-05-17 15:20:58 2091

原创 GroboUtils进行多线程测试

扩展Junit为多线程。Junit源代码会执行System.exit退出,主线程终止jvm都停了,其他线程肯定执行不了的。使用GroboUtils可以去下载它的jar包,官网链接点击打开链接。或者使用maven依赖:   [html] view plain copy dependency>       groupId>net.sour

2017-05-16 17:32:59 396

转载 Handler解析(源码+Demo)

Handler的使用方法如下所示:Handler myHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { ... }

2017-05-16 11:29:14 356

转载 Handler消息机制浅谈

Message:消息;其中包含了消息ID,消息对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理Handler:处理者;负责Message发送消息及处理。Handler通过与Looper进行沟通,从而使用Handler时,需要实现handlerMessage(Message msg)方法来对特定的Message进行处理,例如更新UI等(主线程中才行)Messa

2017-05-16 11:23:49 336

转载 handler机制

handler消息框架1.Looper是消息循环类,负责从消息队列取消息,然后通过handler转发给UI线程,它包含mQueue成员变量,mQueue是一个消息队列MessageQueue。2.MessageQueue是消息队列类,它包含了mMessages成员;mMessages是消息Message的实例。MessageQueue提供了next()方法来获取消息队列的下

2017-05-16 11:18:36 226

转载 java多线程读取多个文件 导入数据库

近期在做Java读文件的项目,由于数据量较大,因此研究了一下多线程,总结了一下:一. 多个线程读文件和单个线程读文件,效率差不多,甚至可能不如单线程,原因如下:如果只是单纯的读文件,一个线程足够了,因为一般瓶颈是在磁盘io上,多个线程只会在磁盘io上阻塞。因为不同文件的读写,会造成磁头的频繁转换,磁头的频繁转换要比读取磁盘的时间更长。但是一般是读一小块做一次处理,然后再读下一块,这样只

2017-05-16 10:53:59 3852

转载 Redis cluster唯品会大规模生产实践

嘉宾:陈群很高兴有机会在Redis中国用户组给大家分享redis cluster的生产实践。目前在唯品会主要负责redis/hbase的运维和开发支持工作,也参与工具开发工作Outline一、生产应用场景二、存储架构演变三、应用最佳实践四、运维经验总结第1、2节:介绍redis cluster在唯品会的生产应用场景,以及存储架构的演变。

2017-05-15 10:38:40 711

转载 Hybrid App

随着智能手机的普及,移动端应用几乎成为每个互联网产品的标配。在快速迭代的互联网战场中高效开发、低成本上线产品,是每个应用开发团队追求的目标。此时,选择合适的应用类型和开发模式便至关重要。移动应用可以粗分为三种:原生应用(native app), 网页应用(web app,或HTML5 app),以及它们的混血儿——混合模式移动应用(hybrid app)。今天的博文就来和大家简单聊聊近年来蓬勃发展

2017-05-11 16:07:51 1549

原创 App开机启动

在app后台运行,然后重新启动手机时才可以监听到启动事件,如果将后台服务杀死后重启手机无效!!!首先,在app的配置页面加入权限AndroidManifest.xml:此外,在您的AndroidManifest.xml,定义一个广播,监听开机事件: <receiver android:name=".receiver.Start

2017-05-08 17:59:15 290

转载 AlertDialog自定义

收藏(19)Android 提供了 AlertDialog 类可通过其内部类 Builder 轻松创建对话框窗口,但是没法对这个对话框窗口进行定制,为了修改 AlertDialog 窗口显示的外观,解决的办法就是创建一个指定的 AlertDialog 和 AlertDialog.Builder 类。定义外观我们希望将上面默认的对话框外观修改为如下图所示的新对话框风格:该

2017-05-08 14:20:55 668

原创 WebView

在代码中,把WebView当做其子View添加进去WebView webView = new WebView(context);  webViewLayout.addView(webView);  网上很多人说这个context应该用application的,我觉得是不对的,如果你的WebView需要弹出一个dialog呢?还有其他的不可预估的问题的,最好还是用当前的activity的

2017-05-08 09:56:45 322

转载 Android service后台保活原理相关和测试结果

引子:目前在做的一个Android项目,涉及到了后台Service保活的问题,网上找了很多资料,基本的保活方法都测试了。结果是:不同的手机,不同的Android版本保活效果各有差异~。最难绕过的是个厂商对“后台程序保活”管理。下面把相应的测试结果和保活方法罗列下。测试的机子有限,非常希望有不完整的地方能提出补充。正文:一、为什么我们的后台Service会被结束掉?

2017-05-05 16:32:46 977

转载 Android开发之如何保证Service不被杀掉(broadcast+system/app)

序言最近项目要实现这样一个效果:运行后,要有一个service始终保持在后台运行,不管用户作出什么操作,都要保证service不被kill,这可真是一个难题。参考了现今各种定制版的系统和安全厂商牛虻软件,如何能保证自己的Service不被杀死呢?其实除了常规的手段,我们可以参考一下微信和360,设置-程序-正在运行,可以看到微信是同时开启了两个进程和服务:【有兴趣可

2017-05-05 16:06:09 396

转载 Android Notification常见样式总结

本文总结一下开发中使用的Notification的常见样式 Demo下载地址 demo里有两首歌和打包后的apk,所以比较大,如果网不好下载请耐心!代码中用的自定义常量 public static final int TYPE_Normal = 1; public static final int TYPE_Progress = 2; public s

2017-05-05 15:10:18 331

转载 iOS 程序从开发完到上 AppStore 那点事儿

一、账号体系想要进行iOS开发,除了必备一台装有Mac OS X/Xcode的Mac开发机(iMac or MacBook)之外,还必须要有苹果开发者账号,只有拥有开发者账号,才能申请开发/发布证书及相应配置文件,项目才可以发布到App Store上。开发者账号分为两种类型:Individual(个人或公司开发者账号$99):能够在指定的设备上进行真机调试,可以在AppSt

2017-05-05 14:07:17 1041

转载 Android 减包 - 减少APK大小

用户经常会避免下载看起来体积较大的应用,特别是在不稳定的2G、3G网络或者在以字节付费的网络。这篇文章描述了怎样减少你的APK大小,这会让更多的用户愿意下载你的应用。理解APK的结构在讨论怎样减少应用大小之前,先了解APK的结构是有用的。一个APK文件就是ZIP包,其中包含了组成你的应用的所有文件,比如Java类文件,资源文件,和一个包含被编译资源的文件。一个APK包含了以

2017-05-04 10:58:46 1243

转载 Android 新一代多渠道打包神器

ApkChannelPackage是一种快速多渠道打包工具,同时支持基于V1和V2签名进行渠道打包。插件本身会自动检测Apk使用的签名方法,并选择合适的多渠道打包方式,对使用者来说完全透明。Github地址:https://github.com/ltlovezh/ApkChannelPackage概述众所周知,因为国内Android应用分发市场的现状,我们在发布

2017-05-04 10:57:58 1919

转载 iOS开发 非常全的三方库、插件、大牛博客等等

UI下拉刷新EGOTableViewPullRefresh- 最早的下拉刷新控件。SVPullToRefresh- 下拉刷新控件。MJRefresh- 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写)XHRefreshControl- XHRefres

2017-05-04 10:51:20 5274

转载 WebView与JS交互

:Android API中提供了WebView组件来实现对html的渲染。现在HTML5、CSS3、jS的相关开发技术,以及数据交换格式json/XML。Web开发工程师的技能。为了减少对android的过度依赖,通常会在原生的Android 嵌入部分的html了。这样一来就避免不了为js数据交互。我们新建一个简单的布局,只有一个webview控件"@+id/webView" 

2017-05-04 10:11:59 261

转载 Android的滑动分析以及各种实现

一、滑动效果的产生滑动一个View,本质区别就是移动一个View。改变当前View所在的坐标,原理和动画相似不断改变坐标位置实现。实现View的滑动就必须监听滑动的事件,并且根据事件传入的坐标,动态且不断改变View的坐标,从而实现View跟随用户触摸的滑动而滑动。(1)、Android的坐标系Android中将屏幕最左上角的顶点作为Android坐标系的原点,从这个点向右

2017-05-04 10:09:13 617

转载 AppUasge统计app的使用情况,启动次数,启动时间

Google从 API 21 新增了接口 android.app.usage , 通过这个api我们可以统计到每个app的使用情况,启动次数,启动时间等,也可以判断是否运行在前后台,比较方便,也可以用作埋点,统计框架中,今天就来深入的学习一下。获取前后台5.0以前做法是这样的: public String getForegroundApp(Context context) {

2017-05-03 14:20:29 4895

转载 触摸事件,使用layout方法使View随手指的滑动而滑动

1.思路在View的onTouchEvent方法中对MotionEvent中的坐标进行记录,记录按下的时候记录,在移动的时候计算他们的偏移量,调用layout()对view的位置进行重绘制2.对坐标的处理1.可以通过event.getX()来获取相对父View的坐标2.页可以通过event.getRawX()来获取相对屏幕的坐标 @Override publ

2017-05-03 14:16:19 632

转载 Android Studio 打包、生成jks密钥、签名Apk、多渠道打包

生成jks签名文件选择Build > Generate Signed APK…选择项目app > Next选择Create new…选择签名文件的路径,这些信息和eclipse一样了,填完点击OK选择Next我们这里做测试选择qihu360和xiaomi打包relea

2017-05-03 10:02:32 8912 2

shiro_springmvc_mybatis框架整合

shiro_springmvc_mybatis框架整合模板,附带数据库文件,直接运行

2017-02-05

空空如也

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

TA关注的人

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