自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夏末_那场未盛开的梦的博客

逆水行舟,不进则退

  • 博客(32)
  • 收藏
  • 关注

原创 如何在androidstudio中使用cmake编译ndk

前言: 在AndroidStudio3.0之前,还是习惯使用ndk-build,Android.mk,Application.mk来编译ndk项目,可是AS3.0以后被强制必须使用Cmake编译了,不得已才来学学。 Cmake的优势:作为一个java语言开发者,每次要接触C/C++的时候内心都是拒绝的,今天用了Cmake。终于发现写C++语言也可以轻而易举。居然带自动补全功能,而且所有步骤包括

2018-01-17 19:50:12 224

原创 Ubuntu16.04上caffe环境的搭建

Ubuntu16.04上caffe环境的搭建前言:环境准备: 机械化安装: 1.准备ubuntu系统 2.系统安装完成后,打开命令行控制台,输入以下命令,安装基本依赖(General dependencies)。sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev lib

2018-01-17 09:12:58 329

原创 Service的生命周期

Service的生命周期Service与Activity一样,是Android的四大组件之一。Activity是看得见的,而Service则是看不见。看得见一般承担显示界面,控制的功能,而Service则承担后台任务。而Service与线程的区别在于,Service是Android的四大组件之一,所以系统不会轻易将其kill。服务可有其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运

2017-12-19 15:54:01 462

原创 Activity生命周期中onStart()和onResume()的区别

Activity生命周期中onStart()和onResume()的区别在讲onStart()和onResume()的区别之前,必须清楚Activity的四种状态: 1.Running状态:一个新的Activity的启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并,可与用户交互的激活装态; 2.Paused状态:当Activity被另一个透明或者Dialog样式的Activity覆盖

2017-12-19 10:52:06 48441 1

原创 常见数据结构优缺点比较

数据结构是对在计算机内存中的数据的一种安排,数据结构包括数组,链表,栈,二叉树,哈希表等等,数据结构和技术与如何处理现实世界数据存储问题项链,现实世界数据指的是那些描述处于计算机外部的物理实体的数据。今天不展开常见数据结构的原理,仅仅比较他们的优缺点。 数据结构 优点 缺点

2017-12-11 11:17:08 9057

原创 Android四大组件的工作过程(一)-Activity的工作过程

Activity的工作过程在android的开发中经常需要启动一个activity,大家都知道最简单的activity启动方式就是使用startActivity(),那么Activity的工作流程就从这儿开始咯,咳咳。 1.Activity.startActivity(Intent intent) @Override public void startActivity(Intent

2017-12-08 11:34:38 479

原创 Android自定义View-自定义属性

1.自定义属性的意义上班忙里偷闲写博客,话不多说,我们知道要使用属性的前提是对应的属性应该存在,所以如果要使用我们自己的属性必须先定义才能使用,那么我们应该怎么自定义属性呢?可以查看\sdk\platforms\android-xx\data\res\values目录下找到attrs.xml这个文件,这就是系统自带的所有属性,通过熟悉系统自带的属性规则去自定义属性。我们看一些比较熟悉的:<decla

2017-11-20 17:28:38 264

原创 Android开发中常见的颜色

在android中经常看到设置的颜色为八位的十六进制的颜色值附Android中146种颜色对应的xml色值:<?xml version="1.0" encoding="utf-8"?><resources> <color name="white">#FFFFFF</color> <!--白色 --> <color name="ivory">#FFFFF0</color> <!--象

2017-11-16 11:22:04 243

原创 破解手机解锁密码

今日遇到一个售后机器问题,反馈回来之后的机器用户加了图案解锁密码,想要拿log分析定位,必要破解密码复现问题,话不多说,直接上干货。 首先需要一个eng版本的boot.img,利用SP软件替换原生user版本的boot.img,这样售后机器就可以连接adb了。可以使用adb之后就可以做很多操作,比如删除文件。 通过源码分析得知,需要删除使用adb删除对应数据库中的内容,操作如下:1.adb sh

2017-11-14 17:19:11 4511 3

原创 适配器模式

适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁,这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责人独立的或不兼容的接口功能。介绍意图:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 主要解决:主要解决在软件系统中,常常要将一些”现存的对象”

2017-11-09 10:55:41 182

原创 原型模式

原型模式原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来

2017-10-26 17:14:00 168

原创 建造者模式

建造者模式建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。介绍意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 主要解决:主要解决在软件系统中,有时候面临着”一个复杂

2017-10-26 15:01:00 151

原创 单例模式

单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 注意: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。

2017-10-25 17:29:23 139

原创 抽象工厂模式

抽象工厂模式抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。介绍意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类

2017-10-25 16:17:12 180

原创 工厂模式

工厂模式工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。简介意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。 主要解决:主要解决接口选择的问

2017-10-25 14:44:22 162

原创 设计模式简介

设计模式简介设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我

2017-10-25 11:17:52 215

原创 Java基础知识总结

一:java概述**1.JDK:**Java Development Kit,java的开发和运行环境,java的开发工具和jre. **2.JRE:**Java Runtime Environment,java程序的运行环境,java运行所需的类库和JVM(java虚拟机)。 3.配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是将该工具所在目录告诉了系统,当使

2017-10-25 10:28:15 246

转载 Binder机制原理浅析

1.简述Android系统中,设计到多进程间的通信底层都是依赖于Binder IPC机制。比如说,当进程A中的Activity要向进程B中的Service通信,这就需要依赖于Binder IPC,不仅于此,整个Android系统架构中,大量采用了Binder机制作为IPC(进程间通信)方案。 当然也存在部分其他的IPC方式,比如说管道,SystemV,Socket等。那么Android为什么不使用

2017-10-12 11:30:15 318

转载 Java四种线程池的使用

java通过Exccutors提供四种线程池,分别为: (1)NewCachedThreadPool:创建一个可缓存线程池,如果线程池长度超过处理需要,则可灵活回收空闲线程池,若无可回收,则新建线程池。 (2)NewFixedThreadPool:创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 (3)NewScheduledThreadPool:创建一个定长线程池,支持定

2017-10-11 09:54:41 182

原创 Android ActivityManagerServices基本框架

相信大部分android开发者都对ActivityManagerServices(以后简称AMS)有所耳闻,AMS是Android上层系统中最核心的模块之一,主要负责系统中Activity,service,broadcast,contentprovider的启动,切换,调度及应用程序的管理和调度等工作。在进一步分析之前,先了解一下ActivityManagerServices的主要功能: (1)统

2017-10-11 09:44:02 837

原创 Android面试题及答案

近期打算换工作,所以收集了一点经典安卓面试题,并附上答案。1.如何对Android应用进行性能分析android性能主要是响应速度和UI刷新速度。 (1)函数耗时,可以使用TraceView工具,这是android自带的工具,可用于测量函数耗时的。 (2)UI布局分析。有两块,一块是Hierarchy Viewer可以看到View的布局层次,以及每个View刷新加载的时间,可以很块定位到哪一块l

2017-10-10 16:54:43 447

转载 解析XML的四种方法

xml是一种通用的数据交换格式,他的平台无关性,语言无关性,系统无关性,给数据集成与交换带来了极大的方便,xml在不同的语言环境中解析方式都是一样,只不过实现的语法不同而已。 xml的解析方式分为四种;1.DOM解析;2.SAX解析;3.JDOM解析;4.DOM4J解析。其中前两种属于基础方法,是官方提供的平台无关的解析方法;后两种属于扩展方法,他们是在基础的方法上扩展出来的,只使用于java平台

2017-10-09 11:20:46 292

原创 [java]String、StringBuilder、StringBuffer三者的区别

一、String 类 1.String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。private final char value[];2.String的操作都是改变赋值地址而不是改变值操作。 String a = "a"; //假设a指向地址0x0001 a = "b";//重新赋值后a指向地址0x0002,但0x0001地址中

2017-10-09 10:31:51 170

原创 【java】Object的公用方法

1.clone方法保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。主要是JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方法里讲参数改变,这是就需要在类中复写clone方法。2.getClass方法final方法,获得运行时类型。3.toString方法该方法用

2017-10-09 10:08:53 195

原创 利用软引用和弱引用避免OOM

做过开发的朋友想必对OOM(OutOfmemory)这个错误并不陌生,那么当遇到这种错误的时候应该如何有效的解决呢。今天介绍一下如何利用软引用和弱引用来有效的解决程序中出现的OOM问题。1.了解强引用、软引用、弱引用、虚引用的概念在Java中,虽然不需要程序员手动去管理对象的生命周期,但是如果希望某些对象具备一定的生命周期的话(比如内存不足时JVM就会自动回收某些对象从而避免OutOfMemory的

2017-10-09 09:50:49 332

原创 MapReduce2.0原理及基本架构

MapReduce2.0原理及基本架构MapReduce是Hadoop核心框架之一,我们知道Hadoop是又分布式文件系统HDFS和分布式计算框架组成。MapReduce就是一种离线数据计算框架。那么作为计算机框架的套路,会有输入经过处理后输出结构,MapReduce就是将任务分为两个阶段:Map阶段和Reduce阶段。每个阶段都是用键值对(key/value)作为输入(input)和输出(outp

2017-09-25 19:06:31 2103

原创 Yarn的应用场景与原理

Yarn的应用场景与原理Yarn产生的背景hadoop1.0不能满足多系统集成的背景孕育了yarn的产生。由于多分布式系统可以很好的集成,因此yarn的出现使得整个集群的运维成本大大降低。同时,yarn可以很好的利用集群资源,避免资源的浪费,除此之外,yarn的出现实现了集群的数据共享问题,不同的分布式计算框架可以实现数据的共享。总结来说为以下两点:直接源于MR在几个方面的缺陷 -扩展性受限

2017-09-25 15:46:01 1653

原创 Hadoop生态系统架构

Hadoop生态系统架构学习的第二天,在能够运行hadoop wordcount示例后,开始深入了解hadoop的生态系统架构。hadoop发展历史大概了解一下hadoop的发展历史: Hadoop由 Apache Software Foundation 于 2005 年秋天作为Lucene的子项目Nutch的一部分正式引入。它受到最先由 Google Lab 开发的 Map/Reduc

2017-09-22 15:35:54 625

原创 使用Hadoop运行WorldCount示例

使用Hadoop运行WorldCount示例上一节中我们搭建好了Hadoop的运行环境,虽然还没开始学习Hadoop各个组件的框架原理,但是我先来通过hadoop运行自带的worldcount示例来熟悉一下它的操作流程。 1.首先找到hadoop自带worldcount jar包示例的路径: 2.准备工作,需要创建输入输出路径以及上传的文件: (1)创建目录 hadoop fs -mkdi

2017-09-21 19:52:46 7716 1

原创 Hadoop的环境搭建

Hadoop伪分布式环境搭建Hadoop是一个能够对大量数据进行分布式处理的软件框架,当下企业越来越流行,程序员必会的,掌握的一门技术。。。 环境准备: - JDK:jdk1.8 - hadoop:hadoop 2.8.0 - Ubuntu:Ubuntu 16.04JDK的安装与配置1.查看当前系统的jdk版本java -version 如果你的系统上已经安装jdk就不需要再进行安装了,如

2017-09-21 16:37:28 354

原创 Windows下Maven的安装与配置

Maven的安装(1)下载安装包:首先在官网[url]http://maven.apache.org/download.html[/url]上下载安装包,我下载的是最新的maven3.5.0版本 (2)设置环境变量:将安装解压到D:\Program Files\apache-maven-3.5.0; 设置环境变量(Windows 7),我的电脑–>属性–>高级系统设置–>环境变量,点击“系统变量

2017-09-21 15:09:27 3956

转载 Maven使用基础教程

Maven使用基础教程Apache Maven是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。 本教程将介绍如何使用Maven在Java开发,或任何其他的编程语言的任何项目。Maven是什么Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven

2017-09-21 14:58:20 261 1

空空如也

空空如也

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

TA关注的人

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