全网最全 Dalvik 指令集解析 !
首先说明 Dalvik 虚拟机的基本约定 。 下表中提到的寄存器对均指相邻两个寄存器。如寄存器对 vAA,指寄存器 vAA,vAA+1 一个大写字母表示 4 位。如 vA 表示前 16 个寄存器之内,vBB 表示前 256 个寄存器之内,vCCCC 表示前 65536 个寄存器…
使用Dockerfile为SpringBoot应用构建Docker镜像
上次写过一篇使用Maven插件为SpringBoot应用构建Docker镜像 ,讲述了通过docker-maven-plugin来构建docker镜像的方式,此种方式需要依赖自建的Registry镜像仓库。本文将讲述另一种方式,使用Dockerfile来构建docker镜像,此…
使用Maven插件为SpringBoot应用构建Docker镜像
本文主要介绍如何使用Maven插件将SpringBoot应用打包为Docker镜像,并上传到私有镜像仓库Docker Registry的过程。Docker命令不熟悉的同学可以先看下这篇开发者必备Docker命令。 resources.resource.include:需要复制的…
Retrofit 2.6.0 ! 更快捷的协程体验 !
近日 Retrofit 更新到了 2.6.0 版本,内置了对 Kotlin Coroutines 的支持,进一步简化了使用 Retrofit 和协程来进行网络请求的过程。其实纵观编程语言的发展历史,从汇编到 C/C++,从 Java,OC 到 Swift,Kotlin,甚至被纳…
开发者必备Docker命令
本文主要讲解Docker环境的安装以及Docker常用命令的使用,掌握这些对Docker环境下应用的部署具有很大帮助。 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows机器上。使用…
IDEA常用设置及推荐插件
本文主要记录IDEA的一些常用设置,IDEA与Eclipse的常用快捷键对比及推荐一些好用的插件。 一个没有getter,setter方法的类通过添加@Getter和@Setter注解拥有了getter,setter方法。 mall项目全套学习教程连载中,关注公众号第一时间获取。
Android 逆向笔记 —— 说说 Dalvik 及其指令集
在进入正题之前,推荐阅读一下之前的两篇文章。第一篇是我的一篇译文 —— 译文找不到了,就放一下原文吧。 上面这篇文章简单比较了 Dalvik 和 Art 。其中的一些细节在我的另一篇文章 说说方舟编译器 中也有所提及,大家可以大致浏览一下。 然后再推荐一篇 Android逆向笔…
Linux防火墙Firewall和Iptables的使用
Linux中有两种防火墙软件,ConterOS7.0以上使用的是firewall,ConterOS7.0以下使用的是iptables,本文将分别介绍两种防火墙软件的使用。 mall项目全套学习教程连载中,关注公众号第一时间获取。
开发者必备Linux命令
开发者必备Linux常用命令,掌握这些命令绝对够了,基于CenterOS7.6。 mall项目全套学习教程连载中,关注公众号第一时间获取。
开发者必备Mysql命令
开发者必备Mysql常用命令,涵盖了数据定义语句、数据操纵语句及数据控制语句,基于Mysql5.7。 mall项目全套学习教程连载中,关注公众号第一时间获取。
Navicat实用功能:数据备份与结构同步
当我们要对数据库做有风险的操作时需要对数据库备份,每次上线项目时,线上与线下数据库结构总会有不一致的情况,本文将讲解如何利用Navicat来方便的解决这两个问题。 原来的mall-test模块中只有商品模块的表,现在我们经过了一段时间的开发,新增了订单模块,同时删除和修改了商品…
mall整合OSS实现文件上传
本文主要讲解mall整合OSS实现文件上传的过程,采用的是服务端签名后前端直传的方式。阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。OSS可用于图片、音视频、日志等海量文件的存储。各种终端设…
mall整合RabbitMQ实现延迟消息
本文主要讲解mall整合RabbitMQ实现延迟消息的过程,以发送延迟消息取消超时订单为例。RabbitMQ是一个被广泛使用的开源消息队列。它是轻量级且易于部署的,它能支持多种消息协议。RabbitMQ可以部署在分布式和联合配置中,以满足高规模、高可用性的需求。 至此,Rabb…
《大型网站系统与Java中间件》读书笔记(上)
这本书前三章都在科普和回顾中间件/分布式的基础,讲得非常通俗易懂。在之前已经我写过基础分布式相关文章,大家可以先去看看: 高吞吐量。某个任务需要一个机器运行10个小时,将该任务用10台机器的分布式跑(将这个任务拆分成10个小任务),可能2个小时就跑完了 其实在没接触过分布式之前…
mall整合Mongodb实现文档操作
本文主要讲解mall整合Mongodb的过程,以实现商品浏览记录在Mongodb中的添加、删除、查询为例。Mongodb是为快速开发互联网Web应用而构建的数据库系统,其数据模型和持久化策略就是为了构建高读/写吞吐量和高自动灾备伸缩性的系统。 mall项目全套学习教程连载中,关…
mall整合Elasticsearch实现商品搜索
本文主要讲解mall整合Elasticsearch的过程,以实现商品信息在Elasticsearch中的导入、查询、修改、删除为例。Elasticsearch 是一个分布式、可扩展、实时的搜索与数据分析引擎。 它能从项目一开始就赋予你的数据以搜索、分析和探索的能力,可用于实现全…
mall整合SpringTask实现定时任务
本文主要讲解mall整合SpringTask的过程,以批量修改超时订单为例。SpringTask是Spring自主研发的轻量级定时任务工具,相比于Quartz更加简单方便,且不需要引入其他依赖即可使用。Cron表达式是一个字符串,包括6~7个时间元素,在SpringTask中可…
mall整合SpringSecurity和JWT实现认证和授权(二)
接上一篇,controller和service层的代码实现及登录授权流程演示。 mall项目全套学习教程连载中,关注公众号第一时间获取。
mall整合SpringSecurity和JWT实现认证和授权(一)
本文主要讲解mall通过整合SpringSecurity和JWT实现后台用户的登录和授权功能,同时改造Swagger-UI的配置使其可以自动记住登录令牌进行发送。 后台程序通过对Authorization头中信息的解码及数字签名校验来获取其中的用户信息,从而实现认证和授权。 J…
mall整合Redis实现缓存功能
本文主要讲解mall整合Redis的过程,以短信验证码的存储验证为例。 mall项目全套学习教程连载中,关注公众号第一时间获取。