一.前言 Android 的 App 实际上并不是运行在 Java 虚拟机中,而是运行在 Dalvik 虚拟机中.Dalvik 虚拟机对 Java 虚拟机做了一些额外的优化,让它更适用于移动设备.而 Dalvik 也有自己独特的汇编语言,Dalvik 就是通过这些汇编的指令集,来运行我们编译好的 Apk 程序. 一般这些内容,我们正常开发 App 是接触不到的,但是如果你有反编译的需求,那你就需要花点时间研究一下它.本文不会介绍 Dalvik 的汇编指令集,它本身已经有完备的文档,没什么好说的.…
` 创建一个Hello.java文件使用记事本打开 public class Hello{ public static void main(String [] args){ System.out.println("hello world"); } } ` 在文件所在目录使用cmd命令行工具 javac *.java 编译刚才写的Hello.java 编译完成后产生了一个Hello.class文件,然后使用java Hello运行即可在命令行看到输出的hello world(大前提是配置…
缘起 标题有点夸张,并不是完全放弃antd-table,毕竟在react的生态圈里,对国人来说,比较好用的PC端组件库,也就antd了.即便经历了2018年圣诞彩蛋事件,antd的使用者也不仅不减,反而有所上升. 客观地说,antd是开源的,UI设计得比较美观(甩出其他组件库一条街),而且是蚂蚁金服的体验技术部(一堆p7,p8,p9,基本都是大牛级的)在持续地开发维护,质量可以信任. 不过,antd虽好,但一些组件在某一些场景下,是很不适用的.例如,以表格形式无限滚动地展示大量数据(1w+)时,…
Promise是什么 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上说,Promise 是一个对象,从它可以获取异步操作的消息.Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理. Promise是处理异步编码的一个解决方案,在Promise出现以前,异步代码的编写都是通过回调函数来处理的,回调函数本身没有任何问题,只是当多次异步回调有逻辑关系时就会变得复杂: const fs = require('fs')…
1.webview是什么?作用是什么?和浏览器有什么关系? Webview 是一个基于webkit引擎,可以解析DOM 元素,展示html页面的控件,它和浏览器展示页面的原理是相同的,所以可以把它当做浏览器看待.(chrome浏览器也是基于webkit引擎开发的,Mozilla浏览器是基于Gecko引擎开发的) Android的Webview在低版本和高版本采用了不同的webkit版本内核,4.4后直接使用了Chrome. 2.webview主要用于什么地方?或者说什么需求下会使用到webvie…
在上一篇文章中,我们由一个快速案例剖析了 MyBatis 的整体架构与整体运行流程,在本篇文章中笔者会根据 MyBatis 的运行流程手写一个自定义 MyBatis 简单框架,在实践中加深对 MyBatis 框架运行流程的理解.本文涉及到的项目代码可以在 GitHub 上下载: my-mybatis . 话不多说,现在开始! 1. MyBatis 运行流程回顾 首先通过下面的流程结构图回顾 MyBatis 的运行流程.在 MyBatis 框架中涉及到的几个重要的环节包括配置文件的解析. SqlS…
摘要:从手写线程池开始,逐步的分析这些代码在Java的线程池中是如何实现的. 本文分享自华为云社区<手写线程池,对照学习ThreadPoolExecutor线程池实现原理!>,作者:小傅哥. 谢飞机,小记!,上次吃亏在线程上,这可能一次坑掉两次吗! 谢飞机:你问吧,我准备好了!!! 面试官:嗯,线程池状态是如何设计存储的? 谢飞机:这!下一个,下一个! 面试官:Worker 的实现类,为什么不使用 ReentrantLock 来实现呢,而是自己继承AQS? 谢飞机:我-! 面试官:那你简述下,…
背景: > 一直使用 Newtonsoft.Json.dll 也算挺稳定的. > 但这个框架也挺闹心的: > 1.影响编译失败:https://www.cnblogs.com/zihuxinyu/archive/2013/05/06/3063181.html (我也经常遇到) > 2.WinCE版本(小众用户)太大:Newtonsoft.Json.Compact.dll 352kb > 3.自己写一个微型框架,在通讯方面 要用到Json:一个 100k 的框架,引用一个 40…
在上一篇博客[教你如何使用Java手写一个基于数组的队列]中已经介绍了队列,以及Java语言中对队列的实现,对队列不是很了解的可以我上一篇文章.那么,现在就直接进入主题吧. 这篇博客主要讲解的是如何使用单链表实现一个简单版的队列.单向链表队列是属于非循环队列,同时队列的长度是不受限制的,也就是说添加数据的速度比拉取数据的速度快时,队列的长度是无限增长的.单链队列其本质就是一个链表,只不过是在获取或添加数据的时候跟普通的链表有所区别,队列在获取数据的同时也将该节点删除,并且每次获取数据都是从表头获…
1.什么是springIOC IOC就是把每一个bean(实体类)与bean(实体了)之间的关系交给第三方容器进行管理. 如果我们手写一个最最简单的IOC,最终效果是怎样呢? xml配置: <beans> <bean id="user1" class="com.itmayiedu.entity.UserEntity"> <property name="userId" value="0001">…