自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实时计算平台 flink + pushGateway + grafana 实现指标可视化监控方案存在的问题

最近实时计算平台要搭建指标可视化监控,查阅了网络的搭建方案,大部分都是 flink + pushGateway + prometheus + grafana, 博主也是按照这样的方案进行搭建,从测试环境到线上,刚开始都没有什么问题,但是在越来越多的任务接入了pushGateway 之后,pushGateway 性能急剧下降,flink 程序出现 WARN 报警,连接 pushGateway 超时如下图:然后查看grafana 监控,发现任务指标监控更新缓慢,明显延迟,且有些新任务启动后在..

2020-12-15 20:02:30 1434

原创 大数据平台开发工程师的历程与展望

Hello ,各位,来晚了,这两年发生了很多的事情,博客没有更新,在接下来的日子里会逐步写下我从事的大数据平台开发的心理历程以及在工作中的设计理念等。希望大家关注!谢谢!...

2020-01-08 12:44:19 283

原创 消息系统kafka之二 kafka的HA(高可用)

在前面的《消息系统kafka之一 系统简介》的为什么选择kafka中已经提到了kafka高可用的特性。下面是kafka与其他消息系统之间的区别可以看出,kafka支持持久化消息,消息回追等功能,在HA方面kafka使用的是replication策略在了解replication机制之前必须看下kafka的系统架构的文件存储机制如图,kafka中的消息是以topic进行分类的,生产者通过topic向k...

2018-03-25 20:13:12 9446 1

原创 消息系统-kafka之一 系统简介

最近在研究消息中间件kafka,下面简单介绍一下kafka消息系统,首先,为什么使用消息中间件,有哪些消息中间件,为什么选择kafka为什么使用消息系统?1.首先就是消息系统的高性能,即使是非常普通的硬件可以支撑一秒几十万的消息2.消息队列对应用之间进行了解耦,应用之间不存在强依赖3.消息队列可以对消息数据进行持久化,这样即使处理消息的进程全部挂掉,也不会丢失已经加入消息队列的数据,对很多关键的业...

2018-03-19 23:16:34 996

原创 Mybatis初识

Mybatis 中 sql映射的xml文件(mapper)的写法:里面包括 select insert update delete在select中,id 是唯一标识符,parameterType 是需要的参数类型,resultType是返回的类型,在resultType返回的类型可以使用别名,别名的配置在mybatis-config.xml的typeAlias中参数:r

2017-09-09 14:25:03 301

原创 数据治理

互联网寒冬,每个公司的数据团队都会面临数据治理,那么什么是数据治理呢?简单来说就是解决集群的存储问题,实际要比这复杂的多。什么样的数据需要治理,需要怎么治理,谁来治理?从治理来说,只有一个目的,安全、稳定、高效的清理无效数据或是使用率较低的数据,节约成本;减少小文件数,降低NameNode压力数据治理不是单独存在的,它依赖着数据资产分析,数据元信息等现在说一下我实现的数据治理方案:1. Hive 表数据压缩归档周期性的对用户设置的压缩周期进行压缩归档,可以减少一定的存储,同时也在一定

2020-06-12 22:10:55 298 1

原创 Android中的缓存策略

今天给大家介绍一下Android中的缓存策略,说起缓存大家应该都有所听说,二级缓存,三级缓存之类的。缓存策略在Android中有着广泛的使用场景,尤其是图片加载这个场景下,缓存策略是非常重要的。为什么要这么说呢,Android设备大多是移动设备,多以使用数据流量为主,数据流量又是收费的,为了在应用的使用中并不过多的消耗用户的数据流量。使用缓存策略可以很好的缓解流量消耗的问题。

2016-10-16 21:44:45 474

原创 android开发之Bitmap的高效加载

今天给大家介绍一下如何高效的加载一个Bitmap,在后面的文章里会给大家介绍一下如何自己写一个功能完备Image Loader,这里是ImageLoader的前期准备工作。由于Bitmap的特殊性和Android应用的内存资源有限,在加载Bitmap时,很容易出现内存溢出(OOM)。在介绍如何高效的加载一个Bitmap之前,我们先说一下如何加载一个Bitmap,Bitmap在Andro

2016-10-16 20:45:58 599

原创 Android中Json的全解析(JSONObject,JSONArray,Gson,Jackson)

在前面我们已经讲解了XML的解析,今天来讲一下Json的解析过程。前面已经对XML和Json进行了详细的对比,这里就不在重述了。先跟大家描述以下Json的数据结构,有以下两种形式:1)“名称/值”对的集合这种“名称/值”对的集合形式又称为JSONObject,其名称和值之间使用“:”隔开,一般的形式如下:{name:value}例如:{"width":"800","height":

2016-10-14 22:05:38 997

原创 Android 的网络判定(网络连接类型和监听网络连接变化)

现在,Android手机作为市场占有量最大的移动设备,拥有着无数的需要连接网络的App,同时人们也渐渐不能离开需要网络的生活,相信大家都知道,在一些IMApp,类似于QQ,Wechat等通信工具中,并不需要很大的网络流量,普通的GPRS数据流量就可以应付自如。但是,当需要在线收看视频或者下载大型软件游戏的时候,在Wi-Fi连接下会有比较好的体验。作为开发者,在开发对网络连接非常敏感的App时,我们

2016-10-14 20:03:46 13812

原创 Android加密和解密(DES,AES,MD5)

加密是通过加密算法和加密密钥将明文转变为密文的过程,解密是其逆过程。加密算法有很多种,一般可以分为对称加密(如DES、AES等)、非对称加密(如RSA等)和单向加密(如MD5等)3类算法。1)在对称加密算法中,双方使用的密钥相同,要求解密方事先必须知道加密密钥。这类加密算法技术较为成熟,加密效率高。2)在非对称加密算法中,收发双方使用不同的密钥,发方使用公开密钥对消息进行加密,收发使用

2016-10-13 21:53:44 15606

原创 View的滑动实现之三(使用动画,属相动画及延时策略)

前面我们已经介绍了两种View的滑动实现,今天我们介绍另一种滑动方式,即使用动画。通过动画我们能够让一个View进行平移,而平移就是一种动画。使用动画来移动View主要操作的是translateX和translateY属性,既可以使用传统的View动画,也可以采用属性动画。但是,如果使用属性动画的话,为了兼容android3.0以下的版本,需要使用开源动画库nineoldandroids,大家感兴

2016-10-13 19:50:15 618

原创 View 的滑动实现之二(ScrollTo,ScrollBy和Scroller)

在本篇文章的前面,我们讲到了使用Layout的方法实现View的滑动今天给大家介绍一下使用ScrollTo,ScrollBy和Scroller来实现View的滑动。一、ScrollTo,ScrollBy在View中,系统专门提供了scrollTo和scrollBy两种方式来改变View的位置,于是我们就可以通过这两个方法实现View的滑动。我们先来看一下这两个方法的实现:

2016-10-12 21:18:16 793 1

原创 android中XML的解析

XML即可扩展标记语言,它和HTML很类似,但是又与HTML有很多不同之处,XML用于传输和存储数据,而HTML则是为了显示数据,单从代码上来看,XML最大的特点就是标签没有被预定义,不像HTML那样必须使用固定的预定义元素集。上面也说到了,XML是用来存储数据的,这时候就不得不与同时具有存储功能的JSON格式来进行一下对比了。1.在可读性方面,JSON和XML的可读性基本相同。2.在

2016-10-11 22:17:03 740

原创 View的滑动实现之一(使用layout实现)

滑动一个View,本质上就是移动一个View的位置,它的实现与动画的实现非常相似,通过不断的改变View的位置来实现这一效果。所以,如果要实现这一效果,必定要监听用户的触摸事件。在前面我们已经深入分析了触摸事件的传递和分发机制。今天在这里同样还需要使用到MotionEvent。在实现滑动之前,我们先来熟悉一下Android中的坐标系。在Android中,将屏幕的左上角的顶点作为Androi

2016-10-10 21:19:55 897

原创 android 详解Notification

Notification作为一个事件触发通知型的交互提示接口,在消息提示方面给了我们很好的交互体验。Google在Android5.0中又进一步改进了通知栏,优化了Notification。在长按Notification时,会显示消息的来源。1。先来讲解一下最基本的Notification,此时的Notification的创建已经摒弃了new Notification的做法,而是使

2016-09-27 21:16:57 436

原创 android 的触摸事件的分发拦截机制分析

今天给大家讲解一下android中触摸事件的分发拦截机制,Android为触摸事件封装了一个类,MotionEvent,如果在项目中你重写过onTouchEvent方法,你就会发现该参数就是一个MotionEvent。在MotionEvent中封装了不少比较实用的东西,比如触摸点的坐标,点击事件的类别等。这样大家就对触摸事件有了一定的了解了,现在说一下事件的拦截机制。       我们大家

2016-09-27 20:01:18 393

原创 java 基础(含泪撰写java中作用域的区别)

今天cvte电话面试被问到了这个问题,真真没有想到,写了这么长时间的android的我,居然没有回答好这个问题,还真是哭笑不得啊,今天把它马下来,不为别的,就当是给自己的一个警戒。       java中的作用域有 public ,protected,private,default。坑就在这,我以为default和protected是一样的。       现在来逐个讲解一下:1.对于p

2016-09-18 15:33:13 5002 1

原创 android 自定义View之View的测量(onMeasure()方法)

在自定义控件的过程中,系统在绘制View前,必须对View进行测量,已使后面的onLayout(设置View的放置位置)能够顺利进行。而对VIew的测量的过程则是在onMeasure()中进行的。可能这时有的同学就发现问题了,说,自己以前自定义的View没有重写onMeasure()方法,仍然可以正常运行,这是因为什么呢?       让我们先从头说起,android系统给我们提供了一个设计短

2016-09-14 19:12:13 5283 2

原创 android Notification的自定义和实现通知栏的展开和收起

最近写项目遇到了这样一个问题,就是如何才能实现通知栏的伸展,效果直接上图通知栏伸展后是其实实现这个效果还是比较简单的,但是查找了很多资料,大家都是说的马马虎虎,一样的模板,照抄照搬。先来说一下如何实现Notification的自定义吧,这里需要设置的是Notification的ContentView,代码如下remoteViews = new RemoteViews(get

2016-08-01 09:22:06 12521 4

原创 获取本地音乐文件的专辑,图片,音乐信息

今天跟大家分享一下如何获取本地音乐文件中的各种音乐信息,包括音乐的歌名,歌手,曲长,专辑,专辑图片private String tilte;//歌名private String artist;//歌手private Bitmap bitmap;//专辑海报private long duration;//时长private String path_music;//当前播放的歌曲路径

2016-07-22 22:50:42 4562

原创 设置对话框位置,设置对话框透明度等

今天给大家讲一些关于对话框的小知识点。1.设置对话框的位置AlterDialog dialog=new AlterDialog.Builder(this) .setMessage("在顶端显示对话框").setPositiveButton("确定",null).create();Window window=dialog.getWindow();//调用setGrav

2016-07-22 22:32:01 798

原创 android 黑名单 短信拦截

上一篇讲了电话拦截,现在讲一下短信拦截。由于android4.4以上,提高了系统的安全性,同时,也对短信的处理进行了保护先来讲一下在android4.4以下的短信拦截机制在android4.4一下,要拦截黑名单中的短信,只需要注册一个优先级较高的短信广播接收器,然后在接收到短信后,查看发送者是否存在于黑名单中,如果存在的话,abortBroadcast();截断广播,这样系统的短信

2016-07-21 17:28:09 1512

原创 android 黑名单中电话拦截

今天讲一下最近项目中刚做的黑名单拦截,其中可以拦截短信和电话先讲一下拦截电话的操作首先要注册一个监听电话广播的广播接收器。在Manifest文件中<receiver android:name=".Receiver.InterceptSmsReceiver" android:enabled="true" android:exported="true">

2016-07-21 16:46:51 1521

原创 屏幕适配中的dip与px之间的转化

在项目中,为了适配所有的屏幕,有时候会使用到dip和px之间的转换dip 称为设备独立像素,在不同的移动设备上,有着不同的显示效果,与设备的显示器的单位像素点有关。px则是真是的物理像素,1px就是一个真实像素点。举例说明一下独立像素与真实像素的区别比如,在横向480px的设备上绘制宽度为240px的区域,这时,正好绘制的宽度是总宽度的一半,但是当在屏幕宽度为960px的设备上运行

2016-07-21 16:14:25 2078

原创 android service 的动态更改UI和service重启问题

最近在写项目的时候遇到了service的多个问题,下面跟大家分享一下,简单说一下。再写音乐播放器时,音乐播放器写在服务中,虽然有时不把mediaplayer写在service中,有时也能实现后台播放,但是一旦android 系统内存吃紧,就会马上kill掉它,把它写在service里是非常必要的,因为有时候,即使你写到service中,也不能保证service服务永远不被杀掉,这里就需要优化一

2016-07-11 20:31:32 2127

原创 MD5加密算法

在android 开发的很多时候。为了保证用户的账户的安全性,再保存用户的密码时,通常会采用MD5加密算法,这种算法是不可逆的,具有一定的安全性。在这里将其作为一个工具类单独写一下。import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class M

2016-06-21 17:46:16 4094 3

原创 Activity的四种启动模式

配置Activity时可指定android:launchMode 属性,该属性用于配置该Activity的加载模式。该属性支持以下4个属性值。> standard:标准模式,这是默认的加载模式。> singleTop:Task栈顶单利模式。> singleTask:task内单例模式。> singleInstance:全局单例模式。先介绍一下啊Android对Activ

2016-06-05 09:28:20 335

原创 EditTexts实现图文混排

图文混排要求在EditText中既有图片又有文字,这里要用到EditText可以解析html标签的功能大概支持的标签有这些如果只是简单的图文混排,有就可以了先来讲一下简单的图文混排。首先要通过图库或是拍照获得bitmap,进而获得Uri,然后添加html标签,

2016-06-04 16:40:02 636

原创 Sd卡的存储与读取

首先先讲一下如何在Sd卡上创建文件File dir=new File(Environment.getExternalStorageDirectory(),"photo");if (!dir.exists()) { dir.mkdirs(); }File f=new File(dir,System.getCurrentTime()+".jpg");

2016-06-04 16:17:47 562

原创 设置进入存在EditText的界面时,输入法不会自动弹出

一般情况下,在进入有EditText的界面时,EditText会首先获得焦点,然后输入法会自动跳出解决方法一:在AndroidManifest文件中给EditText所在的Activity添加这样一条属性android:windowSoftInputMode="stateHidden"解决方法二:可以让别的组件获得焦点,而不是EditText获得焦点,将一下代码写到父

2016-06-04 16:02:14 988

原创 如何将String转为Uri,Uri转为Drawable

String转UriUri uri=Uri.parse(s);Uri转DrawableDrawable d=Drawable.createFromStream(getContentResolver().openInputStream(uri,null));

2016-06-04 15:33:38 12619

原创 跟随屏幕大小自动调整bitmap大小(横竖屏拍摄的照片均可)

在一个项目中用到了全屏显示bitmap,由前面的从图库或是直接拍照获得的图片是经过压缩的,这里就说一下怎么调整bitmap的样式大小 public static Bitmap resizeImage(Bitmap originalBitmap) { int width = originalBitmap.getWidth(); int height = ori

2016-06-04 15:22:08 641

原创 调用手机摄像头拍照和从图库中选取照片以及得到照片后的备份

手机拍照:Intent getImageByCamera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);File file = new File(getMediaDir(), System.currentTimeMillis() + ".jpg");//文件不存在,就创建if (!file.exists()) { try {

2016-06-04 15:00:08 530

原创 下拉刷新列表PulltorefreshListView的长按操作OnItemLongClickListener()失效的解决办法

解决办法:将PulltorefreshListview 转换为ListView  ListView actualListView = refreshlv.getRefreshableView(); actualListView.setOnItemLongClickListener(longClick);这样就可以监听长按操作了。还有一点,就是,如何才能使listview长按

2016-06-04 14:43:13 590

原创 TwoNote日程清单的使用

TwoNote日程清单的使用首先感谢大家使用TwoNote来记录生活中的一点一滴,一分一秒。同样,还是在主界面的左侧滑动打开抽屉,点击日程清单。然后进入日程清单主界面。然后添加日程任务,点击“加号”进行添加。(不知什么问题,上传图片的颜色不是原色,请大家 谅解)同样在创建日程任务时,点击右侧的收藏标记,将对日程

2016-05-27 21:58:04 533

原创 TwoNote录音笔记的使用

TwoNote录音笔记的使用首先感谢大家使用TwoNote来记录自己生活中的一点一滴,一分一秒。同样在主界面滑动出抽屉,选择录音笔记。然后进入的则是录音程序的录音界面。在标题栏中输入标题,录音程序的操作方法是:1.点按一次,开始录音2.在录音时长按,可重置录音程序,重新开

2016-05-27 21:19:27 556

原创 TwoNote记事本的使用

TwoNote笔记的使用首先欢迎使用TwoNote记事本程序,下面介绍一下TwoNote记事本的使用帮助。首先是TwoNote的主界面,左下角的是新建按钮。右上角的是搜索按钮,还有菜单按钮。下面是点击新建按钮进入的编辑界面。正如上面显示的,这里包括标题和正文,在编辑正文时可以设置字体的粗细还有斜体,下划线等字体,还有就是能够添加照片。如下显示。除此之外,在右

2016-05-27 20:13:12 256

凸优化经典书籍

详细的凸优化教程,内容详细,立体丰富,通俗易懂。新手入门必备

2017-11-29

ITelephony.aidl和NeighboringCellInfo.aidl

ITelephony.aidl和NeighboringCellInfo.aidl

2016-07-21

一个多功能的记事本程序(富文本,录音,拍照,日程提醒,传感器)

富文本,录音,拍照,日程提醒,传感器

2016-06-08

空空如也

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

TA关注的人

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