自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

临江仙的技术文章

从代码中获得乐趣

  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

原创 计算机系统要素-从零开始构建现代计算机 项目代码

《计算机组成要素-从零开始构建现代计算机》是一本好书,这阵子花业余时间学习,并跟着做了章节后面的项目,收获很大。已经完成了前面9章的项目内容,目前正在进行第10章,编译器的编写。前面9章的项目,以Nand门为基础,先后构建了各种逻辑门,组合芯片(半加器、全加器、加法器、加一器、ALU),时序芯片(寄存器、存储器、计数器),以及CPU和一个简单的,有屏幕和键盘的计算机Hack

2017-09-03 13:01:00 5046 3

原创 spacemacs安装配置

spacemacs 安装及配置1. 安装 Emacsspacemacs 需要 Emacs 的版本在 24 以上2. clone spacemacs 项目到 C:\Users\用户名.emacs.dgit clone https://github.com/syl20bnr/spacemacs3. 启动 Emacsspacemacs 会自动下载所需要的 package注意:...

2018-07-10 17:35:14 1717

原创 Activity,DecorView,PhoneWindow,WindowManager,ActivityThread,ViewRootImpl等的关系

ActivityThread中的handleLaunchActivity方法中,有performLaunchActivityperformLaunchActivity() { // 伪代码 Activity activity = new Activity(); activity.attatch(); // 创建了Phonewindow,获得了WindowManang...

2018-03-23 22:02:46 690

原创 Longest Substring Without Repeating Characters(leetCode)

解法一,最简单粗暴的方式从字符串的第一个字符开始,遍历一遍,看以该字符开始的字符串里,最长的没有重复字符的子串的长度是多少,遍历一遍之后,最大的就是最后的解public class LengthOfLongestSubstringWithoutRepeatingCharacters { public int lengthOfLongestSubstring(String s)...

2018-03-22 22:43:46 242

原创 shell及正则相关知识点

前向搜索?=和?!后向搜索?<=和?<!# how to print the web cotent to the console without donwload it.wget -q -O - http://www.baidu.com/# with post datawget -q -O - http://www.baidu.com/ --post-data=imgContinue=...

2018-01-28 14:07:28 269

原创 python高级特性之生成器(generator)

python的高级特性里,有一个生成器,可以实现边循环边计算的机制。

2017-09-03 18:44:56 584

原创 汉诺塔递归算法的实现(python)

# 数字表示位置,-1,0,1,分别对应A,B,Cposition1 = {-1:"A", 0:"B", 1:"C"}# 定义一个函数,该函数完成了把n阶汉诺塔从起始位置a,移动到目标位置b的过程def hannoi(n, a, b): # 如果汉诺塔是1阶的,直接移动 if n == 1: print(position1[a]+ "->" + position1

2017-07-15 13:52:13 797

原创 Retrofit上传图片

用retrofit上传文件时,可以采用如下的两种方式方式1:Retrofit的接口,ApiServer.java@Multipart@POST("{your_http_server}/user/attr/upload/")Observable<BaseResponse> uploadImg(@Part("userId") RequestBody userId, @Part("type") Req

2017-05-17 15:46:42 961

原创 smali语法总结

我们知道android中java文件先被编译成由java字节码组成的class文件,最终会被编译打包成.dex文件,文件中是可以运行于dalvik虚拟机的字节码。这些字节码不具有可读性, 可以从这些字节码反编译得到的更具有可读性的smali文件。具体方式可以参阅开源项目smali,下面是一些smali的语法类型标记,和jni中的表示是一样的| java中的类型 | smali中对应的表示 |

2017-04-15 19:20:24 2085

原创 计算机群星闪耀时-记计算机界的大牛们

来,膜拜几个计算机界的大牛。就让我们从Dennis M. Ritchie谈起吧。Dennis M. Ritchie,不用多说了,c语言和unix之父,写就著名的K&R。提到这本书就不得不提及另外一位作者,其中的K就是指的Brian W. Kernighan,他除了和Ritchie合著K&R,还写了unix编程环境,程序设计实践等,还有著名的AWK脚本语言其中的K,也是指的他。其实和Ritchie一起

2017-03-14 02:36:11 3444 2

原创 android中?号和@号的区别

在写布局文件的时候,我们经常用到@符号去引用资源,比如:@color/white@string/title_text@drawable/button_selector@mipmap/icon_launch@layout/header_layout@id/recyclerview@style/appTheme但有时还会见到?,这是什么意思呢? 原来?一般是用来引用一个attr属性的,例

2017-03-03 22:15:23 727

原创 如何不使用for循环实现数组倒序

public class Test { static int[] a = {1, 2, 3, 4, 5, 6}; public static void main(String[] args) { printArray(a, a.length); } public static void printArray(int[] a, int count) {

2017-03-02 21:41:52 3761 2

原创 TabLayout与FragmentViewPager结合使用遇到的问题

TabLayout和FragmentViewPager经常结合使用,用法比较简单,只需要用setupWithViewPager方法把两者关联起来就可以了。但在使用过程中遇到了一下几个问题。

2017-02-16 21:18:46 2249

原创 java中泛型确切类型的确定

在写android MVP模式的框架时,发现了一个点,就是如果用泛型来简化代码。同时总结了一下确定泛型的确切类型的方法。目前发现了如下的两种方法,今后遇到了再继续追加。一、在实例化的时候确定就像是ArrayList的实例化,如:ArrayList arrayList = new ArrayList<Bean>();我们知道ArrayList<T> 类型是T是泛型,通过以上的实例化,我们就确定了该类型

2017-02-15 22:22:14 2076

原创 support库中的类报NoSuchMethodError的错误处理

开发过程中莫名其妙报了一个v7包中的类,找不到方法的错误:Caused by: java.lang.NoSuchMethodError: android.support.v7.widget.AppCompatImageHelper.

2016-11-20 20:06:40 1756 2

原创 一个app出现两个图标

原来其实很简单,就是因为在AndroidMenifast里写了两个<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /></intent-filter>去掉一个就好了

2016-11-20 20:01:40 3981

原创 butterknife在library中使用问题处理

1. 官方指南及遇到的问题butterknife当前版本是8.4.0,已经提供了对library project的支持,github主页的使用步骤总结一下就是:1.To use Butter Knife in a library, add the plugin to your buildscript:buildscript { repositories { mavenCentral()

2016-11-20 19:27:09 8331 10

原创 styles.xml文件中@符号及命名空间android:的使用

在写values/styles.xml时有时会有些疑惑,何时要用@符号,何时不用,何时用android:,何时不用,如何区分呢?何时要用@符号,何时不用<style name="LiveDialogStyle"> <item name="android:windowBackground">@android:color/transparent</item> <item

2016-11-08 05:49:36 1813

原创 linux的环境变量及set,env,export命令

关键文件系统的配置文件,一般的存放位置为:/etc/bash_profile、/etc/profile、/etc/bashrc 用户的配置文件,一般的存放用户的home目录:~/.bash_profile、~/.profile、~/.bashrcset,env,export三个命令的区别及联系set显示shell变量,env显示环境变量,export显示导入为环境变量的shell变量我在windo

2016-11-08 05:24:09 2802

原创 sed命令的使用小结

sed(stream edit),可以对流进行一些编辑,然后打印出来最常用的就是替换功能(s),格式为:s/aaa/bbb/,表示用bbb替换aaa,如:sed -r "s/(.*)=.*/\1/" test.txt作用是把test.txt文件里的xxx=xxx的内容替换为等号前面的内容。其中用到了分组(用小括号实现)和引用(用反斜线\加数字来代替前面小括号定义的分组)。其实以上语句等价于:sed

2016-11-08 05:08:51 352

原创 linux shell字符串及文件查找

1. 递归查找当前文件夹及子文件夹里的所有文件中,是否含有某字符串不用想的很复杂,一个命令就可以搞定:grep -r "xxx"xxx也可以是正则表达式。如果有文件匹配了该字符串,打印结果中还会显示文件的路径。2. 递归查找当前文件夹及子文件夹里是否含有某文件ls -R | grep "xxx"xxx为文件名。如果有该文件,打印结果中会显示,但不会有完整路径。

2016-11-08 04:56:04 455

原创 Android Studio常见编译错误

1.Duplicate files copied in APK META-INF/LICENSE What went wrong: Execution failed for task ‘:app:transformResourcesWithMergeJavaResForDebug’. com.android.build.api.transform.TransformException

2016-11-08 04:35:50 360

原创 RelativeLayout中子控件的android:layout_centerVertical="true"失效问题分析

首先来看一下显示效果 001是一个带背景的TextView,设置了 android:layout_centerVertical="true"属性,但却没有居中显示xml布局文件的完整代码如下:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/

2016-10-14 22:46:27 6697 2

原创 java的匿名内部类

java的匿名内部类public class Test { public static void main(String[] args) { A a = new A() { // 对于一个普通的类,在创建它的对象时,可以复写它的方法,就像创建Thread时常做的那样 @Override public void func() {

2016-03-17 02:47:40 358

原创 eclipse下NDK断点失效(断不住)问题的解决方法

eclipse下进行NDK断点调试时,有时候会出现断点失效,即断不住的现象,而且经常会报错:No symbol table is loaded. Use the “file” command。下面就总结一下可能的原因和解决办法。

2015-08-20 19:55:55 1622

原创 eclipes下NDK调试出现Unknown Application ABI:Unable to detect application ABI's错误的解决

在eclipes下进行NDK调试,右键工程,选择Debug as Android Native Application时,有时候会出现Unknown Application ABI:Unable to detect application ABI's错误,下面就总结一下我的一些解决方法。

2015-08-20 19:14:04 2209

原创 关于windows系统下eclipse开发NDK,是否还需要cygwin的问题

1.引子关于windows系统下eclipse开发NDK,网上有很多文章,但都大都需要安装配置cygwin。但也有文章说可以免cygwin,如以下文章:http://blog.csdn.net/codezjx/article/details/8879670。众说纷纭,让人很是迷惑。于是决定对此做一番研究。2.官方文档2.1 ndk-build最权威的说法莫过于官方文档。通过查阅NDK的更新历史htt

2015-08-12 20:07:05 791

原创 用eclipse实现NDK调试常见问题总结

在用eclipse实现NDK调试时遇到了一些问题,现在做一些总结。1. Method ‘NewStringUTF’ could not be resolvedCDT的bug,可以通过设置去除检查机制: 不过这样会去除所有的方法检查,并不是一个好的解决办法。参考http://blog.csdn.net/brokge/article/details/399295252. Avoid hardcod

2015-08-07 16:52:52 1405

原创 windows下用cygwin编译android版ijkplayer

环境搭建安装cygwin,并安装git,make,ysam具体安装过程网上有很多资料,不再详述。android sdk和android ndk下载和安装参见网上资料下载ijkplayer源码git clone https://github.com/Bilibili/ijkplayer.git ijkplayercd ijkplayergit checkout -B latest k0.3.1设置

2015-08-05 19:31:53 8782 12

原创 Evision显示器无法设置1440*900分辨率的问题解决

新安装了win7系统后,Evision显示器的显示效果很差。型号是H919,其最佳分辨率为1440*900,但是分辨率设置里并没有该选项。显卡型号是NviDIA GeForceGT 740,多次更新驱动,甚至重装系统后,仍然没有效果。       最后发现,使用NviDIA自带的控制面板可以自定义分辨率。但是手动设置了1440*900分辨率之后效果还是不理想,仍然很模糊。最后发现,讲其中的标准

2015-05-21 15:05:40 1621

原创 win7系统eclipse中Courier New字体设置

在系统中启用Courier New字体在控制面板的字体中找到Courier New,右键选择显示在eclipse中设置在eclipse的Window--Preferences--General--Apprearence--Colorsand Fonts--Basic--Text fonts中修改为courier New即可

2015-05-21 11:58:58 605

原创 android数据库操作不要犯的错误

不要把本该放在set中的语句,放在where里面使用switch语句写数据库升级的代码时,不要忘记每个case里的break向一个表中添加列时,千万不要把表名写成数据库的名字update语句待更新的列和要更新的数据个数不一致update时,格式要注意,不要忘记set的各语句要用“,”隔开

2015-05-09 20:39:16 405

原创 java编程思想第四版习题_10.21

interface InterFace1 { void g(); public class InnerClass1 { public static void f(InterFace1 a) { a.g(); } }}public class InnerClassTest implements InterFace1 {

2015-04-09 10:57:05 799 1

原创 java编程思想第四版习题_8.11

interface Processor { String name(); Object process(Object object);}class Apply { public static void process(Processor processor, String s) { System.out.println("Using porcessor:" + processor

2015-02-09 20:10:33 680

原创 java编程思想第四版习题_8.9

enum Note { MIDDLE_C;}interface Instrument { // Compile-time constant: int VALUE = 5; // static & final // Cannot have method definitions: void play(Note n); // Automatically public void ad

2015-02-04 20:22:32 651

原创 java编程思想第四版习题_8.3

abstract class Test { public Test() { print(); } abstract void print();}class A extends Test { int i = 1; @Override void print() { System.out.println(i); }}public class Abstract

2015-02-04 20:18:06 676

转载 git reset操作:回滚pull和merge

回滚merge和pull操作 引用$ git pull                         (1) Auto-merging nitfol CONFLICT (content): Merge conflict in nitfol Automatic merge failed; fix conflicts and then commit the result.

2014-09-29 19:42:39 11884

原创 java中子类继承父类方法及调用规则

class A {public void printA() {System.out.println("printA");printWord();}void printWord() {System.out.println("printWord of A");}}class B extends A {@Overridevoid printWord

2014-05-22 20:10:02 8675

原创 java重写与重载区别

子类继承父类,可以重写(override)父类的方法。同一个类中具有相同名字但参数不同的多个方法称为重载(overload)。参数不同是指参数类型,个数,顺序等不同

2014-05-22 19:45:45 465

原创 java管道学习

public class PipeTest {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubtry {// Connect to the named pipeRandomAccessFile pipe = new Rand

2014-05-15 15:50:40 524

空空如也

空空如也

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

TA关注的人

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