自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 leetcode 93. Restore IP Addresses

题目 Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example: Given “25525511135”, r...

2017-12-20 10:47:05 163 0

原创 LeetCode3. Longest Substring Without Repeating Characters

题目Given a string, find the length of the longest substring without repeating characters.Examples:Given “abcabcbb”, the answer is “abc”, which the len...

2017-11-28 17:40:24 364 0

原创 Hadoop Yarn初探

前言经过多年的发展形成了Hadoop1.X生态系统,其结构如下图所示: 其mapReduce的结构如下: 从上图中可以清楚的看出原 MapReduce 程序的流程及设计思路: 1. 用户程序 (JobClient) 提交了一个 job,job 的信息会发送到 Job Tracker 中,...

2017-10-06 15:21:50 708 1

原创 mahout学习之聚类(1)——向量的引入与距离测度

聚类的基本概念聚类就是将一个给定的文档集中的相似项目分成不同簇的过程,可以将簇看作一组簇内相似而簇间有别的项目的集合。 对文档集的聚类涉及以下三件事: 1. 一个算法:将文档集阻止到一起的算法 2. 相似性与不相似的概念 3. 停止的条件聚类数据的表示mahout将输入数据以向量的形式保存...

2017-10-03 15:04:00 383 0

原创 mahout学习之推荐算法

推荐的定义推荐算法可以分为三大类,基于用户的,基于物品的和基于内容的,前两者均属于协同过滤的范畴,仅仅通过用户与物品之间的关系进行推荐,无需了解物品自身的属性。而几乎内容的推荐技术很有用,但是必须与特定领域相结合,比如推荐一本书就必须了解书的属性,作者,颜色,内容等等。但是这些知识无法转移到其他领...

2017-10-02 23:14:55 1855 0

原创 room的使用-以demo为例

前言本文是以demo为例介绍,所以部分内容和解释会在demo里以注释的形式给出。 下载链接数据库的构建环境配置在app模块的build.gradle添加以下内容: compile 'android.arch.lifecycle:extensions:1.0.0-alpha5&#...

2017-08-08 10:28:46 814 0

原创 微信热修复tinker初探

前言Tinker简介Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。Tinker已知问题1) Tinker不支持修改AndroidManifest.xml,Tink...

2017-07-11 17:08:57 317 0

原创 Android 点击屏幕其他位置隐藏Floating Action Button

功能要求当用户点击fab的时候,屏幕上的其他区域应该是不可点击的,如果用户点击其他区域,那么就应该收缩fab回到初始状态。 观察一下其他应用: 发现实质点击按钮之后启动了新的fragment,并将背景设置为半透明。具体实现首先,随便找一个fab的开源库:compile 'net....

2017-06-28 18:02:27 592 0

原创 android7.0下retrofit框架不断GC的问题

问题描述android7.0 环境下启动应用就卡死,日志显示不断的在执行gc操作。 打印栈帧如下: 解决方法由上图可以看到GSON不断的在进行内存分配操作,因为gson是用于json数据转换为类实体的,所以很有可能是转换流程出了问题。找了好久才发现另一个小伙伴往类实体里加了这个成员。。。pri...

2017-06-07 20:09:28 643 0

原创 NDK学习笔记(2)——C与java之间的互相调用

Java调用C在上一篇博文中,我们完成了一个NDK项目的基本配置以及各个文件的功能,现在来写一下其他功能,demo下载在文章末尾。字符串的传递老样子,在MainActivity写一个native方法:public native String stringTransfer(String s);然后鼠...

2017-06-01 15:50:22 452 0

原创 NDK学习笔记(1)——第一个jni程序

环境配置以Android studio 2.2为例,点击tools->Android->SDKManager。 勾选并下载 CMake、LLDB、NDK: CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makef...

2017-05-30 20:24:02 287 0

原创 JNI所需的C语言知识小结

介绍作为Android开发人员,会java是必须的,但是一般从事android业务逻辑开发的对C/C++的了解估计仅限于大学里不走心的课程。。。所以参考视频和资料小结一下JNI所需的c语言知识~基本数据类型 数据类型 boolean byte char short int ...

2017-05-26 14:31:52 178 0

原创 JNI简介

什么是JNIJNI(java native interface)java本地开发接口,本质上是一种协议,相当于桥梁的作用,通过jni就可以调用C/C++代码,当然也可以用C调用java的代码。 为什么要调用JNI 通过jni技术,可以扩展android手机的功能,比如wifi热点比如NFC技术。...

2017-05-22 17:07:04 196 0

原创 StringBuilder,String与StringBuffer 的异同

引言根据我在网上查到的资料显示,这三者的区别主要是: String:字符串常量 StringBuffer:字符创变量(多线程) StringBuilder:字符创变量(单线程) 对String的操作表面上看是对同一个变量的操作,但实际上是新建了一个常量,然后修改对象的引用。基于这样的机制,...

2017-05-15 20:39:11 184 0

原创 leetcode110 Balanced Binary Tree

题目Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the de...

2017-05-06 15:35:15 201 0

原创 leetcode257 Binary Tree Paths

题目Given a binary tree, return all root-to-leaf paths.For example, given the following binary tree: 1 / \ 2 3 \ 5All root-to-leaf paths ar...

2017-05-05 21:01:24 144 0

原创 leetcode118 Pascal's Triangle

题目Given numRows, generate the first numRows of Pascal’s triangle.For example, given numRows = 5, Return[ [1], [1,1], [1,2,1], [1,3,3,1...

2017-05-05 15:27:51 155 0

原创 java多线程——线程的状态

线程的状态转换如下图所示: 可以参考我的另一篇博客线程状态转换的内容。线程的创建实现Runnable接口这个接口非常简单:@FunctionalInterface public interface Runnable { /** * When an object implem...

2017-04-09 15:53:26 475 0

原创 leetcode413 Arithmetic Slices

题目A sequence of number is called arithmetic if it consists of at least three elements and if the difference between any two consecutive elements is t...

2017-04-08 15:15:41 420 0

原创 leetcode538 Convert BST to Greater Tree

题目Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is changed to the original key plus sum of a...

2017-04-05 20:31:24 614 0

原创 JVM学习笔记——线程安全与锁优化

线程安全定义:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。java语言中的线程安全讨论线程安全有一个前提,即多个线程之间存在共享数据访问。按...

2017-03-20 19:37:25 473 0

原创 JVM学习笔记——java内存模型与线程(2)

Java与线程并发不一定要依赖多线程(如PHP中很常见的多进程并发),但是在Java里面谈论并发,大多数都与线程脱不开关系。线程的实现线程是比进程更轻量级的调度执行单位,线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源(内存地址、 文件I/O等),又可以独立调度(线程...

2017-03-17 21:14:54 485 0

原创 JVM学习笔记——java内存模型与线程(1)

概述多任务处理出现的重要原因是计算机的运算速度与存储及通信子系统的速度差距太大,大量的时间花费在磁盘I/O,数据库访问或者数据库访问上。除了充分利用计算机处理器的能力外,一个服务端同时对多个客户端提供服务则是另一个更具体的并发应用场景,对于计算量相同的,程序并发协调的越有条不紊,效率自然就高,反之...

2017-03-17 20:44:13 538 0

原创 JVM学习笔记——垃圾收集器与内存分配策略(2)

垃圾收集器java虚拟机规范中并没有对垃圾收集器如何实现有任何规定,因此,不同的厂商,不同版本的虚拟机所提供的垃圾收集器可能会有很大差别,这里只讨论基于JDK1.7之后的HotSpot虚拟机。这个虚拟机包括的收集器如下图所示: 上图展示了7种不同的垃圾收集器,如果两个垃圾收集器中存在连线,就...

2017-03-14 18:29:09 198 0

原创 JVM学习笔记——垃圾收集器与内存分配策略(1)

概述上一篇文章介绍了java运行时内存的各个区域,其中虚拟机栈,程序计数器,本地方法栈三个区域随线程而生,随线程而灭。栈中的栈帧随着方法的进入和退出有条不紊的执行着出栈与入栈的操作,每一个栈帧分配多少内存基本是类结构确定下来就已知的。因此,这几个区域的内存回收都具有确定性,在这几个区域不必过多的考...

2017-03-11 14:21:28 316 0

原创 JVM学习笔记——Java内存区域与内存溢出异常

运行时数据区域其中,其中Method Area 和 Heap 是线程共享的 ,VM Stack,Native Method Stack 和Program Counter Register 是非线程共享的。JVM初始运行的时候都会分配好 Method Area(方法区) 和Heap(堆) ,而...

2017-03-08 16:06:57 541 0

原创 LeetCode202 Happy Number

题目Write an algorithm to determine if a number is “happy”.A happy number is a number defined by the following process: Starting with any positive inte...

2017-02-20 21:50:48 149 0

原创 LeetCode13 Roman to Integer

题目Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.解题思路罗马数字的规则参考这个。 总结起来就是如果前一位数字大于后一位,就加上其...

2017-02-19 14:55:37 164 0

原创 LeetCode409 Longest Palindrome

题目Given a string which consists of lowercase or uppercase letters, find the length of the longest palindromes that can be built with those letters.Th...

2017-02-16 21:27:26 181 0

原创 LeetCode169 Majority Element

题目Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.You may assume that t...

2017-02-16 19:51:09 154 0

原创 LeetCode242 Valid Anagram

题目Given two strings s and t, write a function to determine if t is an anagram of s.For example, s = “anagram”, t = “nagaram”, return true. s = “rat...

2017-02-16 12:58:49 174 0

原创 LeetCode171 Excel Sheet Column Number

题目Given a column title as appear in an Excel sheet, return its corresponding column number.For example:A -> 1 B -> 2 C -> 3 ... Z -> 26 A...

2017-02-15 21:40:05 200 0

原创 LeetCode387 First Unique Character in a String

题目Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1.Examples:s = “leetcode” return ...

2017-02-15 17:19:35 191 0

原创 LeetCode349 Intersection of Two Arrays

原题Given two arrays, write a function to compute their intersection. Example: Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2]. Note: Each e...

2017-02-14 21:27:36 223 0

原创 Android使用token维持登陆状态

什么是tokentoken(令牌)是一串唯一的字符串,通常由服务端生成,在注册完成时返回给客户端,用来标识此用户,客户端将此字符串存储在本地。在以后的网络请求时,客户端先查询本地的token,如果有则直接使用此令牌进行网络请求,没有则提示未登录,转到登陆注册界面。 此外,还可以在服务端或者客户端...

2017-01-19 15:45:39 14674 1

原创 命题逻辑几道题

题目一一个疯狂的科学家有1000瓶酒,其中一瓶是有毒的。他也有数量有限的试纸,毒酒将永久改变试纸的颜色,但是只在十天后显示出来。这位科学家想在第十一天举行一个聚会,为此需要筛选出有毒的酒。他怎样使用最低数量的试纸找出那瓶毒酒?解题思路看到这个题目的第一眼我在想2^10=1024>1000,那...

2017-01-18 22:35:10 684 0

原创 在viewPager里使用高德地图

在进行一个安卓项目的时候,本想实现一个滑动侧边栏的效果加上一个顶部菜单栏,在网上找到两个源码,结果整合的时候发现无论怎么调整侧边栏始终显示在顶部菜单栏下面,我的本意是想要覆盖掉顶部菜单栏。无奈,百度解决方案。 在stackoverflow看到有位仁兄遇到了和我一样的问题,而上面的人是这么解释的。...

2017-01-17 21:51:42 2360 0

原创 Android拍照或者选取本地图片

总体流程 从selectPhotoActivity中启动图册或者相机,再根据获取的uri进行裁剪,返回uri,再对这个uri执行一系列操纵。从相册选取图片private void pickPhoto() { Intent intent = new Intent(Intent.AC...

2017-01-17 17:41:19 2644 1

翻译 分配问题与匈牙利算法

分配问题与匈牙利算法例1假如你是个玩具工厂的销售经理,你现在有三个销售人员要去不同城市见买家。你的销售人员分别在在奥斯丁,得克萨斯州;波士顿、马里兰州;和芝加哥,伊利诺伊州。你想让他们飞往其他三个城市:丹佛,埃德蒙顿,法戈。下面的表格显示了这些城市之间飞机票的费用.。 From \ To ...

2017-01-17 16:13:28 15650 2

原创 隐藏某一控件结果多个控件隐藏的原因

从事安卓开发,往往需要切换页面时yin

2014-11-05 21:32:11 513 0

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