自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (9)
  • 收藏
  • 关注

原创 APK签名

apk 签名

2022-11-03 10:30:00 144 1

原创 Windows Powershell中文乱码

windows powershell 乱码

2022-11-03 10:23:00 769

原创 Flutter frequently asked assembly (1)

Flutter问题集锦常见问题与解决方法常见问题与解决方法Dio库报错DioError [DioErrorType.response]: XMLHttpRequest error.packages/dio/src/dio_mixin.dart 819:20assureDioErrorpackages/dio/src/dio_mixin.dart 678:13_dispatchRequest解决方法:这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdo

2021-07-20 15:56:14 235

原创 Flutter frequently asked assembly (2)

flutter build iOS error occurredThe Swift pod `DKPhotoGallery` depends upon `SDWebImage`, which does not define modulesWith cocoapods 1.9 a new command is shipped use_frameworks! :linkage => :static which allows static linkingThe Swift pod DKPhotoGalle

2021-07-20 15:55:31 316

原创 Android 开发Java调用Kotlin提示包不存在

Android开发Java调用Kotlin 提示包不存在加上 apply plugin: ‘kotlin-android’

2021-02-03 14:54:27 3676 3

原创 常见Gradle内置task收集

grade task文档https://docs.gradle.org/current/dsl/org.gradle.api.Task.html

2020-05-29 23:43:18 357

原创 IntelliJ IDEA 插件开发笔记(一)

IntelliJ IDEA 插件开发action中的group-id记录http://keithlea.com/idea-actions/

2020-05-22 17:00:27 166

原创 以太坊源码学习(一) 正本清源

以太坊源码学习(一)正本清源背景geth源码一直在不断增加,优化,发展到现在已经非常庞大,第一次看geth源码,会有不小的难度。虽然如此,还是可以从geth仓库的第一个commit开始,这时的代码比较少,但是以太坊核心的雏形已经隐隐可见,阅读代码可以加深理解以太坊的模块组成,揣测设计的想法和思路。项目结构去掉单元测试文件,整个项目只有 big.go vm.go pars

2018-01-22 15:49:11 5401 1

原创 从零开始,自己动手写Java虚拟机

从零开始,自己动手写Java虚拟机自己动手写一个Java虚拟机java虚拟机的作用java虚拟机的组成java虚拟机的开发java虚拟机的测试

2017-12-19 23:35:59 12345 3

原创 java虚拟机指令集参考文档

java虚拟机指令集 文档链接

2017-05-11 20:56:59 949

原创 Ubuntu下将mp4文件转成gif文件

Ubuntu下将mp4文件转出gif安装mplayer安装imagemagick生成jpeg文件系列 提前创建好文件夹output

2017-03-07 10:42:19 1250

原创 android bitmap相关内容小结和漫想

android bitmap 显示方向不对,bitmap小结,OOM问题汇总,设置imageview缩放方式

2016-09-21 01:07:58 700

原创 使用libusb库笔记

libusb简介libusb是一套可以比较简单的访问usb设备的api. libusb在不同的语言和不同的系统平台上都有实现,关于libusb的其他优点,可以访问libusb官网(http://libusb.org). 几经折腾,终于可以在ubuntu上用libusb读写数据了. 记录一下容易忽略的地方. 常见返回错误码解决1. interface认领和读写endpoint地址

2016-07-08 15:16:29 11836 1

原创 Ubuntu安装OpenGL开发环境

安装mesa相关环境安装glew 连接库 初始化运行shader程序

2016-05-19 19:47:31 6766

原创 管中窥探java虚拟机(二) - 亲密接触jvm的指令集

背景之前被stackframemap属性折腾了一段时间,后来好好学习了指令格式,解决了一些问题.最近又被tableswitch和lookupswitch指令绊上了.指令格式jvm指令格式通常都是 operation code + operand 操作码,操作数指令分类按功能分按操作数长度分按操作数个数分

2015-12-23 10:13:48 941

原创 git解决二进制文件冲突

1.冲突的产生当我们向远程git服务器提交某一个文件的修改时,恰巧这个文件相同的修改地方其他人也有修改,并且已经提交到服务器,这时冲突就产生了. 通常,当我们合并两个相同的地方都有修改的分支时,都会产生冲突.2.文本文件冲突解决出现冲突时git不知道如何自动合并,需要我们解决冲突手动合并. 如果是文本文件,git会在有冲突的地方作上标记(如 HEAD >>> ==== <<< HASH_ID等),

2015-12-22 11:18:14 13930

原创 Android控制台程序利用GPU处理图像

Android控制台程序利用GPU处理图像1. 引言最近工作比较忙,忙了2个多月,有一段时间没有写笔记了. 这段时间的工作内容接触到利用GPU处理图像,而我本身对数字图像处理一直比较感兴趣,顾借这次机会学习一些数字图像处理相关的技术.2. 简单背景介绍数字图像一般像素数据较大,CPU设计的目的是通用计算,更擅长的是逻辑控制. 目前智能设备中为了更流畅的显示,一般都配有GPU, GPU的运算单元非常多

2015-11-10 14:58:52 3520

原创 管中窥探java虚拟机(一)

认识 java虚拟机字节码的StackMapTable属性背景如果分析过class文件,如果写过简易的java虚拟机.也许你会遇到这两个问题: 1. 打印java方法的指令与javap显示的有所差异. 2. 虚拟机不受控制的运行. 但是class文件解析却没有问题,那么这个时候也许应该重新翻翻Java虚拟机规范(JavaSE7)了.引题我们知道java源文件经过编译后,生成.class文件,关

2015-06-30 16:20:05 1101 2

原创 值得学习的C语言开源项目

值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz210

2015-05-27 13:08:03 843

原创 Android系统触屏事件传递派发浅析(二)

上一篇文章提到在InputDispatcher中,connection调用inputPublisher.publishMotionEvent后分发就完成了,然后将dispatchEntry放入到waitQueue队列,大概是有的事件必须等应用回复,收到应用回复后,dispatchEntry将从waitQueue队列中移出.要弄明白事件如何传递给应用,不得不看看inputPublisher.pu

2015-05-13 18:15:26 1864

原创 Android系统触屏事件传递派发浅析

之前浅显的看过事件传递的过程,但是有一些细节还是不太清除,借这次机会,可以好好的整理一下之前没有想清楚的地方.(基于android 5.0源码)1. SystemServer中new一个InputManagerSerivce实例, 并将其作为一个输入参数, new 一个WindowManagerService实例, 将他们都注册到ServiceManager中.看看InputManag

2015-05-12 20:09:28 2503 3

原创 浅谈组件技术

将组件思想推广的最出名的应该算是微软的COM技术了。组件技术的核心思想是将软件划分成一个个独立的模块,这些模块只暴露对外开放的接口,模块间通过接口拼接,调用,组装成最终的系统。软件开发模型中的增量模型用到的就是组件思想。组件的客户只关心组件的接口,不关心组件的内部实现和存放的路径。对于组件自身而言,有以下问题需要考虑:  1.由于客户语言的多样性,客户语言的参数可能与自身实现语言的参数

2015-03-17 11:10:15 1511

转载 在Linux下adb连接不上android手机的终极解决方案

1、做android开发的过程,碰到了Linux下adb识别不了android设备的问题,刚开始在网上google下,发现都是针对ubuntu下的一些说明:如google提供的方法:http://developer.android.com/tools/device.html,但发现通过做这些还是有些android设备连接不上,于是通过阅读adb源码,得出了一些方法,和大家一起共勉下: 

2015-02-05 12:36:11 1233

原创 设置Windows应用程序图标方法笔记

设置windows应用程序的图标常见的方法有2种。1. 窗口窗前前,可以利用LoadIcon(HINSTANCE hIns,  LPCTSTR  name) 先获取句柄,然后填入WNDCLASS  结构的hIcon成员。2.  窗口创建后,可以向窗口发送WM_SETICON消息。SendMesage(hwnd, WM_SETICON,  ICON_BIG, hIcon) 的第三个参数可取值

2014-12-14 01:49:53 1666

原创 使用MinGW开发Win32应用程序常见问题的解决方法

用VS编译Win32应用程序时,按照MSDN文档指示,一般很少会遇到问题。及时遇到了问题认真阅读一下Remarks,也很快能解决。但是用MingGW编译Win32应用程序时, 经常遇到头文件没有正确包含,静态库没有连接的问题。1. VS中,链接器默认会链上User32.lib ,Kernel32.lib和Gdi32.lib。 而MinGW则需要自己手动指定要连接的库。2. MinGW头文件

2014-11-30 11:16:30 4665 1

原创 android中使用AIDL

android中可以使用AIDL定义接口,实现进程间通信。 这个和COM等组件技术原理是一样的。需要注意的有:1. AIDL中定义的接口和方法名是不需要权限修饰符的.2. AIDL中方法的返回类型如果是java基本基本类型则不需要import其他包和接口。3. AIDL中一般只能import AIDL接口。不能import java的接口,但是List等java接口可以使用。3

2014-11-28 10:30:39 597 1

原创 libev学习(二)常见类型剖析

typedef struct ev_io{ EV_WATCHER_LIST (ev_io) int fd; /* ro */ int events; /* ro */};

2014-10-08 16:20:51 688

原创 libev学习(一)初识libev

libev内部封装了socket IO 模型,用户只需要向

2014-10-08 10:34:43 841

原创 彷徨

近来闲时读了一些文学书籍,

2014-09-30 11:21:18 507

原创 使用A*算法寻找路径

A*算法主要是维护两张表,开放表(openList

2014-08-27 17:25:31 2724

原创 linux下将资源文件编进可执行文件

有时候需要将一些图片, 音乐或者字符串文件

2014-07-28 14:06:37 3013

原创 由malloc等函数想到的一些问题

brk 函数数据段 基本

2014-07-28 12:30:15 763

原创 同步异步与阻塞非阻塞的区别

之前没有仔细体会同步异步与阻塞非阻塞的区别,在

2014-06-27 13:58:04 531

原创 解决arch linux下安装fcitx输入法框架遇到的问题

在arch linux中安装好fcitx和fcitx输入后,

2014-05-25 02:18:17 5750

原创 利用哈夫曼编码压缩文件的小工具

huffan压缩算法在大学的教材重点讲过, 实现起来相对轻松。LZ77算法是另外一个经典的算法,由两个犹太人在70年代发明,LZ77算法的出现打破了之前由huffman算法一人独大的局面。

2014-04-30 14:06:35 2913 3

原创 内部排序算法之堆排序

堆排序是利用堆的性质, 从缩小的排序空间中不断的选出堆顶元素,从而达到排序的效果。堆排序的时间复杂度主要是在不断的调整堆以满足堆的性质,其评价性能和最差情况都是O(logN), 平均性能差于快速排序,但最坏情况优于快速排序。堆可以作为具有优先级队列的实现。通常在数据量较大的时候,而需要选择出前面较大的几个元素时候, 可以考虑堆排序。堆排序的实现分为4步:1. 初始化堆, 这个过程就

2014-04-01 17:12:34 625

原创 erlang学习笔记之基础篇(常见问题小结)

由于个人的兴趣,之前自学过一段时间的erlang, 后来工作忙,慢慢遗忘了,现在计划实现一个高并发的项目,考虑到复杂性和时间限制, 又重新系统的学习erlang。总结了一些容易出现的错误, 这些错误对于刚入门的我,有时不是很轻松就能解决。1.首先记录一个非常规错误, 只是个人的坏习惯, 写一个Makefile文件,需要将生成的beam文件放入到指定的目录target中, 借鉴C/C++文件的m

2014-03-31 15:02:25 991

原创 字符串操作之删除指定字符

对于字符串,通常还有一个操作就是删除指定字符。在一些面向对象的语言如C++, JAVA中,内部已经实现。自己动手用C语言也尝试实现该操作。一般思路是,将待删除的字符全部移到串的尾部, 最后从字符串尾部倒数,将最后一个待删除的字符替换为字符串结束标识'\0'。为了保证一次遍历串就完成操作, 我们需要用两个变量来记录当前遍历的位置和已处理串的末尾位置,分别记为p, q.  开始另p = 0, q

2014-02-12 16:08:26 2860

原创 大数字的加减乘除四则运算

有时候对整数做四则运算时, 发现数字过大,超出了通常编程语言提供类型的最大范围,自己动手总结了一下对这些数字进行运算的技巧。先实现加法和乘法。2个进制相同的数字的加法运算有这样的规律:1.  M位的加数加上N位的加数,和的位数最大为 MAX(M, N) + 12. 低位向高位的进位必然小于2在乘法中,M位的数乘以N位的数,乘积的位数最大为 M+N明白了这两个规律,可以简化代

2014-02-12 14:11:05 1835

原创 内部排序算法之选择排序

个人觉得选择排序算法是最容易理解的排序算法,我们在日常生活中经常用这种方法排序。每次从待排序的系列中选出最小的元素后,待排序的元素数目减少1,直到待排序系列中的元素个数为1,最后这个元素就是最大的元素, 排序完成。选出待排序系列中最小元素的时候,需要遍历待排序系列中所有的元素, 发现逆序, 则交换。 为了减少交换次数,并且, 最终只需要和当前最小的元素交换,则 只需要记录当前最小元素的索引

2013-12-20 23:53:32 460

深入java虚拟机

了解java虚拟机细节。和《java虚拟机基础》, 《java虚拟机规范》三本书堪称了解java底层的秘笈。

2015-03-27

链接器和加载器(中文)

如下目的: 1.了解可执行文件运行前的所有准备工作。 2. 尝试动手写加载器和链接器。 此书居家必备。

2015-03-27

私密社交应用 (MainActivity.apk)

模仿android市场私密社交应用android客户端。采用 http + json与服务器端通信, 实时聊天采用SOCKET长链接 二进制协议实现。

2015-03-04

android图库 gallery apk

android图库小程序。用于浏览和编辑图片。

2015-03-04

A 算法 贴片地图显示小程序 (maze apk

用于学习A*算法, 游戏贴片地图的演示程序,遗憾的是地图太小, 没有演示场景切换。

2015-03-04

android团购应用 (cabinet.apk)

利用空闲时间,模仿目前市场上一些流行的android导购应用,用免费的接口,实现的一个导购应用。

2015-03-04

A * 算法实现和演示

实现了A*算法,并自动生成联通的地图,演示该算法

2014-08-27

利用哈夫曼编码压缩文件的小工具

含哈夫曼编码和解码代码,利用哈夫曼编码来压缩和解压文件的小工具。

2014-04-30

画二叉树小工具dtree源码

画二叉树小工具源码。博文链接地址 http://blog.csdn.net/karizhang

2013-12-06

空空如也

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

TA关注的人

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