自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

along

求知求索

  • 博客(301)
  • 资源 (3)
  • 收藏
  • 关注

转载 Activitys, Threads和 内存泄露

【转自:http://www.cnblogs.com/kissazi2/p/4125356.html】Android编程中一个共同的困难就是协调Activity的生命周期和长时间运行的任务(task),并且要避免可能的内存泄露。思考下面Activity的代码,在它启动的时候开启一个线程并循环执行任务。 1 /** 2 * 一个展示线程如何在配置变化中存活下来的例

2016-05-19 16:15:37 441

转载 解决在onCreate()过程中获取View的width和Height为0的4种方法

【转自: http://www.cnblogs.com/kissazi2/p/4133927.html】很经常当我们动态创建某些View时,需要通过获取他们的width和height来确定别的view的布局,但是在onCreate()获取view的width和height会得到0.view.getWidth()和view.getHeight()为0的根本原因是控件还没有完成绘制,你必须等待

2016-05-19 15:58:13 403

转载 给 Android 开发者的 RxJava 详解

原文出处:http://gank.io/post/560e15be2dca930e00da1083 前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是

2016-05-16 21:30:17 835

转载 ButterKnife源码分析

[转自:http://www.jianshu.com/p/0f3f4f7ca505#]ButterKnife源码分析前言在N久之前,自从实验室里面的学长推荐我用butterknife后, 从此的项目再也离不开butterknife了,然而自以为对它很熟时,前不久今日头条实习生招聘二面却被面试官洗刷了一顿。然后整个二面完全是被虐的感觉,估计最后会挂,哎!当时被问到bu

2016-05-16 21:16:26 432

转载 Retrofit分析-漂亮的解耦套路

Retrofit分析-漂亮的解耦套路字数1993 阅读14870 评论39 喜欢175没耐心自己分析源码的同学,还可以参考Stay录制的视频版Retrofit分析-漂亮的解耦套路(视频版)万万没想到Retrofit会这么火,在没看源码之前,我简单的认为是因为它跟OkHttp同出一源(Square),所以才会炒的那么热。又或者是因为它能支持RxJava,所以火

2016-05-16 20:25:56 730

转载 15 个 Android 通用流行框架大全

[转自: https://segmentfault.com/a/1190000005073746]1. 缓存名称描述DiskLruCacheJava实现基于LRU的磁盘缓存2.图片加载名称描述Android Universal Image Lo

2016-05-14 17:19:42 741

翻译 Android开发最佳实践---Futurice之见

使用Gradle和推荐的工程结构把密码和敏感数据存放在gradle.properties文件中使用Jackson或者Gson库来解析JSON数据不要自己实现HTTP客户端,要使用Volley或者OkHttp库避免使用Guava, 使用少量的函数库从而避免超出65k方法数限制.使用Fragments来表示UI界面Activities只用来管理Fragments布局XML文件是代码,要组织好它们

2016-05-14 16:46:21 7009 1

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

Linux堆内存管理深入分析(上半部)作者:走位@阿里聚安全0 前言近年来,漏洞挖掘越来越火,各种漏洞挖掘、利用的分析文章层出不穷。从大方向来看,主要有基于栈溢出的漏洞利用和基于堆溢出的漏洞利用两种。国内关于栈溢出的资料相对较多,这里就不累述了,但是关于堆溢出的漏洞利用资料就很少了。鄙人以为主要是堆溢出漏洞的门槛较高,需要先吃透相应操作系

2016-05-13 20:14:20 1122

转载 JAVA程序员一定知道的优秀第三方库(2016版)

JAVA程序员一定知道的优秀第三方库(2016版)几乎每个程序员都知道要“避免重复发明轮子”的道理——尽可能使用那些优秀的第三方框架或库,但当真正进入开发时,我却经常发现他们有时并不知道那些轮子在哪里。最近,我在业余时间带几个年轻的程序员一起做了一个很小的商业项目,而在一起开发的过程中,我几乎在所有需要判断字符串是否为空的地方,看到了下面的代码:if(inputString ==

2016-05-13 19:23:33 1016

原创 互联网后台的奥秘 - 腾讯一大牛的分享

这是前两天腾讯一技术总监来华科做的一个演讲, 今天才整理出来. 因为里面有些内容好逗, 为了免除给大牛带来烦恼, 就不署名了. 都是纯纯的干货, 都是亲身经历获得的经验, 十分感谢这位大牛. 为了穿插成文, 里面有些我自己的想法, 如有错误, 谢谢指出, 和大牛无关.大纲提升系统性能主要从提高CPU利用率, 和减小IO入手. 提高CPU利用率 减小IO 异步/协程 机械硬盘顺序写

2016-05-13 15:50:21 2702

转载 通俗易懂之epoll--转自”知乎“

作者:蓝形参链接:http://www.zhihu.com/question/20122137/answer/14049112来源:知乎首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,我们都可以把他们看作流。之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write

2016-05-13 14:41:32 763

原创 JSP的9大内置对象和4大域对象

什么是内置对象?在JSP开发中,会频繁使用到一些对象。例如HttpSession, ServletContext, ServletContext, HttpServletRequet。如果我们每次要使用这些对象都去创建这些对象就显示非常麻烦。所以Sun公司设计JSP时,在JSP页面加载完毕之后就会自动帮开发者创建好这些对象,而开发者只需要直接使用这些对象调用方法即可,这些创建好的对象就叫内置对象!

2016-05-13 12:09:56 967

原创 图解JSP运行原理和过程

JSP运行过程WEB容器JSP页面的访问请求时,它将把该访问请求交给JSP引擎去处理。Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。每个JSP页面在第一次被访问时,JSP引擎先将它翻译成一个Servlet源程序,接着再把这个Servlet源程序编译成Servlet的class类文件,然后再由WEB容器像调用普通Servlet程序一样的方式来装载和解释执行这个由

2016-05-13 10:36:05 16714 2

原创 转发和重定向的区别

转发a)地址栏不会改变b)转发只能转发到当前web应用内的资源c)可以在转发过程中,可以把数据保存到request域对象中重定向a)地址栏会改变,变成重定向到地址。b)重定向可以跳转到当前web应用,或其他web应用,甚至是外部域名网站。c)不能再重定向的过程,把数据保存到request中。注意: 如果要使用request域对象进行数据共享,只能用转发技术!!!转发实例@WebServl

2016-05-12 15:33:13 884

原创 Sevlet的生命周期

引入Servlet的生命周期是指: servlet类对象什么时候创建,什么时候调用什么方法,什么时候销毁。这里要注意Servlet程序的生命周期由tomcat服务器控制的, 它的创建, 调用和销毁由tomcat服务器控制!!!!Servlet重要的四个生命周期方法构造方法创建servlet对象的时候调用。默认情况下,第一次访问servlet的时候创建servlet对象

2016-05-12 15:10:22 440

转载 servlet缺省路径

servlet的缺省路径<url-pattern>/</url-pattern>是在tomcat服务器内置的一个路径。该路径对应的是一个DefaultServlet(缺省Servlet)。这个缺省的Servlet的作用是用于解析web应用的静态资源文件。问题: URL输入http://localhost:8080/thirdSample/index.html 如何读取文件???? 1)到当

2016-05-12 14:58:34 861

转载 Tomcat 容器与servlet的交互原理

Tomcat 是Web应用服务器,是一个Servlet/JSP容器. Tomcat 作为Servlet容器,负责处理客户请求,把请求传送给Servlet,并将Servlet的响应传送回给客户.而Servlet是一种运行在支持Java语言的服务器上的组件. Servlet最常见的用途是扩展Java Web服务器功能,提供非常安全的,可移植的,易于使用的CGI替代品.下面我们描述一下Tomcat与

2016-05-12 14:55:21 1615

原创 Http响应和HttpServletResponse对应设置方法

以一个http响应为例:HTTP/1.1 404 OK 响应行Server: Apache-Coyote/1.1 响应头Content-Length: 0Date: Thu, 12 May 2016 06:20:53 GMTthis is servlet 实体内容响应行HTTP/1.1 404 OK http协议版本 状态码 状态描述其中状态码格外重要, 表

2016-05-12 14:39:12 9755

原创 HttpServlet中的service和doGet的区别

我们首先看下service的代码, 注释直接和代码写在一块, 方便理解.protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String method = req.getMethod(); //判断用户的提交方式

2016-05-12 14:03:14 1861

原创 Http请求和HttpServletRequest中获得对应参数的方法

当用户访问网页, 会使用http发送请求, 在服务端需要解析用户的请求. 那么http请求和HttpServletRequest的方法是如何对应的呢?

2016-05-12 13:55:22 47728 3

转载 图解Tomcat类加载机制

最近看了Tomcat后, 对Tomcat类加载还不是很清楚, 在网上找了这篇文章, 很赞. 原文排版更精美, 推荐阅读原文.前言   说到本篇的tomcat类加载机制,不得不说翻译学习tomcat的初衷。   之前实习的时候学习javaMelody的源码,但是它是一个Maven的项目,与我们自己的web项目整合后无法直接断点调试。后来同事指导,说是直接把java类复制到src下就可以

2016-05-12 13:29:53 593

原创 Java Web之Tomcat目录结构和Web应用

Tomcat目录结构解析|-bin: 存放tomcat的命令, 如启动停止脚本等。 catalina.bat 命令:startup.bat -> catalina.bat start shutdown.bat - > catalina.bat stop|- conf: 存放tomcat的配置信息。其中server.xml文件是核心的配置文件。|-lib:支持to

2016-05-12 12:28:42 808

转载 一致性哈希算法

一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果是持久化存储则要做数据迁移,如果是分布式缓存,则其他缓存就失效了。 因此,引入了一致性哈希算法:

2016-05-11 19:16:23 372

原创 Permission Denial: not allowed to send broadcast in android

因为最近项目里Intent用到了广播”android.intent.action.MEDIA_MOUNTED”, 结果被提示权限不足, 查了下原因, 是因为从4.4开始, 官方开始限制这个广播的使用, 加上了 protected权限, 只能系统内部使用. 如下: <protected-broadcast android:name="android.intent.action.MEDIA_MOUN

2016-05-10 11:48:54 9652 1

原创 如何防止表单重复提交

问题在看Java Web 深入分析时, 看到表单重复提交问题一节, 如下描述如何解决问题: 要防止表单重复提交, 就要标识用户的每一次访问请求, 使得每一次访问对服务端来说都是唯一的. 为了标识用户的每次访问请求, 可以在用户请求一个表单域时,增加一个隐藏的表单项, 这个表单项的值每一次都是唯一的token. 如: <form id = "form" method="post"> <

2016-05-09 10:56:31 1896

转载 Gradle依赖的统一管理

我想大部分人应该都在使用Gradle来依赖管理,还没有使用的去面壁思过,Gradle使用起来简直太好用了,举个例子,我们想依赖个support-v4包,直接一句话: compile ‘com.android.support:support-v4:23.1.1’不要太方便好么?但是不知道你们发现一些问题没有?比如以后v4版本号如果升级了怎么办?你可能会说直接手动改下版本号就好了,又不费多少精力。

2016-05-08 13:18:44 617

转载 如何正确的使用开源项目?

前天发了一篇文章「如何选择开源项目?」广受大家喜爱,其实我们在使用开源项目的过程中有不少注意的事项,今天就来给大家补充下「如何正确的使用开源项目?」如果你是个人练手项目,那随你心情,想怎么用怎么用,没啥需要强调的注意事项,本篇文章仅是以在商业项目采用开源库做介绍。1. 使用成熟稳定的开源项目现在技术日新月异,可能隔几天就会出来一个新的开源框架,但是公司的商业项目永远以稳为主,也许你迫不及待的想尝鲜体

2016-05-08 12:44:23 642

转载 如何选择开源项目?

现在我接触到了开源社区,发现不少开源项目,但是却不知道如何选择应用到自己的项目上?这个问题比较好,相信不少人都有这样的疑问,且听我细细给大家说来。

2016-05-08 12:18:24 602

原创 因为Android M权限问题导致的"Permission Denial: reading com.android.providers.media.MediaProvider"解决办法

在API级别>=23时, 权限访问被分为三个级别, 分别为"PROTECTION_NORMAL, PROTECTION_DANGEROUS, 和PROTECTION_SIGNATURE(还有两个标志可以和SIGNATURE联合使用才有意义)". PROTECTION_NORMAL是普通权限, 通过manifest文件在安装时被授予. PROTECTION_SIGNATURE是签名权限, 通过"检查manifest和a

2016-05-08 11:30:26 30210 2

转载 常用android权限收录

1.android.permission.WRITE_USER_DICTIONARY 允许应用程序向用户词典中写入新词 2.android.permission.WRITE_SYNC_SETTINGS 写入Google在线同步设置 3.android.permission.WRITE_SOCIAL_STREAM 读取用户的社交信息流 4.android.permission.WRITE_

2016-05-06 14:23:08 430

转载 Android AdapterView View的复用机制分析

对于ListView、GridView相信大家都不陌生,重写个BaseView,实现对于的几个方法,然后就完成了我们的界面展示,并且在大部分情况下,我们加载特别多的Item也不会发生OOM,大家也都明白内部有缓存机制,都遇到过ItemView复用带来的一些问题,比如异步加载图片,最终造成界面显示的混乱,我们一般会使用setTag,然后回调显示时,避免造成混乱。

2016-05-06 13:12:06 477

转载 MediaStore与Media.EXTERNAL_CONTENT_URI

MediaStore这个类是Android系统提供的一个多媒体数据库,android中多媒体信息都可以从这里提取。这个MediaStore包括了多媒体数据库的所有信息,包括音频,视频和图像。android把所有的多媒体数据库接口进行了封装,所有的数据库不用自己进行创建,直接利用ContentResolver去调用那些封装好的接口就可以进行数据库的操作了。

2016-05-04 21:53:03 16852

原创 xargs的使用

前段时间查自己的代码行数时, 用了”find . -name “*.cs” | xargs wc -l“, 但是对xargs在这里的作用有点不了解, 因为网上资料主要都在说 xargs的如下作用: 1. 给其他命令传递参数的一个过滤器 2. xargs可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。 3. 防止溢出, 一次从标准输入只读取一部分值, 但是我这里不存在溢出的问

2016-04-11 10:10:30 1407

转载 使用graphviz绘制流程图

写博客或者论文, 经常要画图来展示思路, 但是Visio有些时候太重, 我只希望根据我的输入,自动帮我把布局搞定, 不需要我拖拽. 而且最好存为文本格式, 不占地方, 修改方便. 最近发现一个比较有意思的软件, 正好满足我的需求, 就是这篇转载文章的主角:graphviz. 前言日常的开发工作中,为代码添加注释是代码可维护性的一个重要方面,但是仅仅提供注释是不够的,特别是当

2016-04-08 10:56:20 1393

原创 Android 生命周期中每个函数适合处理的事件

Google官网给的Activity声明周期图: 从这种图中,我们可以知道Activity生命周期是: onCreate -> onStart -> onResume -> onPause -> onStop ->onDestroy. 更详细一点就是 onCreate是ActivityA创建时调用, onStart是用户能看见ActivityA时调用(但是不可以交互), onResume是用户

2016-04-07 16:21:30 1619 3

原创 16年阿里电话面试总结

上周阿里打电话点面,总共40多分钟,感觉好多点虽然回答了,但是不是回答的太清楚,这里在重新复习下. 由于时间较久,只记得大部分问题,而且顺序可能颠倒, 1. 项目简介 刚开始是让介绍下简历上的项目. 我在简历上写了两个项目, 面试官让我挑一个自己收获最大的来介绍, 介绍中有的我只是说了某个点, 很nice的面试官还会帮我补全. 2. 常用集合 set 先是问我常用的java集合, 我从

2016-03-29 10:25:43 245

原创 一行Shell代码查找所有代码行数

最近写简历, 想算下自己的这个项目一共有多少行代码, 好方便在简历上展示. 本来想着一直用git管理代码, 顺便统计下好了. 结果竟然没有在git中找到单独统计行数的工具, 太出乎我意料了. 最近用Cmder挺方便, 就想用shell统计下代码行数, 应该就是一两个命令的事.用Java, Python肯定可以实现, 但是感觉太重, 我只是想随便查查我的代码一共有多少行, 3秒钟就可以搞定的那种, 不

2016-03-07 14:47:19 2627

原创 <Android编程权威指南>之1.6 Activity.this和this的区别

public class QuizActivity{ ... mFalseButton.setOnClickListaner(new View.OnClickListener(){ @Override public void onClick(View v){ Toast.makText(QuizActivity.this,

2016-03-06 15:12:48 1040

原创 程序集版本号,文件版本号及发布版本号管理

程序集版本号:在.net框架中和CLR运行时钟引用,如使用程序集的强命名时就会使用. 按照我的理解,你所使用的库如log4net,常见的有2.0和4.0的,那么你下载的库是否是你工程中用的库,就要看这个程序集版本号. 比如我自己写了一个库,叫Tool,程序集版本号是1.0.0.0,然后Work工程引用了这个dll.现在Tool更新了,程序集版本号变成了2.0.0.0,那么Work在不修改的情况下

2016-02-22 10:27:32 8627

原创 Windows下Git和GitExtension配置

先提下写这篇博客遇到的坑,截图千万不要存为bmp格式,要存为png或其他.大小相差特别大,bmp格式1.3mb,png才80kb.加载速度快了不是一点点.详细配置参见这篇文章. 我只简要说下需要哪些工具,以及一个才搞清楚的问题:为什么有时候GitExtension打死都不出来加载私匙的对话框,就像下图,PuTTY SSH 加载SSH密匙,这里经常就莫名其妙的消失了,虽然我承认我手贱不知道改了哪里:

2016-01-07 22:30:24 10741

netlib-native_system-win-x86_64全套

libblas3.dll libgcc_s_seh-1.dll libgfortran-3.dll liblapack3.dll libopenblas.a libopenblas.dll libopenblas.dll.a libquadmath-0.dll netlib-native_system-win-x86_64.dll

2015-12-14

windows下快速安装python中的setuptools脚本

如安装chardet需要先安装setuptools,但是网上方法好多莫名其妙 网上查了好多方法最后才在官网找到这个脚本,非常方便

2013-10-02

OPENGL所需库及环境变量配置

OPENGL所需库及环境变量配置 +---GLee5_4 | extensionList.txt | GLee.c | GLee.h | GLee.lib | readme.txt | +---glew-1.5.1-win32 | | LICENSE.txt | | | +---bin | | glew32.dll | | glewinfo.exe | | glewinfo.txt | | visualinfo.exe | | | +---doc | | advanced.html | | basic.html | | credits.html | | glew.css | | glew.html | | glew.png | | glew.txt | | glxew.html | | gpl.txt | | index.html | | install.html | | khronos.txt | | log.html | | mesa.txt | | new.png | | ogl_sm.jpg | | wglew.html | | | +---include | | \---GL | | glew.h | | wglew.h | | | \---lib | glew32.lib | glew32s.lib | +---glut-3.7.6-bin-32and64 | glut.def | glut.h | glut32.dll | glut32.lib | glut64.dll | glut64.lib | README-win32.txt | +---glutdlls37beta | GL.h | GLU.h | glut.dll | glut.h | glut.lib | glut32.dll | glut32.lib | \---OpenGL开发库 GL.H GLAUX.H GLAUX.LIB GLEXT.H GLU.DLL GLU.H glu.lib GLU32.LIB GLUT.DLL GLUT.H glut.lib GLUT32.DLL GLUT32.LIB OPENGL.DLL opengl.lib OPENGL32.LIB OpenGL开发库.rar OpenGL环境设置.txt WGLEXT.H

2013-04-13

空空如也

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

TA关注的人

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