《Android插件化开发指南》面世

本书在京东购买地址:https://item.jd.com/31178047689.html 本书Q群:389329264 (一)这是一本什么书 如果只把本书当作纯粹介绍Android插件化技术的书籍,那就大错特错了。 本书在研究Android插件化之余,还详细介绍了Android系统的底层知识,包括Binder和AIDL的原理、四大组件的原理、App的安装和启动流程、Context和ClassLoader的家族史。没有罗列大量的Android系统中的源码,而是以一张张UML图,把这些知识串起
分类: 其他 发布时间: 08-07 23:40 阅读次数: 0

django处理跨域

django处理Ajax跨域访问时使用javascript进行ajax访问的时候,出现如下错误 出错原因:javascript处于安全考虑,不允许跨域访问。下图是对跨域访问的解释: 概念:   这里说的js跨域是指通过js或python在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(Django)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。 跨域,简单来说就是 A 网站的 javascript 代码试图访问 B
分类: 其他 发布时间: 08-07 23:40 阅读次数: 0

多任务的爬虫

1.多线程的方法使用 在python3中,主线程主进程结束,子线程,子进程不会结束 为了能够让主线程回收子线程,可以把子线程设置为守护线程,即该线程不重要,主线程结束,子线程结束. t1 = threading.Thread(targe=func,args=(,)) t1.setDaemon(True) t1.start() #此时线程才会启动 2.队列模块的使用 from queue import Queue q = Queue(maxsize=100) item = {} q.put_n
分类: 其他 发布时间: 08-07 23:40 阅读次数: 0

linux下如何上传和下载文件

一. 安装工具包rz及sz lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议,可以用在windows与linux 系统之间的文件传输,体积小速度快 1 yum install -y lrzsz 二. 上传 输入命令行,会弹出对话框,选择你要上传的文件,选择打开就可以上传到linux主机,上传文件就在当面目录下 rz 可以通过ls来查看 三. 下载 在linux下输入如下命令 sz 文件名 在弹框中选择下载的本地路径,我是放在了桌面上,选择确定 1 sz 文件名 去桌面上
分类: 其他 发布时间: 08-07 23:40 阅读次数: 0

SQL 语句添加约束

主键:Primary Key 唯一:Unique Key 默认:Default Key 检查:Check Key 外键:Foreign Key
分类: 其他 发布时间: 08-07 23:40 阅读次数: 0

java装箱拆箱时都发生了什么?

一、装箱 我们先看装箱,有如下代码: public class Box { public void packing() { Integer i = 1; Float f = 2.0f; Long L = 3L; Boolean b = true; Short s = 5; Double ...
分类: 其他 发布时间: 08-07 23:39 阅读次数: 0

java源码阅读之java.util.Objects

之所以写这篇文章,是因为工作中接触到一个开源项目代码,而这个开源代码使用到了这个类。同时如果不是前面的包名java.util,都很容易看错成java超类java.lang.Object。 java.util.Objects是java1.7新增的一个类。下面这篇文章将基于1.7.0_80版本的类库源码展开。 一、类定义: package java.util; /** * @since 1...
分类: 其他 发布时间: 08-07 23:39 阅读次数: 0

java TWR是怎么优雅我们的代码的?

我们在编写IO代码的时候,有的时候真的是对对java IO那种模板化的代码感到厌倦,而且写出来的代码,很臃肿丑陋。像下面这样的代码: public void readFile(String filePath) { FileInputStream fis = null; InputStreamReader inReader = null; B...
分类: 其他 发布时间: 08-07 23:39 阅读次数: 0

java枚举编译后是什么样子?

在java中,我们经常使用枚举来表示有限值的集合。 像下面的这个枚举类: public enum Level { HIGH, MIDDLE, LOW; } 那么,枚举类编译之后,是个什么样子呢? 在JDK1.8.0_152环境下,我们使用javac编译这个枚举类,得到Level.class字节码文件。 利用javap我们反编译Level.class字节码文...
分类: 其他 发布时间: 08-07 23:39 阅读次数: 0

java源码阅读之java.lang.Enum

之所以要研究这个类,因为它是java中所有枚举的父类,本文基于JDK1.9.0的java源码进行展开。 一、类定义: public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializable { 可以看到Enum是一个虚基类,并且实现了Comp...
分类: 其他 发布时间: 08-07 23:38 阅读次数: 0

Metircs源码阅读计划

今天在研究Kafka时,因为一个java.lang.NoDefClassFoundException的定位,让我发现了一个jar包,metrics-core的jar包。 这个jar包是干什么的呢?忍不住好奇的我,马上就打开浏览器开始查找资料。匆匆看了几眼网上的资料,我突然想想,为什么不自己看源码,从而直接看出这个jar包是干什么得呢? 说干就干,我在网上下载了metrics-core-2.2....
分类: 其他 发布时间: 08-07 23:38 阅读次数: 0

Metrics源码阅读(01)之HealthChecks

HealthChecks类,在com.yammer.metrics包下,这个包下面,有两个类,一个是HealthChecks,一个是Metrics。 HealthChecks从字面意义上来看,是健康检查,也就是体检。既然Metrics被Kafka应用,难道它是用来给Kafka做“体检”的? 带着问题,我们继续看,先看类定义: 一、类定义: /** * A manager class f...
分类: 其他 发布时间: 08-07 23:38 阅读次数: 0

Metrics源码阅读(02)之Metrics

Metrics类,看这个名字,就知道很重要了,都和项目名一致了,出身就高贵。当然得赶紧研究一下: 一、类定义: /** * A set of factory methods for creating centrally registered metric instances. */ public class Metrics { 普通的类定义,普通的class类。注意注释信息,一个Set...
分类: 其他 发布时间: 08-07 23:38 阅读次数: 0

C 语言实现程序计时笔记

有的时候写C代码,想知道代码的执行时间,不知道怎么做。心想要是java就好了,System.currentTimeMillis()或者System.nanoTime(),真的是很方便。经过查阅在C里可以这样做: #include "stdio.h" #include "time.h" int main(int argc, char *argv[]) { clock_t start, fin...
分类: 其他 发布时间: 08-07 23:37 阅读次数: 0

从java反编译学习字节码指令(一)

最近沉迷于java反编译,经常看到iconst_1指令,见得多了,也让我对它感到很好奇,它是不是就是固定代表int 1啊? 做个小测试,从11到0,看看它们分别对应字节码什么? public class Bytecode { public void ByteCode() { int eleven = 11; int ten = 10; ...
分类: 其他 发布时间: 08-07 23:37 阅读次数: 0

从链表的迭代遍历看java lambda表达式效率

随着JDK1.8的发布,lambda和函数式编程终于进入到java世界。在用了一段时间,甚至可以说是在硬往lambda和流API上靠。有一天,在跟着大牛学习java时,一句“lambda拖慢程序”突然让我意识到了什么,于是我做了个测试。现在,静下心来,回顾一下那个测试。 一个很简单的测试,就是一个List的遍历,我们看看这段代码: import java.util.List; import ...
分类: 其他 发布时间: 08-07 23:37 阅读次数: 0

从kafka源码阅读中看出了问题之除零不异常

最近在看kafka源码, 看到一个让我感到很陌生的地方,也引起了我深深地思考。 竟然还有可以除0合法的地方: 在org.apache.kafka.common.metrics.stats.Max类中,看到了构造函数: public Max() { super(Double.NEGATIVE_INFINITY); } 我忍不住F3了一下Double.NEG...
分类: 其他 发布时间: 08-07 23:37 阅读次数: 0

从反编译的角度看abstract class与interface的区别

abstract class与interface傻傻分不清,今天我打算从反编译角度来看看二者的区别。 先写这么一个abstact class 一个空的虚基类。 public abstract class AbstractClass {} 再写这么一个interface 一个空的接口。 public interface Interface {} 在JDK1.8.0_151的环境下,...
分类: 其他 发布时间: 08-07 23:36 阅读次数: 0

从kafka源码阅读中看出了问题之abstract interface

今天在看到kafka的源码类org.apache.kafka.common.network.SslTransportLayer时,看到这个类引用了 javax.net.ssl.SSLSession这个类,点进去看了一下这个类,着实让我吃惊了一把。 public abstract interface javax.net.ssl.SSLSession 见惯了abstract class,还真没...
分类: 其他 发布时间: 08-07 23:36 阅读次数: 0

C语言实现两个数的交换

常常用C写排序算法时,经常写两个数的交换。想来,也把自己知到的这些方式记录一下: (1)宏定义方法: #define SWAP(a, b) {a = a + b; b = a - b; a = a - b;} 使用示例: int a[2] = {5, 1}; SWAP(a[0], a[1]); (2)指针: void swap(int *x, int *y) { int ...
分类: 其他 发布时间: 08-07 23:36 阅读次数: 0