自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(207)
  • 收藏
  • 关注

原创 从零开始:微信小程序新手入门宝典(正在更新)

https://www.zhihu.com/question/50907897/answer/128494332http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1989

2020-05-21 19:10:25 934

原创 java基础点

Java 基础 1. JDK 和 JRE 有什么区别? 2. == 和 equals 的区别是什么? 3. 两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗? 4. final 在 Java 中有什么作用? 5. Java 中的 Math. round(-1. 5) 等于多少? 6. String 属于基础的数据类型吗? 7. Java 中操作字符串都有哪些类?它们之间有什么区别? 8. String str="i"与 String str

2020-05-15 17:46:59 150

原创 常用的22个linux命令

22个Linux常用命令1. 查看文件信息:lsls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。ls常用参数:参数 含义 -a 显示指定目录下所有子目录与文件,包括隐藏文件 -l 以列表方式显示文件的详细信息 -h 配合 -l 以人性化的方式显示文件大小 .

2020-05-15 14:54:25 357

原创 pyinstaller如何将自己写的模块一并打包到exe中

使用pyinstaller命令pyinstaller -F main.py 打包时,若mian.py代码中存在引入自己写的模块,而打包成exe文件时,并不会自动引入自己写的模块,打包成功后,点击打开生成的exe文件时便会一闪而过若要将自己写的模块也使用pyinstaller打包到exe文件中,需要将自己写的模块复制到Python安装路径下的Lib\site-packages目录中...

2020-05-14 20:04:12 2822 1

原创 工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。介绍意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,返回的也是一个抽象

2020-05-14 16:05:58 203

原创 Linux下find和grep常用命令及区别介绍

在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区别的。  区别: (1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。  一.find命令    基本格式:find path expression    1.按照文件名查找...

2020-05-08 18:09:34 461

转载 java反射机制详解 及 Method.invoke解释

Java反射机制JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对

2017-04-18 19:23:56 326

转载 AndroidStudio之如何使用aar

一. 简介aar是一个类似于jar的文件格式。但是他们之间是有区别的。jar:仅仅包含class和清单文件,没有资源文件。aar:包含了class文件和资源文件。说白了就是Android的专属“jar”将代码打包成aar文件,可以在一定程度上加快AndroidStudio的速度。尤其是将Module打包成aar文件,提升的效果很显著。二. 如何得到aar

2017-03-31 11:31:21 589

转载 java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor versio

严重性 代码 说明 项目 文件 行 禁止显示状态错误 xamarin java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0xamaC:\Program Files (x86)\MSBuild\Xamarin\Androi

2017-03-30 10:46:42 1475

转载 UiAutomator自动化测试框架介绍

环境搭建1         必要条件1.1       JDK1.2       SDK(API高于15)1.3       Eclipse2         简要步骤2.1       安装JDK并添加bin目录到环境变量2.2       添加SDK中的tools目录和platform-tools到环境变量2.3       安装

2017-03-29 18:14:31 2922 4

转载 Java基础加强总结(一)——注解(Annotation)

一、认识注解  注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts2有一部分也是基于注解的了,注解是一种趋势,现在已经有不少的人开始用注解了,注解是JDK1.5之后才有的新特性JDK1.5之后内部提供的三个注解       @Depreca

2017-03-28 20:19:01 234

转载 深入理解Java:注解(Annotation)自定义注解入门

要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解:  元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:    1.@Target,    

2017-03-28 18:35:40 191

转载 OpenSSL简介及在Windows、Linux、Mac系统上的编译步骤

OpenSSL介绍:OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。SSL是SecureSockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持。已经成为Internet上保密通

2016-10-19 18:13:20 314

转载 在linux下把.so文件反汇编

如果是arm架构的可以这样。arm-linux-objdump -d libxxx.so > libxxx.S其中arm-Linux-objdump换成相应的工具前缀就行。Android的编译器都存在 prebuild目录下,prebuilt\linux-x86\toolchain\arm-eabi-4.4.3\arm-eabi\bin

2016-10-18 16:53:33 9359

转载 SSL协议握手过程报文解析

仅供学习使用,转载来源http://www.cnblogs.com/piyeyong/archive/2010/07/02/1770208.htmlSSL建立握手连接目的:1.身份的验证,client与server确认对方是它相连接的,而不是第三方冒充的,通过证书实现2.client与server交换session key,用于连接后数据的传输加密和hash校验

2016-10-11 20:26:56 1391

转载 国内一线互联网公司内部面试题库

以下面试题来自于百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐内部题库熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。一、java基础1.接口的意义(百度)规范、扩展、回调2.抽象类的意义(乐视)为其子类提供一个公共的类型 封装子类中得重复内容 定义抽象方法,子类虽然有不同的实现 但是定义是一致的3.内部类的作用(百度,乐视)

2016-10-11 20:06:25 622

转载 Android面试题——5.常见面试官提问Android面试题①

一般的面试流程是笔试完就接着是面试了,面试时技术经理会问你一些你工作中遇到的Android方面的问题,谈谈你所做的项目,和在项目中所扮演的角色。今天我就给大家整理一些,面试中常见的面试官提的一些问题?1.要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的? ①Item布局,层级越少越好,使用hierarchyview工具查看优化。 ②复用convertView 

2016-10-11 19:43:25 287

转载 SSL原理及应用(1)SSL协议体系结构

SSL(Secure Sockets Layer ,安全套接层),是为网络通信提供安全及数据完整性的一种安全协议。由Netscape研发,用以保障在Internet上数据传输的安全,利用数据加密(Encryption)技术,确保数据在网络上的传输过程中不会被截取及窃听。当前几乎所有浏览器都支持SSL,但是支持的版本有所不同。从图8-1中可以看到,IE同时支持SSL 2.0和SSL 3.0两个版

2016-10-11 18:47:55 2412

转载 国内一线互联网公司内部面试题库

以下面试题来自于百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐内部题库熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。一、java基础1.接口的意义(百度)规范、扩展、回调2.抽象类的意义(乐视)为其子类提供一个公共的类型 封装子类中得重复内容 定义抽象方法,子类虽然有不同的实现 但是定义是一致的3.内部类的作用(百度,乐视)内部类可以用多个实

2016-09-29 11:40:01 776

转载 如何打出Android程序调用stack trace

找出程序的调用堆栈 trace 可以知道是谁调用了这个接口,也能快速学习程序的调用流程,非常实用。但需要注意的是,不能在正式代码中使用,只能用于调试,这个非常耗资源也会造成 log 泛滥。下面就介绍如何在 Android Java/C++/C 程序当中打印出程序调用 trace,如果需要在其他环境中使用的话 C++/C 部分需要移植 corkscrew 库。Java非常简单,创建一个 T

2016-09-28 20:57:34 243

转载 JNI中如何打印Call Stack

NDK里面好像没有专门打印Call Stack的函数,正好又要用到这个功能,Google了一翻,可以用stack unwind相关的API实现。关于什么是stack unwind的解释如下:http://www.ibm.com/support/knowledgecenter/SSAE4W_9.0.0/com.ibm.xlcpp111.aix.doc/language_ref

2016-09-28 18:24:13 473

转载 JNI官方规范中文版——如何使用JNI中的global reference和local reference

JNI提供了一些实例和数组类型(jobject、jclass、jstring、jarray等)作为不透明的引用供本地代码使用。本地代码永远不会直接操作引用指向的VM内部的数据内容。要进行这些操作,必须通过使用JNI操作一个不引用来间接操作数据内容。因为只操作引用,你不必担心特定JVM中对象的存储方式等信息。这样的话,你有必要了解一下JNI中的几种不同的引用:1、 JNI支持三种引用:局部引

2016-09-26 19:05:12 695

转载 JNI官方规范中文版——如何访问Java中的字段和方法

现在,你知道了如何通过JNI来访问JVM中的基本类型数据和字符串、数组这样的引用类型数据,下一步就是学习怎么样和JVM中任意对象的字段和方法进行交互。比如从本地代码中调用JAVA中的方法,也就是通常说的来自本地方法中的callbacks(回调)。我们从进行字段访问和方法回调时需要的JNI函数开始讲解。本章的稍后部分我们会讨论怎么样通过一些cache(缓存)技术来优化这些操作。在最后,我们还

2016-09-26 19:04:23 347

转载 Android下打印调试堆栈方法

打印堆栈是调试的常用方法,一般在系统异常时,我们可以将异常情况下的堆栈打印出来,这样十分方便错误查找。实际上还有另外一个非常有用的功能:分析代码的行为。android代码太过庞大复杂了,完全的静态分析经常是无从下手,因此通过打印堆栈的动态分析也十分必要。Android打印堆栈的方法,简单归类一下 1. zygote的堆栈dump实际上这个可以同时dump jav

2016-09-21 15:31:29 264

转载 Android下面打印进程函数调用堆栈(dump backtrace)的方法

1.         为什么要打印函数调用堆栈?打印调用堆栈可以直接把问题发生时的函数调用关系打出来,非常有利于理解函数调用关系。比如函数A可能被B/C/D调用,如果只看代码,B/C/D谁调用A都有可能,如果打印出调用堆栈,直接就把谁调的打出来了。不仅如此,打印函数调用堆栈还有另一个好处。在Android代码里,函数命名很多雷同的,虚函数调用,几个类里的函数名相同等,即使用sour

2016-09-21 15:25:17 604

转载 backtrace 和 backtrace_symbols 打印函数调用关系

backtrace.c点击(此处)折叠或打开#include stdio.h>#include stdlib.h>#include execinfo.h>#define MAX_LEVEL 4void test2(){//    printf("func:%s,line:%d\n",__FUNCTI

2016-09-20 10:54:31 378

转载 Linux下利用backtrace追踪函数调用堆栈以及定位段错误

一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。在glibc头文件"execinfo.h"中声明了三个函数用于获取当前线程的函数调用堆栈。int backtrace(void **buffer,int size)  该函数用于

2016-09-19 18:58:21 218

转载 Android性能优化之过渡绘制(一)

博客有一段时间没有更新了,到了新公司后,一直比较忙,博客也更新地不那么频繁了,倒是利用这个VPS搭建的VPN每天都在用,速度也蛮不错的。最近一直在看Android上和性能相关的部分,也就是所谓的Android性能优化,才发现Android性能这一块,自己懂得还是太少了,所以从上层开始看,也算是一点一点入门吧。这个系列将讲解学习过程中总结的和性能相关的内容。首先将讲解一下GPU过渡绘制,也是

2016-09-19 18:33:51 364

转载 Android性能优化之Systrace工具介绍(一)

本文是Android性能优化工具系列的第一篇,这个系列主要介绍Android性能优化过程中会使用到的一些工具,以及如何用这些工具来发现问题和解决问题。在性能优化方面,Android有不少性能工具供大家来使用,按照我们一贯地 “发现问题-解决问题”的思路来看,发现问题才是最主要的,一上来就想着如何去解决问题,反而会事倍功半。这一篇先来简单介绍一下Systrace这个工具。Systra

2016-09-19 18:32:45 1747

转载 ubuntu 14.10 编译 android 4.4kitkat

由于在windows下开发luncher比较麻烦,决定转到在linux下开发,自己编译源码。以下是安装过程中遇到的问题,需要一一解决:干脆把下面的环境都安装:git gnupg flex bison gperf build-essential zip curl libc6-dev x11proto-core-dev g++-multilib

2016-09-18 10:46:15 514

转载 base operand of '->' has non-pointer type 'JNIEnv {aka _JNIEnv}'和Method 'GetStringUTFChars' could no

Android NDK带的jni例子都是使用C定义JNI接口,但是在项目中,因为Native代码是用C++编写的,所以我就使用C++定义JNI接口,但是初学者总会遇到很多问题:jni中的常见问题:1、base operand of '->' has non-pointer type 'JNIEnv {aka _JNIEnv}'和Method 'GetStringUT

2016-09-14 17:40:39 906

转载 Android源码的编译(4.4.2)

1. 将android源码中下的所有文件,文件夹都加上可执行的权限,因为在编译过程中,你会遇到Permission Denied的错误,这是因为有些可执行文件在运行过程中需要可执行的权限,可是,我怎么知道哪些文件需要什么权限呢,干脆一不做,二不休,我就把android源码目录下的所有文件都加上可执行的权限,那么后续就满血复活啦,只要敲击以下命令即可:      sudo chmod -R

2016-09-14 16:52:42 376

转载 JNI/NDK开发指南(十一)——JNI异常处理

转载请注明出处:http://blog.csdn.net/xyang81/article/details/45770551异常简介异常,显而意见就是程序在运行期间没有按照正常的程序逻辑执行,在执行过程当中出现了某种错误,导致程序崩溃。在Java中异常分为运行时异常(RuntimeException)和编译时异常,在程序中有可能运行期间发生异常的逻辑我们会用try…catch…来处理

2016-09-14 11:48:08 203

转载 NDK 异常检测与抛出

1.定位so库中的异常http://www.csdn.net/article/2014-12-30/2823366-Locate-Android-NDKAndroid2.在代码中捕获异常NDK 是native 编程的开发环境,使用的是C或C++语言,在这个过程中,更多的是使用c与c++的混编,因为在计算机底层,c提供了丰富的函数库,所以即使使用C++,也需要不可避免的进行c

2016-09-14 11:35:11 620

转载 Android.mk解析

1. Android.mk示例LOCAL_PATH := $(call my-dir)             #指定当前目录 include $(CLEAR_VARS)                    #清除一些变量的值,但是LOCAL_PATH除外LOCAL_MODULE_TAGS := optional            #编译选项便是在何种情况下编译 LOCAL_SRC_

2016-09-13 19:13:26 257

转载 解决Ubuntu 安装vim 的Package vim has no installation candidate问题,100%有效

当输入sudo apt-get install vim-gtk时出现了下面问题:nigel@yq-ubuntu:~/worksp$ sudo apt-get install vim-gtkReading package lists... DoneBuilding dependency tree      Reading state information... DonePa

2016-09-13 15:10:16 1011

转载 make版本不符合要求,不能编译android的解决方法

Android can only be built by versions 3.81 and 3.82下载地址ftp://ftp.gnu.org/gnu/make/make3.8.2的安装步骤:tar -zxvf make3.8.2.tar.gz在make-3.8.2目录下./configuremakemake install一般情况

2016-09-13 09:54:47 300

转载 不能安装vm tools ,虚拟机打开了,一直是灰色的

我的虚拟机打开了,vmware tools 也一直是灰色的,网上的那些点击VMware tools安装的方法都用不了了,网上找了n久,折腾了大半天,终于安装成功了。虽然vmware tools 是灰色的,但是虚拟机的下载包里面有linux.iso,这个就是我需要的。我要安装在linux上面,步骤如下:1. 挂载镜像文件,虚拟机->设置->硬件->CD/DVD.右边“连接”下面选择“使用IOS

2016-09-12 20:38:21 14035 3

转载 在 Android 系统中直接调用 SO文件(包含System.loadLibrary加载so的路径解释)

Android虚拟机不能直接调用底层设备,如果要对底层设备进行调用,就需要用到so使用 C语言或C++编写完成,利用NDK进行编译,直接运行在Linux内核中,按jni调用 so时,基本类型可以直接交互。  在 apk里打包进.so文件的方法有两种,一 是在 Android.mk文件里增加“LOCAL_JNI_SHARED_LIBRARIES := libxxx”,这样在编译的时候

2016-09-12 16:01:56 10997 1

转载 Android NDK开发Crash错误定位

转自:http://blog.csdn.net/xyang81/article/details/42319789       在Android开发中,程序Crash分三种情况:未捕获的异常、ANR(Application Not Responding)和闪退(NDK引发错误)。其中未捕获的异常根据logcat打印的堆栈信息很容易定位错误。ANR错误也好查,Android规定,应用与用户进行

2016-09-12 10:00:52 300

空空如也

空空如也

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

TA关注的人

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