Wesley13 Wesley13
3年前
java 源码编译
Java语言的“编译期”其实是一段“不确定”的操作过程,因为它可能是指一个前端编译器(叫“编译器的前段”更准确)——把\.java文件转变成\.class文件的过程;也可能是虚拟机的后端运行期编译器(JIT)把字节码转变成机器码的过程;还可能是指静态提前编译器(AOT编译器)直接把\.java文件编译成本地机器码的过程。Javac编译器
某站App签名算法解析(一)
一、目标我们来分析某站App的sign签名算法,先搜索一下游戏,抓包结果:二、步骤这个sign依然是32位的字符串都9020年了,这种规模用户的App应该是不会裸奔在java层了,我们就直接一点,在so里面搜索sign可惜没有结果……藏起来的东西一定是重要的东西so层导出函数给java层调用,有两种方法,一种是静态注册,直接会体现在so的导出表
lucien-ma lucien-ma
4年前
什么是线程?什么是进程?
Java多线程基础进程和线程的概念应用程序是静态的概念,进程和线程是动态概念,有创建就有销毁,存在也是暂时的,不是永久性的。进程与线程的区别在于进程在运行时拥有独立的内存空间(每个进程所占有的内存都是独立的)多个线程是共享内存空间的,但是每个线程的执行时相互独立的,同时线程必须依赖于进程才能执行,单独的线程是无法执行的,由进程来控制多个线程的执行。
东方客主 东方客主
4年前
彻底弄懂HTTP缓存机制及原理
Http缓存机制作为web性能优化的重要手段,对于从事Web开发的同学们来说,应该是知识体系库中的一个基础环节,同时对于有志成为前端架构师的同学来说是必备的知识技能。但是对于很多前端同学来说,仅仅只是知道浏览器会对请求的静态文件进行缓存,但是为什么被缓存,缓存是怎样生效的,却并不是很清楚。在此,我会尝试用简单明了的文字,像大家系统的介绍HTTP
Aidan075 Aidan075
4年前
破解X眼电影字体动态加密|凹凸玩数据
我们在上一篇文章中提到了,大众点评只是静态字体加密,这次我们抱着学习的态度以猫眼电影为例讲讲如何破解字体动态加密。没有了解过字体加密的小伙伴可以先看看上一篇,本文与上一篇重复的部分就不细讲了。我们打开猫眼电影票房榜单的首页https://maoyan.com/board/1很明显,猫眼电影的榜单进行了字体加密。让我们回忆一下破解大众点评的步骤:1、下载
Stella981 Stella981
3年前
Javascript中的方法链式调用
Javascript中的方法链式调用前言为链式调用创建一个对象为什么报错?解决方法使用闭包实现链式调用前言方法的链式调用这个概念,其实是在面向对象编程中比较常见的语法,它能让使用者在一个对象上连续的调用不同的方法。在不使用临时变量存储中间结果的情
Stella981 Stella981
3年前
Mac下使用SBT搭建play framework 2.x 项目
由于工作需要,项目中用到play,到官网上大致看了一下文档,在网上搜索了很多资料。总结如下:\\1.下载安装说明\\play官网2.2版本以后都不能手动下载。play官方建议使用sbt构建play项目,并且要求jdk1.8版本。下载解压sbt,设置环境变量。\\2.构建项目\\
Stella981 Stella981
3年前
JavaScript基础知识
题目:1.找出数字数组中最大的元素(使用Math.max函数)2.转化一个数字数组为function数组(每个function都弹出相应的数字)3.给object数组进行排序(排序条件是每个元素对象的属性个数)4.利用JavaScript打印出Fibonacci数(不使用全局变量)5.实现如下语法的功能:vara(5).plus(
Wesley13 Wesley13
3年前
ES6模块化注意点
ES6的模块自动采用严格模式,不管你有没有在模块头部加上"usestrict";。严格模式主要有以下限制。变量必须声明后再使用函数的参数不能有同名属性,否则报错不能使用with语句不能对只读属性赋值,否则报错不能使用前缀0表示八进制数,否则报错不能删除不可删除的属性,否则报错
Wesley13 Wesley13
3年前
Vue 服务端渲染(SSR)
Vue服务端渲染(SSR)什么是服务端渲染,简单理解是将组件或页面通过服务器生成html字符串,再发送到浏览器,最后将静态标记"混合"为客户端上完全交互的应用程序。于传统的SPA(单页应用)相比,服务端渲染能更好的有利于SEO,减少页面首屏加载时间,当然对开发来讲我们就不得不多学一些知识来支持服务端渲染。同时服务端渲染对服