`
文章列表

JVM总结

    博客分类:
  • java
1.JVM内存模型 1.本地方法栈(Native)   调用c部分 2.程序计数器  (程序代码行数)  JVM支持多个线程同时运行,每个线程都有自己的程序计数器。倘若当前执行的是 JVM 的方法,则该寄存器中保存当前执行指令的地址;倘若执行的是native 方法,则PC寄存器中为空。 3.栈 stack :每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法出口等信息。栈的大小可以固定也可以动态扩展。当栈调用深度大于JVM所允许的范围,会抛出StackOverflow ...

java多叉树

    博客分类:
  • java
1.建立节点对象 <wiz_code_mirror>           @Getter @Setter @Builder(builderClassName = "NodeBuilder") @NoArgsConstructor @AllArgsConstructor public class Node {    private N
  import java.util.Timer; import java.util.TimerTask; /** * * 于第一种方式相比,优势 1>当启动和去取消任务时可以控制 2>第一次执行任务时可以指定你想要的delay时间 * * 在实现时,Timer类可以调度任务,TimerTask则是通过在run()方法里实现具体任务。 Timer实例可以调度多任务,它是线程安全的。 * 当Timer的构造器被调用时,它创建了一个线程,这个线程可以用来调度任务。 下面是代码: * * @author GT ...
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.1</version> </dependency>

.so兼容32位和64位

    博客分类:
  • jni
安卓的兼容性是一个很令人头疼的问题,这几天又遇到了,还好还是解决了。 我遇到的问题是,我在网上下载了一个功能库,里面带了一个xxx.so动态库,问题它是32位的。但是,早两天拿了一台arm-64位的手机进行测试时,发现它居然崩溃了!泪崩了好久...   起初报错信息是:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xxx.xxx-1/base.apk"],nativeLibraryDirectories=[/data/ ...

获取方法签名

    博客分类:
  • jni
在classes目录下studio对应目录app\build\intermediates\classes 执行:javap -s 全类名   "()" 中的字符表示参数,后面的则代表返回值。例如"()V" 就表示void Func();  "(II)V" 表示 void Func(int, int);   "(Ljava/lang/String;Ljava/lang/String;)V" 字符 Java类型 C类型V      void            voidZ       jboolean ...

jni方法

    博客分类:
  • jni
1、AndroidJNI.AllocObject 分配对象static function AllocObject (clazz : IntPtr) : IntPtrDescription描述Allocates a new Java object without invoking any of the constructors for the object.分配新 Java 对象而不调用该对象的任何构造函数。返回该对象的引用。clazz 参数务必不要引用数组类。2、AndroidJNI.AttachCurrentThread 附加当前线程static function AttachCurrent ...

相关C方法

    博客分类:
  • jni
C调用java jclass TestProvider; jobject mTestProvider; jmethodID showtoast; jmethodID sayHello; JNIEXPORT void JNICALL Java_com_beats_music_musicbeats_NdkTest_setTemp (JNIEnv * env, jobject jobj, jstring jstr){ // 1. C 中映射 类 TestProvider=(*env)->FindClass(env,"com/beats/m ...
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1212/703.html 1、首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a ...

64k限制-dex分包

打包时报64k方法限制解决1.build.gradle:defaultConfig {        multiDexEnabled true  //打包支持    } 2.Application中: @Override    protected void attachBaseContext(Context base) {        super.attachBaseContext(base);        MultiDex.install(this);    }  

picasso

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0731/1639.html http://square.github.io/picasso/ 引入 compile 'com.squareup.picasso:picasso:2.5.2'  图片等比例 Picasso.with(this).load("http://i.imgur.com/DvpvklR.png") .transform(new Transformation() { ...

GreenDao

参考网址:http://greenrobot.org/greendao/documentation/how-to-get-started/github:https://github.com/greenrobot/greenDAO  http://www.tuicool.com/articles/63I3EfB 1.集成greendao:   根目录build.gradlebuildscript {    repositories {        mavenCentral()    }    dependencies {        classpath 'org.greenrobo ...

EventBus

参考网址:http://greenrobot.org/eventbus/引入EventBus:compile 'org.greenrobot:eventbus:3.0.0' 1.快速入门 step1:定义事件public class MessageEvent {    public final String message;    public MessageEvent(String message) {        this.message = message;    }}step2:接收并处理事件 相应生命周期方法中注册和解注册 @Overridepublic void onS ...
之前用Androidstudio1.5 打包都正常 现在用2.0打包各种报错  build.gradle下添加就好了 android{ lintOptions{ checkReleaseBuilds false abortOnError false } }
在Activity  finish后调用cancel方法引起崩溃 解决方案 :cancel前判断activity.isFinish();
Global site tag (gtag.js) - Google Analytics