前言
前面我们有说过android反编译的工具,如何进行反编译。反编译后可以得到jar或者得到smali文件。Android采用的是java语言进行开发,但是Android系统有自己的虚拟机Dalvik,代码编译最终不是采用的java的class,而是使用的smali。我们反编译得到的代码,jar的话可能很多地方无法正确的解释出来,如果我们反编译的是smali则可以正确的理解程序的意思。因此,我们有必要熟悉smali语法。
类型的表示
java里面包含两种类型,原始类型和引用类型(包括对象),同时映射到smali也是有这两大类型。
more
原始类型
V void (只能用于返回值类型)
Z boolean
B by继续阅读 »
机器环境
Windows:Win7 64 bit
Java:java version "1.8.0_45";Java HotSpot(TM) 64-Bit Server VM
Solr:5.5
Lucene:5.5
Tomcat:8.0.32
Lucene和Solr下载地址:http://lucene.apache.org/
Windows选择下载zip压缩包,Linux选择下载tgz压缩包
Tomcat下载地址:http://tomcat.apache.org/ ,选择Binary Distributions下的Core中的64-bit Windows zip (pgp, md5, sha1)下载之后文件名称是:apache-继续阅读 »
Java日志框架
作为一个Java程序员,肯定离不开日志框架,现在最优秀的Java日志框架是Log4j2,没有之一。根据官方的测试表明,在多线程环境下,Log4j2的异步日志表现更加优秀。在异步日志中,Log4j2使用独立的线程去执行I/O操作,可以极大地提升应用程序的性能。
在官方的测试中,下图比较了Sync、Async Appenders和Loggers all async三者的性能。其中Loggers all async表现最为出色,而且线程数越多,Loggers all async性能越好。
除了对Log4j2自身的不同模式做对比以外,官方还做了Log4j2/Log4j1/Logback的对比,如下图所示
其继续阅读 »