自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

转载 java nio

NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。那么NIO的本质是什么样的呢?它是怎样与事件模型结合来解放线程、提高系统吞吐的呢?本文会从传统的阻塞I/O和线程池模型面临的问题讲起

2017-07-31 22:00:35 1005

转载 应用服务器中对JDK的epoll空转bug的处理

前面讲到了epoll的一些机制,与select和poll等传统古老的IO多路复用机制的一些区别,这些区别实质可以总结为一句话,就是epoll将重要的基于事件的fd集合放在了内核中来完成,因为内核是高效的,所以很多关于fd事件监听集合的操作也是高效的,不方便的就是,因为在内核中,所以我们需要通过系统调用来调用关于fd操作集合,而不是直接自己攒一个。如果在linux

2017-07-31 21:31:14 2226 2

转载 Executor, ExecutorService 和 Executors 间的不同

java.util.concurrent.Executor, java.util.concurrent.ExecutorService, java.util.concurrent. Executors 这三者均是 Java Executor 框架的一部分,用来提供线程池的功能。因为创建和管理线程非常心累,并且操作系统通常对线程数有限制,所以建议使用线程池来并发执行任务,而不是每次请求进来时创建

2017-07-31 21:16:24 285

转载 通过Android Studio查看SDK源码

通过Android Studio查看SDK源码最近用Android Studio开发中,想进入源码老是看不到内容(Sources for android API 23 Platfrom not found),以前没太注意这个问题,因为有的时候还能在线看得到,现在进入就看不到源码内容很不方便。然后在网上搜了搜,都是老版本的,可以设置源码位置,可我在Android Studio 找了个

2017-07-31 21:09:17 1942

转载 JVM性能调优监控工具hprof使用详解

一、问题现状     现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(Lock Contention)Java进程消耗CPU过高......     这些问题在日常开发中可能被很多人忽视(比如有的人遇到上面的问题只是重启服务器或者调大内存,而不会深究问题根源),但能够理解并解决这些问题

2017-07-31 17:30:24 4696

转载 你使用Rxjava时,内存泄漏了吗?

今天有位同学问了我一个问题,话说,问我“有遇到网络请求一半,退出Activity造成的Theard泄露吗?已在销毁时调用了un了我去查看了下rx的源码的unsubscribe方法,定位到一个实现类,NewThreadWorker的unsubscribe方法中,源码如下:@Override public void unsubscribe() { isUns

2017-07-31 17:12:17 1598

转载 给 Android 开发者的 RxJava 详解

前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: R

2017-07-31 17:04:59 540

转载 通过SourceTree连接SSL有问题的自建gitlab服务器

我用的是 SourceTree 作为Git客户端的,用它连接一个HTTPS证书过期的自建git服务,会收到下面错误:abort: error: _ssl.c:507: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failedfatal: repository 'https://****

2017-07-30 18:34:23 5375

转载 Java中的阻塞队列

1. 什么是阻塞队列?阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。阻塞队列提供了四种处理方

2017-07-28 09:52:37 314

转载 BLE简介和Android BLE编程

一.BLE和BT区别其实我知道许多程序员不太喜欢阅读除了代码以外的文档,因为有时这些过于冗长的文档对编程并没有更多的好处,有了协议,接口,demo差不多很多人就能写出很好质量的代码了。但其实更深入的编程是少了阅读的,阅读文档可以解决很多编程中遇到的困难,比如在大数据大流量情况下,很多正常的程序会表现出不可靠的一面,这已经不是够编程能解决的了,硬件的配置,服务器带宽,使用的数据库,调用的接口都有

2017-07-27 14:18:21 473

转载 Android项目中如何用好构建神器Gradle?

最近在忙团队并行开发的事情,主要是将各个团队的代码分库,一方面可以降低耦合,为后面模块插件化做铺垫,另一方面采用二进制编译,可以加快编译速度。分库遇到了一些问题,很多都要通过Gradle脚本解决,所以稍微花时间研究了一下。Gradle虽为构建神器,但感觉学习曲线比较陡峭。Gradle User Guide内容很多,但有点太多了,多的你看不完,Gradle Plugin User G

2017-07-25 18:21:06 408

转载 10 行配置从 Android Studio + Gradle 构建体系迁移到 Facebook 的 Buck 构建体系

12 10行配置从Android Studio + Gradle构建体系迁移到facebook的BUCK构建体系,且保持两者同时兼容使用,编码使用AS,享受安卓最强大IDE的功能,打包、安装、测试用BUCK,享受安卓最快构建系统的畅快淋漓,两者互不干扰。从此妈妈再也不用担心我在编译安卓工程时睡着了,而且真的只要1210行!为什么要有OkBuck?Android Studio

2017-07-25 15:18:15 777

转载 使用 buck 打包 Android( 使用OkBuck给Android Studio+gradle生成 buck 脚本)

一、安装BuckBuck是一个由Facebook推出的开源Android build工具。Buck可以加速你的Android构建,它通过独立构件并行来发挥多核的性能。进一步的,它还可以通过跟踪不变资源的情况下减少增量构建次数,从而以最小的资源集重建。它采用特殊的构建步骤,与Ant构建脚本不同。Facebook称,Buck最关注的就是速度,Buck的速度是Ant的两倍。0、缺陷暂

2017-07-25 15:00:06 1227

转载 android studio上的jni编译流程以及Android.mk文件的处理

最近在研究牛逼的视频库ffmpeg 在Android上的应用。查找各路大神的博客,终于可以在eclipse的项目中略施一二技能。但是公司项目是用的android studio。项目的文件结构都不一样,直接从eclipse上copy过时肯定不能的。所以又研究了一下android studio下的jni的试用。我是从两篇文章上参照出来的,先把网址贴出来:http://www.cnb

2017-07-25 14:44:08 4761

转载 Android插件DSL参考

Version 2.3.0介绍 这是Android Gradle 插件的 DSL参考.通过这篇文章可以找到插件的正确扩展类型。扩展类型 下边的列表展示了Gradle的扩展类型。类型描述AppExtensionandroid应用扩展LibraryExtensionandroid库扩展TestExtensi

2017-07-25 11:27:42 845

转载 我对 React Native 的理解和看法

React native出来也快一周了,我写了几个demo,简单看了看objc代码并和开源前的我们的一些结论(见后文)交叉验证。简单地从前端工程师和系统整体角度说一下React native的特点和优劣吧。react native充分利用了Facebook的现有轮子,是一个很优秀的集成作品,并且我相信这个团队对前端的了解很深刻,否则不可能让Native code「退居二线」。对应到

2017-07-23 23:50:18 1063

转载 聊聊移动端跨平台开发的各种技术

介绍最近出现的 React Native 再次让跨平台移动端开发这个话题火起来了,曾经大家以为在手机上可以像桌面那样通过 Web 技术来实现跨平台开发,却大多因为性能或功能问题而放弃,不得不针对不同平台开发多个版本。但这并没有阻止人们对跨平台开发技术的探索,毕竟谁不想降低开发成本,一次编写就处处运行呢?除了 React Native,这几年还出现过许多其它解决方案,本文我将会对这些

2017-07-23 23:44:50 2610

转载 React Native通信机制详解

React Native是facebook刚开源的框架,可以用javascript直接开发原生APP,先不说这个框架后续是否能得到大众认可,单从源码来说,这个框架源码里有非常多的设计思想和实现方式值得学习,本篇先来看看它最基础的JavaScript-ObjectC通信机制(以下简称JS/OC)。概览React Native用iOS自带的JavaScriptCore作为JS的解析

2017-07-23 23:31:11 400

转载 React 入门实例教程

现在最热门的前端框架,毫无疑问是 React 。上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑。React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在20

2017-07-23 23:29:43 378

转载 Android 5.1 property属性系统分析

简介在”init进程分析”系统文章中,主要介绍了init进程如何处理rc文件,没有过多讲解init进程启动的相关核心服务.例如Android属性系统等,接下来的会逐个讲解init进程启动的核心android服务.Android属性系统其实可以理解为键值对:属性名字和属性值;很类似于windows上的注册表.我们可以通过在adb shell里敲入getprop命令来获取当前系统的所有属性

2017-07-23 22:43:03 1669

转载 【漏洞预警】FFmpeg曝任意文件读取漏洞

最近有白帽在HackerOne平台上报了ffmpeg漏洞,该漏洞利用ffmpeg的HLS播放列表处理方式,可导致本地文件曝光。漏洞描述 6月24日,HackerOne平台名为neex的白帽子针对俄罗斯最大社交网站VK.com上报了该漏洞,并因此获得1000美元奖金。ffmpeg可处理HLS播放列表,而播放列表中已知可包含外部文件的援引。neex表示他借由该特性,

2017-07-23 14:22:36 957

转载 Linux堆内存管理深入分析

0 前言近年来,漏洞挖掘越来越火,各种漏洞挖掘、利用的分析文章层出不穷。从大方向来看,主要有基于栈溢出的漏洞利用和基于堆溢出的漏洞利用两种。国内关于栈溢出的资料相对较多,这里就不累述了,但是关于堆溢出的漏洞利用资料就很少了。鄙人以为主要是堆溢出漏洞的门槛较高,需要先吃透相应操作系统的堆内存管理机制,而这部分内容一直是一个难点。因此本系列文章主要从Linux系统堆内存管理机制出发,逐步介绍诸

2017-07-23 14:08:05 486

转载 android studio配置sdk和gradle中的一些问题

因为最近在家里也要搞一下android项目,家里笔记本上一直装的Eclipse,心血来潮给装上了as。创建项目,配置sdk,gradle环境,又是一个蛋疼的过程。几经周折终于build gradle finished之后,为了让以后不在蛋疼,在此记录一下问题以及解决办法。首先要说的就是这两个build.gradle文件我习惯用project目录方式来看上面那个红框中的build

2017-07-20 18:46:06 5988

转载 ERROR: Android Source Generator: [project] AndroidManifest.xml file not found

you must open Project Structure modified something.example: Project Structure > Facets ,you can see this is: delete ".idea", like this ok, IDE there find AndroidManifest.xml

2017-07-20 15:14:35 5100

转载 知道Android 中Gradle 的这些技巧,提升编译构建速度

不过有些事情我们是不得不承认的,Android Studio 越升级越卡顿有木有,每次升级都说有黑科技,但每次都被当做小白鼠,最后只能降版本保智商,每次构建,都要刷个干货群,刷个知乎才能完成,有时候代码改了运行了没有生效有木有???现在越来越觉得Google 不靠谱了(这么大胆黑谷歌会不会被喷死!!!)。好吧吐槽完了,下面切入正题,最后还是要自己去填坑。现在基本上都使用Android Stud

2017-07-20 10:59:17 717

转载 React Native通信机制详解

React Native是facebook刚开源的框架,可以用javascript直接开发原生APP,先不说这个框架后续是否能得到大众认可,单从源码来说,这个框架源码里有非常多的设计思想和实现方式值得学习,本篇先来看看它最基础的JavaScript-ObjectC通信机制(以下简称JS/OC)。概览React Native用iOS自带的JavaScriptCore作为JS的解析

2017-07-20 08:13:54 397

原创 android UI框架对比

Framework 7 -- iDangero.us -- Since version 1.0 was released a year ago, Framework has been one of the best choices for developing iOS apps. Now that it offers Android support, it’s also a good opti

2017-07-19 21:18:00 1013

原创 openssl 非对称加密算法RSA命令详解

1、非对称加密算法概述非对称加密算法也称公开密钥算法,其解决了对称加密算法密钥分配的问题,非对称加密算法基本特点如下:1、加密密钥和解密密钥不同2、密钥对中的一个密钥可以公开3、根据公开密钥很难推算出私人密钥根据非对称加密算法的特点,可用户数字签名、密钥交换、数据加密。但是由于非对称加密算法较对称加密算法加密速度慢很多,故最常用的用途是数字签名和密钥交换。

2017-07-19 19:18:04 2105

转载 BlockingQueue

前言:     在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个

2017-07-12 10:28:13 308

转载 linux下单进程可创建的最大连接数

查看各类资源限制:ulimit -alinux 连接数的限制: socket连接数和一个进程能打开的最大文件描述符数相等修改linux socket最大连接数有两种方法:1、使用命令:ulimit -n ***   把允许最大打开的描述符修改为***,只对当前终端打开的应用程序有效。    2、修改/etc/security/limits.conf

2017-07-09 01:38:56 1573

转载 android注意设置httpclient连接数

在使用Httpclient的过程中,线上的酒店出现过一个问题,就是当访问量增大的时候,会发现本地的连接等待时间急剧增加,例如从400ms增加到 78000ms,之前一直以为是航信系统问题,后面经过检查才发现,原来是本地httpclient设置时,最大连接数采用了默认设置的原因,而默认的最 大连接数只有2个,所以当有大量连接需要建立时,大多数连接只有等待。后面将连接数设置修改成32个之后,这个响应时

2017-07-08 18:27:52 1000

转载 Android 单个应用的内存限制

一、出现OutOfMemeryError的原因?Androd针对每个应用有内存限制 二、获取Android手机应用内存大小 手机不同其性能也不同,手机本身内存可能有大有小,所以针对每个应用的内存大小也不相同。 方法一:root@android:/ # adb shell getprop | grep dalvik.vm.heapgrowthlimit[dalvik.vm

2017-07-08 18:08:30 2327

原创 iOS单个app最大内存占用限制

device: (crash amount/total amount/percentage of total)iPad1: 127MB/256MB/49%iPad2: 275MB/512MB/53%iPad3: 645MB/1024MB/62%iPad4: 585MB/1024MB/57% (iOS 8.1)iPad Mini 1st Generation: 297MB

2017-07-08 17:29:28 10740

原创 iphone32位和64位问题

iPhone 5没有64位的,只有32位架构,苹果是从iPhone 5s开始对全线移动产品使用64位架构。iPhone 5s发布之后的所有产品都是64位的。

2017-07-08 17:23:05 650

原创 App模块开发遵循6原则

我今天想提出来的是在我们平常开发中在做一个app设计时应该要考虑到的一些基本要素,便于我们一次性设计出健壮稳定易于扩展的app。我将这些原则归纳为FPSPEND原则(f--flow,p--power,s--security,p--performance,e--extension,n--network),flow就是流量,power是手机电源消耗,s--手机通信安全性,p--性能,e--可扩展性,n

2017-07-07 09:26:57 422

谢晓枫-组件化实践中的冷启动优化-终稿.pdf

android 组件化实践中的冷启动优化,用于指导android架构经典实践

2019-10-09

空空如也

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

TA关注的人

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