自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Shawn

Keep Walking!

  • 博客(107)
  • 资源 (4)
  • 收藏
  • 关注

转载 基础应用框架之Image Pool

本章介绍基础应用框架层的Image Pool模块。Image Pool模块提供了服务端图片下载的统一解决方案。通过控制图片内存使用量;减少图片重复下载;与Android View的无缝结合等,提供图片下载的最佳实践。 1.1                     特性 Feature1.1.1                      图片内存管理在And

2014-12-04 16:46:25 2309 1

转载 一些非常实用的 Android 开发资源 【转】

1.  Android Annotations Android Annotations是一个能够加速Android开发的开源框架,它可以帮助开发者处理一些前后台任务、rest服务、应用类、代码片段等,让开发者专注于真正重要的东西。 2.  ActionBarSherlok ActionBarSherlock是一个扩展的Android支持库,旨在允许开发者通过一个单一的A

2014-12-04 16:36:11 715

转载 SPDY协议的Android实现 OKHTTP代码分析

1 概况 Introduction在Android上我们用开源项目OkHttp作为客户端的SPDY协议栈链接支持SPDY的网站,如Taobao CDN等。本文主要分析OkHttp是如何在Android的通信层扩展SPDY。先简要介绍一下SPDY。SPDY的主要目标:单个tcp连接支持并发的Http请求。这主要是解决目前http协议的一个连接只能服务一次请求的问题。压缩请求/响应头。

2014-12-04 16:18:24 7278

转载 jvm开发笔记5 - 虚拟机内存管理

一、 前言     ajvm是笔者正在开发中的一个java虚拟机, 想通过编写这个jvm帮助程序员了解jvm的具体实现细节, 它是国内第一个开源的java虚拟机项目:https://github.com/cloudsec/ajvm, 同时笔者把它的开发笔记也分享到了ata上。 在前面4篇笔记中, 已经实现了class文件加载器, 反汇编器,jvm的crash信息处理, 同时它已经能

2014-12-04 16:07:27 784

转载 jvm开发笔记4---jvm crash信息处理

ajvm是一个笔者正在开发中的java虚拟机, 用c和少量汇编语言编写, 目的在于探究一个可运行的java虚拟机是如何实现的, 目前整个jvm的source code代码量在5000行左右, 预计控制在1w行以内,只要能运行简单的java代码即可。笔者希望ajvm能变成一个教学用的简单java虚拟机实现, 帮助java程序员在陷入庞大的hotspot vm源码之前, 能对jvm的结构有个清晰的认识

2014-12-04 16:05:22 841

转载 jvm开发笔记3---java虚拟机雏形

一、背景    笔者希望通过自己动手编写一个简单的jvm来了解java虚拟机内部的工作细节毕竟hotsopt以及android的dalvik都有几十万行的c代码级别。 在前面的2篇开发笔记中已经实现了一个class文件解析器和一个java反汇编器 在这基础上 java虚拟机的雏形也已经写好。还没有内存管理功能 没有线程支持。它能解释执行的指令取决于我的java语法范围 在这之前我对java

2014-12-04 16:03:29 784

转载 jvm开发笔记2---java反汇编器

这两天在class文件解析器的基础上, 加上了java反汇编的功能, 反汇编器是指令解释器的基础,通过编写反汇编器可以熟悉jvm的指令系统, 不过jvm的指令一共有201个,反汇编过程基本就是个体力活。在《java虚拟机规范》中对每一条指令都有了详细的描述,下面说说我是如何解析bytecode的:一个java文件经过javac编译后会生成class格式文件, 在class格式中method

2014-12-04 16:02:31 1050

转载 jvm开发笔记1---class文件解析器

笔者最近对java虚拟机产生了浓厚的兴趣, 想了解下最简单的jvm是如何写出来的,于是看起了《java虚拟机规范》,这个规范如同intel开发手册一样,是每个jvm开发人员必须掌握的。 要想翻译执行java byte code, 首先得从java class文件中把Code属性解析出来才行。 在笔者看来, java的class文件结构着实比elf文件结构复杂很多,不过在复杂的结构, 只要耐心对照着

2014-12-04 15:59:54 759

转载 理解堆栈及其利用方法

下午详细膜拜了一浪大牛的《无符号和栈破坏情况下coredump的分析方法》, 此刻惊魂未定,激动不已, 既然谈到了堆栈, 就跟大家分享下我认识和理解的堆栈, 希望对大家有所帮助。  更新: 1、对于堆栈的结构, 我是按x86架构画的, x86_64结构大致相同, 只是函数参数是通过rdi, rsi etc来传递,没有压入堆栈里。2、本文介绍了堆栈的结

2014-12-04 15:28:12 3304

转载 Android的线程和内存模型

Android的线程和内存模型Android操作系统在boot后,会启动一个Zygote(受精卵)进程,Zygote进程负责创建大部分应用程序进程。Zygote进程启动加载核心程序库和数据结构到内存后会创建一个Dalvik虚拟机(DVM)进程--SystemServer,此进程会包含大部分的系统服务(包括管理Activity的服务ActivityManagerService),System

2014-12-04 14:42:31 2495

转载 android程序自动化生成apk的过程

在编写android的时候,写好java代码后,eclipse直接帮我们生成了可安装的apk,但有时需要自动化的去生成个性化apk的时候,我们就需要编写脚本或代码来自动生成一个apk,在生成apk之前必须了解下android编译apk的过程; 现在很多人想对Android工程的编译和打包进行自动化,比如建立每日构建系统、自动生成发布文件等等。这些都需要我们对

2014-12-03 17:15:19 830

转载 Android 插件化

1、作用大多数朋友开始接触这个问题是因为 App 爆棚了,方法数超过了一个 Dex 最大方法数 65535 的上限,从这个介绍中也知道可以通过多个 Dex 来解决这个问题,因而便有了插件化的概念,将一个 App 划分为多个插件(Dex或相关格式)常用的其他解决方法还包括:删无用代码,用 H5 代替部分逻辑,买付费版的 Proguard插件化的其他作用包括:(1) 模块解耦,(2)

2014-09-11 17:58:41 788

转载 OpenGL ES九 - 四元数

注:原作者没有完成骨骼动画的章节,这是我们找到的最后一篇了在进入下一篇关于骨骼动画的文章之前,让我们先花点时间来了解一个马上会使用到的新数据类型:四元数[译者注:关于四元数的概念可以参考这个链接:点我]。我们用四元数存储单一骨骼在3个轴线上的旋转信息,换句话说,存储的是骨骼指向的方向。在下一部分介绍的仿真骨骼动画中,你将会看到,模型的顶点是同一个或多个骨骼相关联的,当骨骼移动时它们也会

2013-11-19 12:19:27 1149

转载 OpenGL ES九 -动画基础和关键帧动画

最初这篇教程我并不打算作为第9章发布,原计划是第10章。在深入了解Opengl ES 2.0 和着色器之前,我想讨论下更基础的:动画。注意:你可以在这里找到这篇教程的配套代码,新版本的代码已经在西部时间10:14更新了,更新的代码里面修正了一个不能动画的错误。目前为止,想必你已经看过了opengles最基本的动画形式。通过随时间改变rotate, translate, sc

2013-11-19 12:17:51 2530

转载 OpenGL ES八 - 交叉存取顶点数据

Technote 2230提出了很多用OpenGL ES来提升iphone程序性能的建议。我们现在远远不能深刻理解OpenGL ES所以你需要学习以下内容。不信?是真的,试试看,我等着你的读后感。好,就这样定了?副标题为“优化顶点数据”,这里有一些算法上的建议用来"submit strip-ordered indexed triangles with per vertex data int

2013-11-19 12:16:35 1126

转载 OpenGL ES四补遗 – setupView重写

我在OpenGL ES四 – 光效 一文中使用了一个普通GLfloat数组。由于它没有使用任何非OpenGL定义的数据结构,所以是最为普通和方便的方式。 但在此我使用在第一部分中定义的Vertex3D, Vector3D和 Color3D数据结构重写了 setupView:方法。并不是这种方法“更好”,但是它是一种不同的方式。当我第一次学习OpenGL时,我发现使用顶点,颜色和三角

2013-11-19 12:10:41 872

转载 OpenGL ES七 – 变换和矩阵

今天的主题是我一度谈之色变的。概念上讲,它是3D编程中最为困难的部分。首先,你应该理解 3D 几何和笛卡尔坐标系他。你还应该理解由顶点构成的三角形组成的OpenGL虚拟世界的物体,各顶点定义了三维空间的特定点,你还应理解怎样使用这些信息在 iPhone上使用OpenGL ES进行绘制。如果你不理解这些概念,我建议你回头再看看我的前六篇文章。为在交互式程序如游

2013-11-19 12:09:07 1383

转载 OpenGL ES六 – 纹理及纹理映射

在OpenGL ES中另一种为多边形定义颜色创建材质的方法是将纹理映射到多边形。这是一种很实用的方法,它可以产生很漂亮的外观并节省大量的处理器时间。比如说,你想在游戏中造一个砖墙。你当然可以创建一个具有几千个顶点的复杂物体来定义每块砖以及砖之间的泥灰。 或者你可以创建一个由两个三角形构成的方块(四个顶点),然后将砖的照片映射上去。简单的几何体通过纹理映射的方法比使用材质的复杂几何体

2013-11-19 12:08:04 1111

转载 OpenGL ES五 – 材质

在 上一篇文章,我们讨论了光效的设定以及光效的各种属性。我们还讨论了光的三要素:散射光, 环境光 和高光。如果你还不是完全清楚,那么我们来复习一下,在定义材质时大量的用到这些要素。 作为本文的起点,我们使用了原文中球体绘制 的项目文件。我们不再使用二十面体而是转向球体是因为球体是展示光和材质不同要素之间相互作用的最佳形状。 颜色是什么

2013-11-19 12:06:54 995

转载 OpenGL ES四 – 光效

继续我们的iPhone OpenGL ES之旅,我们将讨论光效。目前,我们没有加入任何光效。幸运的是,OpenGL在没有设置光效的情况下仍然可以看见东西。 它只是提供一种十分单调的整体光让我们看到物体。但是如果不定义光效,物体看上去都很单调,就像你在第二部分程序中看到的那样。  阴影模型(Shade Model) 在深入讨论OpenGL

2013-11-19 12:05:54 1184

转载 OpenGL ES三 – 透视

现在你已经知道OpenGL是怎样绘图的了,让我们回头谈谈一个很重要的概念:OpenGL视口(viewport)。 许多人对3D编程还很陌生,那些使用过像Maya, Blender, 或 Lightwave之类3D图形程序的人都试图在OpenGL虚拟世界中找到“摄像机”。但OpenGL并不存在这样的东西。它所有的是在3D空间中定义可见的物体。虚拟世界是没有边界的,但计算机不可能处理无限的空间,所以O

2013-11-19 12:04:56 1005

转载 OpenGL ES二 – 简单绘图概述

还有许多理论知识需要讨论,但与其花许多时间在复杂的数学公式或难以理解的概念上,还不如让我们开始熟悉OpenGL ES的基本绘图功能。请下载OpenGL Xcode项目模板。我们使用此模板而不是Apple提供的模板。你可以解压到下面目录来安装它:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project

2013-11-19 12:03:54 948

转载 OpenGL ES一 – 基本概念

我曾写过一些文章介绍iPhone OpenGL ES编程,但大部分针对的是已经至少懂得一些3D编程知识的人。作为起点,请下载我的<a href="http://www.iphone-geek.cn/wp-content/uploads/2009/12/Empty_OpenGL_ES_Application.zip" color:="" rgb(63,="" 63,="" 175);="" "=

2013-11-19 12:02:01 1005

转载 Google Map For Android V2 使用方法

本笔记将学习如何使用Google Map服务。主要参考来源为:https://developers.google.com/maps/documentation/android/start?hl=zh-CN。要在模拟器和实际手机上跑通还是费了一番周折。最新的Google Maps Android API v2已经将map服务合并到Google Play services中,但是国内手机并不提供G

2013-09-21 22:02:17 1421

转载 [译]Android冰淇淋三明治ICS(4.0+)JNI局部引用的变化

译序:这篇文章的内容实际是在我发现一个项目bug后寻找解决方案时找到的,当时项目原有target为8(ICS 4.0之前的2.X版本),在4.0+的S3上运行一切正常,而后target升级到14时再在S3上运行时就会出现类似如下的native crash:05-13 14:07:13.139: E/dalvikvm(22265): JNI ERROR (app bug)

2013-09-02 21:41:32 1005

转载 JNI学习积累之一 ---- 常用函数大全

转载,原文出自:http://blog.csdn.net/qinjuning            最近一段时间,在工作方面比较闲,分配的Bug不是很多,于是好好利用这段时间就着源代码看了些许模块, 主要方式   还是贼看贼看代码, 同时利用烧机的便利,加Log观看,基本上都能弄个脸熟 。心里想着该写点什么了?可是水平不够,再加上   包括很多真

2013-08-10 19:14:39 580

转载 JNI 各种优化方案

转自:  http://www.ibm.com/developerworks/cn/java/j-jni/最好看原版吧,排版非常好,这里粘贴是为了备份一下!Java 环境和语言对于应用程序开发来说是非常安全和高效的。但是,一些应用程序却需要执行纯 Java 程序无法完成的一些任务,比如:JNI 的发展JNI 自从 JDK 1.1 发行

2013-08-10 19:12:18 3433

转载 JNI的某些数组和字符串类型转换(转)

JNICC++C#Windowsjbytearray转c++byte数组 C代码  [c] view plaincopyjbyte * arrayBody = env->GetByteArrayElements(data,0);   jsize theArrayLengthJ = env->GetArrayLeng

2013-08-09 11:13:20 624

转载 Ogre1.9 Android 版本编译方法

1. 下载最新的NDK(我用的是android-ndk-r8e版本,使用r8之后的版本,不再需要cywin编译c++了,自带了编译环境)。地址:http://developer.android.com/intl/zh-CN/tools/sdk/ndk/index.html2. 下载Android的SDK,目前Android的sdk中已经自带了eclipse,免去了自己配置的烦恼。地址:ht

2013-08-08 23:07:48 803

转载 MinGW32和64位交叉编译环境的安装和使用

MinGW32和64位交叉编译环境的安装和使用原文出处: CompileGraphics Magick, Boost, Botan and QT with MinGW64 under Windows 7 64 http://www.kineticsystem.org/?q=node/191 安装MSYS从下面的地址下载并运行:mingw-get-inst-201

2013-08-01 15:02:46 3048

转载 wgs84到gcj02

using System;namespace Navi{ class EvilTransform { const double pi = 3.14159265358979324; // // Krasovsky 1940 // // a = 6378245.0, 1/f = 298.3 // b = a * (1 - f) // ee = (a^2 - b^2) / a^2; const doub

2013-07-18 21:59:51 1237

转载 GCJ-02 坐标系与百度坐标系的转换算法

关于 GCJ-02 和 BD-09 ,请参考 http://developer.baidu.com/map/question.htm#qa0043 。算法代码如下,其中 bd_encrypt 将 GCJ-02 坐标转换成 BD-09 坐标, bd_decrypt 反之。[cpp] view plaincopyprint?#include   

2013-07-18 21:36:12 1250

转载 坐标系算法

在开始这个题目之前,先给大家再次扫扫盲,扫的不是坐标系统的盲,而是我们国家所使用的坐标系统。大家都知道,美国GPS使用的是WGS84的坐标系统,以经纬度的形式来表示地球平面上的某一个位置,这应该是国际共识。但在我国,出于国家安全考虑,国内所有导航电子地图必须使用国家测绘局制定的加密坐标系统,即将一个真实的经纬度坐标加密成一个不正确的经纬度坐标,我们在业内将前者称之为地球坐标,后者称之为火星坐标,具

2013-06-25 17:40:35 1751

转载 Toast和Looper。Handler消息循环机制。

(1) Looper类别用来为一个线程开启一个消息循环。默认情况下Android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环)Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。(2) 通常是通过Handler对象来与Looper交互的

2013-05-21 15:34:30 606

转载 面向对象的5条基本设计原则

面向对象的5条基本设计原则 作者:黄业宇    厚朴教育来源:本站原创    点击数:6671    更新时间:2010-8-3  这几天重新看了一遍《大话设计模式》,发现果然有不同的感悟,而且自己也上网找了《敏捷软件开发—原则、模式与实践》一书来看,那本书的序言中有一段话我觉得很有道理:“美的东西比丑的东西创建起来更廉价,也更快捷。”设计一个软件不关要追求

2013-05-01 02:27:46 489

转载 从 Java 代码逆向工程生成 UML 类图和序列图

从 Java 代码逆向工程生成 UML 类图和序列图 收藏 本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM® Rational® Software Architect 从 Java™ 源代码来逆向工程生成 UML 类和序列图。 逆向工程经常被用来从已有的源代码中以一种抽象模型 UML 格式来获得丢失的设计文档,其可以用来研究一个系统的静态结构和动态行为,并用于扩展新的特性到产品

2013-02-01 16:10:57 1100

转载 利用LinkedBlockingQueue实现生产者-消费者模式

由于LinkedBlockingQueue 实现是线程安全的,实现了先进先出等特性,是作为生产者消费者的首选,LinkedBlockingQueue 可以指定容量,也可以不指定,不指定的话,默认最大是Integer.MAX_VALUE,其中主要用到put和take方法,put方法在队列满的时候会阻塞直到有队列成员被消费,take方法在队列空的时候会阻塞,直到有队列成员被放进来。下面是一个例子,一看

2013-02-01 15:23:57 665

转载 伟大的程序员是怎样炼成的?

近几周,一份反映 Netflix 公司企业文化的报告在网上广为流传。 这份报告里列举了很多Netflix公司里令人称赞的做法,包括这个公司是如何的招聘和辞退员工的。 里面有大量的信息是描述Netflix公司是怎样对待员工的,这使Netflix公司变成了一个很有吸引力的工作场所。报告里面提到过有一个关于员工所期 望的内容的清单,但没有把清单列出来。 报告的开始部分就谈及了企业价值问题,而且是按照

2013-01-18 16:19:00 401

转载 【Google官方教程】第四课:在UI中显示Bitmap

转载自: http://my.oschina.net/ryanhoo/blog/88484译者:Ryan Hoo来源:https://developer.android.com/develop/index.html译者按: 在Google最新的文档中,提供了一系列含金量相当高的教程。因为种种原因而鲜为人知,真是可惜!Ryan将会细心整理,将之翻译成中文,希望对开

2012-11-12 10:50:04 509

转载 【Google官方教程】第三课:缓存Bitmap

转载自:  http://my.oschina.net/ryanhoo/blog/88443译者:Ryan Hoo来源:https://developer.android.com/develop/index.html译者按: 在Google最新的文档中,提供了一系列含金量相当高的教程。因为种种原因而鲜为人知,真是可惜!Ryan将会细心整理,将之翻译成中文,希望对

2012-11-12 10:48:41 806

Charles 最新版 3.11.2 破解补丁

如题 Charles 最新版 3.11.2 破解补丁

2015-12-28

Schema的Xpath教程

支持各种语言 ZVON.org - XPath Tutorial Please, start with: General/examples.html (English) General_cze/examples.html (česky) General_dut/examples.html (Nederlands) General_fre/examples.html (Français) General_spa/examples.html (Español) General_rus/examples.html (По-русски) General_ger/examples.html (Deutsch) General_chi/examples.html (中文)

2011-06-06

java反编译工具FrontEnd和jad

java反编译工具 Jad accepts the following options: -a - annotate the output with JVM bytecodes (default: off) -af - same as -a, but output fully qualified names when annotating -clear - clear all prefixes, including the default ones (can be abbreviated as -cl) -b - output redundant braces (e.g., if(a) { b(); }, default: off) -d <dir> - directory for output files (will be created when necessary) -dead - try to decompile dead parts of code (if any) (default: off) -disass - disassemble method bytecodes (no JAVA source generated) -f - output fully qualified names for classes/fields/methods (default: off) -ff - output class fields before methods (default: after methods) -i - output default initializers for all non-final fields -l<num> - split strings into pieces of maximum <num> chars (default: off) -lnc - annotate the output with line numbers (default: off) -lradix<num> - display long integers using the specified radix (8, 10 or 16) -nl - split strings on newline character (default: off) -nocast - don't generate auxiliary casts -nocode - don't generate the source code for methods -noconv - don't convert Java identifiers (default: convert) -noctor - suppress the empty constructors -nodos - do not check for class files written in DOS mode (CR before NL, default: check) -nofd - don't disambiguate fields with the same names by adding signatures to their names (default: do) -noinner - turn off the support of inner classes (default: on) -nolvt - ignore Local Variable Table information -nonlb - don't output a newline before opening brace (default: do) -o - overwrite output files without confirmation (default: off) -p - send decompiled code to STDOUT (e.g., for piping) -pi<num> - pack imports into one line after <num> imports (default: 3) -pv<num> - pack fields with identical types into one line (default: off) -pa <pfx>- prefix for all packages in generated source files -pc <pfx>- prefix for classes with numerical names (default: _cls) -pf <pfx>- prefix for fields with numerical names (default: _fld) -pe <pfx>- prefix for unused exception names (default: _ex) -pl <pfx>- prefix for locals with numerical names (default: _lcl) -pm <pfx>- prefix for methods with numerical names (default: _mth) -pp <pfx>- prefix for method parms with numerical names (default: _prm) -r - restore package directory structrure -radix<num> - display integers using the specified radix (8, 10 or 16) -s <ext> - output file extension (by default '.jad') -safe - generate additional casts to disambiguate methods/fields (default: off) -space - output space between keyword (if/for/while/etc) and expression (default: off) -stat - display the total number of processed classes/methods/fields -t - use tabs instead of spaces for indentation -t<num> - use <num> spaces for indentation (default: 4) -v - display method names being decompiled -8 - convert UNICODE strings into 8-bit strings using the current ANSI code page (Win32 only) -& - redirect STDERR to STDOUT (Win32 only)

2011-06-06

C#中实现图片文件拖拽的教程以及关键代码!

C#中实现图片文件拖拽的教程以及关键代码!

2010-11-23

空空如也

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

TA关注的人

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