自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 资源 (3)
  • 收藏
  • 关注

原创 Java SDK中的sort算法小议 - 03 双轴快排

Java SDK中的sort算法小议 - 03 双轴快排Java SDK中的sort算法小议 - 03 双轴快排双轴快排 - `DualQuickSort`双轴快排对外入口 - `~DualPivotQuicksort.sort(int[] a, int left, int right, int[] work, int workBase, int workLen)`EJ双轴快排函数 - `-Dua...

2019-12-15 21:35:38 342 1

原创 Java SDK中的排序算法小议 - 02 单轴快排

Java SDK中的sort算法小议 - 02 单轴快排单轴快排 - `quick sort`调用流程代码实现CDIJK小结参考资料在前边的文章里,我们分析了最简单的merge sort。这篇文章我们继续来看看针对primitive类型排序的quick sort(即快排)是如何实现的。虽然现行的JDK中采用的是优化过的DualQuickSort,但是相对复杂了很多。如果直接去看,会比较吃力,所...

2019-12-01 21:43:55 361 1

原创 Java SDK中的排序算法小议 - 01 开篇

Java SDK中的sort算法小议两种常见的sort了解一下调用流程 - 从对外接口到真正实现为什么不都使用`quick sort`呢?具体是怎么实现的`Arrays.mergeSort`Summary参考的资料在学习数据结构和算法的时候,很多书籍或资料会将每个知识点分开去讲,这种方法可以帮助我们循序渐进地理解对应的知识点。在排序算法里边,书本上常见的会有冒泡排序 (bubble sor...

2019-11-25 22:02:40 440

原创 提升团队开发效率 - Nexus Repository

关于提升团队开发效率有很多可以讲,这里讨论一个比较简单易行并且“效果明显”的方法。在有些公司,如果对访问外网做了限制的话,可能需要走统一的代理才能访问外网。并且管理更加严格的可能还会对访问的外部资源签发自签名的证书,这样会导致几个问题每个人需要在工作电脑上配置代理不同的软件/平台配置代理的方式并不统一访问速度较慢可能需要把自签名的证书import到对应的trust store中,并且可...

2019-11-19 07:47:40 1136

原创 Certificate Pinning是如何工作的?

Certificate Pinning是什么,有什么用?Certificate Pinning,或者有叫作SSL Pinning/TLS Pinning的,都是指的同一个东西,中文翻译成证书锁定,最大的作用就是用来抵御针对CA的攻击。在实际当中,它一般被用来阻止man-in-the-middle(中间人攻击)。说起中间人攻击,可能不是那么直观,但是这一类工具我们可能经常会用到,如Mac平台的C...

2019-11-13 21:13:15 4277 2

原创 flutter note

flutter noteproject typescommonly used commandsflutter for web (in progress)flutter for desktopstudy resourcesproject typesapplicationa whole new applicationpluginexposing an android or ios api ...

2019-01-16 23:31:46 340

原创 Install & Config Gitea

Just some memo on how I install and config Gitea (a git server) on a virtual host.InstallDownload Gitea binary from official download page first.$ wget https://dl.gitea.io/gitea/1.6.0/gitea-1.6.0-l...

2018-12-01 23:38:05 294

原创 Gradle笔记

Gradle使用相关的问题都记录于此。设置JVM程序参数如果需要配置通过run任务执行的Java程序的参数,则可以使用Application插件的applicationDefaultJvmArgs属性进行参数设置。比如比较常见的设置代理服务器(如果你在公司内网),可以进行如下配置applicationDefaultJvmArgs = [ "-Dhttp.proxy...

2018-08-30 22:53:01 294

原创 Android Framework与AOSP源码对应关系

这里边记录一下两者的对应关系,所谓Framework即你开发App时依赖的android.jar文件中的类。这篇文章是基于7.1(25)的。package androidpackage assetspackage com.android.internal.utilpackage dalvikpackage javapackage javaxpackage junitpackage org

2017-10-18 15:33:52 1902

原创 IoT开发板Joule的一些笔记

有幸拿到一块Intel Joule 570x开发板,Intel对其的定位是IoT。对其进行了一些简单的研究,这里记录下来,便于以后查看。关于配件先放一张开发板的原图,该图来自于官方网站。 供电有两种:Type-C接口,与DC接口。 Type-C接口一般可以使用电脑的USB口或者电源适配器,但是有可能在某些情况下功率不够,所以推荐使用DC接口。 DC接口的要求是12V,3A(至少3A)的电源适配

2017-06-25 23:52:55 2645

原创 QT应用在Windows下部署发布

刚接触QT,对于其在Windows下部署一头雾水。网上相应的资料很多都是手工程度比较高的,在这里我们可以使用QT自带的发布工具 - windeployqt.exe。部署发布 - 解决依赖该文件在QT的安装目录下,我Windows平台使用的mingw版本(5.8),其路径为D:\Qt\Qt5.8.0\5.8\mingw53_32\bin\windeployqt.exe使用Release模式编译程序,然

2017-04-29 22:55:59 6027

转载 Qt在Mac OS X下的编程环境搭建

原地址:http://blog.csdn.net/libaineu2004/article/details/46234079在Mac OS X下使用Qt开发,需要配置Qt库和编译器。编译器只能使用苹果公司自主研发的Clang。1、分别下载并安装XCode和Command Line Tools(必须安装),安装完毕后,Clang就有了。https://develope

2017-04-29 11:16:51 1821 2

原创 Android Wear书签

Some notes on Android Wear development. TO BE COMPLETED…NotesApp类型Wear特有风格的Notification 可以使用专有的Action.WearableExtender为Notification增加Inline Action,具体可以参考Add Wearable Specific-features to a Notificat

2017-04-23 22:16:47 1470

原创 Android TV书签

Just some bookmarks and notes.NotesLeanback Launcher与手机/平板的Launcher不同,Leanback Launcher不支持"android.intent.category.LAUNCHER",如果要想显示自己的图标,需要添加<category android:name="android.intent.category.LEANBACK_LAU

2017-04-22 09:39:31 592

原创 NodeJS笔记

NodeJS是什么,引用一下官方的定义 Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js’ pac

2017-04-18 11:32:29 579

原创 AOSP是如何管理代码的

有关AOSP如何管理代码的一些杂记,持续更新中。

2017-03-27 16:48:54 1060

原创 Android源代码编译笔记(支持5.x及以上版本) - Mac篇

前边写过aosp在Linux上(Ubuntu)的编译文章,因为是在虚拟机里边,所以在方便的同时,效率也会有所折扣(调试编译运行速度等)。所以在Mac上试验了一次,发现方便很多。特此记录下来。大体流程还是与Android源代码编译笔记(支持5.x及以上版本) - Linux篇一致的,细节地方有所不同。安装软件包JDK这部分的要求对于各个平台是一致的,具体参见安装JDKCommand Line Tool

2017-03-19 13:32:45 533

原创 Docker笔记

了解docker过程中的一些简单笔记

2017-03-03 23:30:53 431

转载 curl网站开发指南

curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。它支持多种协议,下面举例讲解如何将它用于网站开发。一、查看网页源码直接在curl命令后加上网址,就可以看到网页源码。我们以网址www.sina.com为例(选择该网址,主要因为它的网页代码较短):  $ curl www.sina.com  

2017-03-03 10:59:21 623

原创 FindBugs日记

FindBugs是Java的一个静态代码(扫描bytecode)扫描器,其内置了很多的detector,可以扫描出来很多代码中潜在存在的问题。目前最新版本是3.0.1插件基于你项目的不同,可以使用不同平台IDE的插件来使用FindBugs,常见的有IDEA/Android Studio, Static Code Analysis using FindBugs (Android Studio)Ma

2017-02-23 18:26:10 492

原创 Nexus Player刷机日记

RT刷机步骤正常开机后,连接USB调试模式,然后通过命令进入bootloader模式 $ adb reboot bootloader查看”LOCK STATE”,如果为”locked”,那么通过命令unlock $ fastboot oem unlock执行刷机命令如果是官方下载的factory image,那么执行flash-all.bat如果是自己编译的image,那么

2017-02-22 18:16:43 1627

原创 Jenkins笔记

Jenkins是和bamboo类似的Continuous Integration and Continuous Delivery工具,简称为CI工具。最显著的一个区别就是,前者是开源免费的。基本使用关闭与重启直接通过url来控制即可,即http://127.0.0.1:8080/exithttp://127.0.0.1:8080/restart这里有更详细的图文版: Jenkins的关闭、重启Jo

2017-02-16 22:20:44 1393

转载 How To Install Java with Apt-Get on Ubuntu 16.04

原文地址:https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-get-on-ubuntu-16-04IntroductionJava and the JVM (Java's virtual machine) are widely used and required

2017-02-04 15:21:37 2421

原创 编译及调试OpenJDK 8

看了深入理解Java虚拟机:JVM高级特性与最佳实践(第2版) 之后决定自己编译一下OpenJDK,但是书中介绍的关于编译和调试部分已经过时了。所以根据搜索的资料,自己编译调试了一下。IDE:Netbeans 8.2(最新版本即可) 操作系统:Ubuntu 14.04 源代码:OpenJDK 8编译OpenJDK 8下载源代码我是直接下载打包好的源代码(使用hg下载还需要再安装hg,这个东西相对

2017-02-01 14:59:53 7837 4

原创 Ubuntu下安装多个Java及切换

有时为了需要,会在系统中安装多个Java。网上关于这个问题的解决都是同一种思路,即利用sudo update-alternatives进行配置。我这里也是使用这种方法,只是编写了一个脚本,使得操作起来方便一些。多个Java的安装我是在Oracle上下载的压缩包进行解压的。解压完成之后,我们需要将其配置到系统当中,如下install_java.sh#!/bin/bashif [ $# -eq 0 ]

2017-01-30 17:27:00 3382

原创 VirtualBox常见问题记录与解决

VirtualBox是另外一款游戏的虚拟机软件。在某些情况下,我们可能只能使用这一款虚拟机软件。在这里记录一下VirtualBox的基本使用与优化,避免大家遇到同样的情况走弯路。安装Guest AdditionsGuest Additions包括基本的音频、视频与其它的驱动。 启动Guest系统后,选择”Devices->Insert Guest Additions CD image…”按照提示进

2017-01-22 14:39:22 2732

原创 小米手机刷机&ROOT原理

刷机&ROOT涉及到的工具有:原版线刷包 (fastboot包)SuperSUTWRP(一个三方的Recovery Image, 注意选对型号)Android Image KitchenXiaoMiFlash(其实是adb&fastboot的一个GUI外挂)MiFlash Unlock(小米手机bootloader解锁工具) 其实就是标准的fastboot oem lock &

2017-01-02 22:53:56 2958 1

原创 AOSP编译问题记录

只是日常遇到的问题的一些总结。如何编译单独的一个项目这个需求也经常会碰到,就像在从代码了解AOSP所了解到的,整个AOSP项目有500+个git子项目组成。如果我们想编译其中某个单独的项目,如何操作呢? TO BE ADDED参考从代码了解AOSP

2016-11-01 22:37:57 981

原创 Git Memo

Git使用相关的命令以及概念的理解记录在这里边。常用命令克隆远程repo$ git clone [url]查看分支# 查看所有本地分支$ git branch# 查看所有远程分支$ git branch -r# 查看所有分支(本地+远程)$ git branch -a新建分支# 基于base_branch创建一个新分支new_branch,并切换过去$ git checkout -b [ne

2016-10-30 11:54:33 762

翻译 Android接口与架构

翻译自Android Interfaces and Architecture。Android提供给你实现自己的的设备规格与驱动的自由。硬件抽象层(HAL)提供了一个标准的方法用于连接(hook,钩子?)Android平台各层与你的硬件。Android操作系统同时也是开源的,所以你可以贡献你自己的接口与改进。为了确保设备保持一个高水准的质量并且提供一致的用户体验,每款设备必须通过兼容性测试(CTS)

2016-10-16 22:18:49 573

原创 AOSP中make clean与make clobber的区别

关于两者的区别,网上常见的一种解释是make clobber比make clean的清除更加严格,但是具体严格在哪里呢?并没有说明。

2016-09-20 11:37:17 12118 1

原创 AOSP分支切换

有时,我们需要在不同的AOSP的分支之前切换。在Android官网上Google并没有关于不同分支之前如何切换的说明,那么最笨的方法是使用另外一台虚拟机(我习惯使用虚拟机)再同步一遍代码,但是这样耗时耗力。经过前边 从代码了解AOSP 的学习,我们知道整个AOSP的代码的分支(revision)与远程地址信息都在.repo/manifests/default.xml文件中指定,所以初步的想法是可以将

2016-09-02 17:23:27 8795

原创 Android ADB命令集合

时不时会用到adb与设备进行各种交互,为了不在使用的时候”东奔西跑”,这这里总结一下常用的命令,以备不时之需。

2016-08-30 12:02:39 1724

原创 编译HiKey内核

在编译并运行AOSP,如果细心一些,你会发现,整个Android系统的内核,即Linux Kernel是Google预先编译好的(pre-built)。比如我刷好HiKey之后,关于里边的Kernel version是这样的: 首先,时间和我编译整个AOSP的时间不符,其次标识里边也没有我本机的信息。对比一下,我们看Build Number 可以发现,这里边明显有本机的标识。这里,我们可以自己编

2016-08-21 20:54:22 3361 2

原创 从代码了解AOSP

AOSP是什么?全称是Android Open Source Project,它是整个Android源码的开源项目。 官方地址是:https://android.googlesource.com如果你下载过源代码,那么对下面的这个指令不会陌生$ repo init -u https://android.googlesource.com/platform/manifest这是初始化AOSP的分支,默

2016-08-20 00:40:57 14675

原创 通过阅读刷机脚本flash-all.sh来学习shell脚本

关于shell脚本的文章,教程很多。但是一般属于工具书类型的,遇到不清楚的再去查。这里通过阅读Android的刷机脚本flash-all.sh来学习实际当中的shell是怎么写的。flash-all.sh脚本我选择的是HiKey版本的刷机文件,在Master分支的device/linaro/hikey/installer目录下可以找到。原始文件只有72行,所以这里加上我的注释都贴出来了#!/bin/

2016-08-18 11:47:41 3956 1

原创 Android内存泄漏分析笔记

关于Android内存泄漏相关的文章非常多,这个主题已经快要被写烂了。但是我还是要在记录一些自己分析过程中的笔记,和别的文章的侧重点不一样。我不会写怎么做,因为关于操作步骤和工具的使用已经有现成的文章,而且也写的很好。在这里更多的是”为什么这么做”的一些想法。

2016-08-17 18:32:42 402

原创 使用HiKey进行开发

Android官方目前支持的有一款开发板,名为HiKey,我们可以通过研究它对AOSP有更深的理解。 官方购买链接是一个国外网站,购买起来不方便。其实这块板子是中国的一个公司生产(我和这家公司并无利益关系,所以这里也不贴具体信息了)的,我买了一块用来进行AOSP的研究。HiKey开发板HiKey是符合Linaro LCG组织的96Boards设计标准的开发板。而96Boards是基于ARM架构

2016-08-16 16:24:40 8744

翻译 使用Jack编译

翻译自 Compiling with JackJack工具链Jack是一个Android工具链,用于将Java源码编译成Android dex字节码。它替换了之前的Android工具链,即由javac, ProGrard, jarjar和dx多个工具组成的集合。Jack工具链带来了以下优势:完全开源 AOSP中可以找到;欢迎合作伙伴贡献。加快编译速度 Jack对降低编译时间有具体的支持:pr

2016-08-15 19:17:13 10492

原创 Android源代码(AOSP)调试 - Java部分

经过前面漫长的环境搭建、源码同步、编译之后,终于可以真正做点有意思的事情了 — AOSP源码调试。AOSP源码导入IDE内存优化因为源码非常多,所以导入时IDEA/AS会需要大量内存。所以我们需要编辑IDE的VM选项。配置文件为IDEA的是IDEA_HOME/bin/idea.vmoptionsAS的是AS_HOME/bin/studio.vmoptions 注意,AS有一个64位版本的配置文

2016-08-09 15:57:54 7520 1

卸载blackberry messenger的命令

自己总结的命令,用于卸载blackberry messenger,在9700 os 5.0上测试通过(请将命令复制到cmd环境下执行)

2010-12-20

Photo拾色器(快速选取颜色)

可快速选取鼠标处的颜色,不用再打开photoshop了

2010-02-28

空空如也

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

TA关注的人

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