Wesley13 Wesley13
4年前
java 源码编译
Java语言的“编译期”其实是一段“不确定”的操作过程,因为它可能是指一个前端编译器(叫“编译器的前段”更准确)——把\.java文件转变成\.class文件的过程;也可能是虚拟机的后端运行期编译器(JIT)把字节码转变成机器码的过程;还可能是指静态提前编译器(AOT编译器)直接把\.java文件编译成本地机器码的过程。Javac编译器
Wesley13 Wesley13
4年前
Java多线程并发控制工具CountDownLatch,实现原理及案例
闭锁(CountDownLatch)是Java多线程并发中的一种同步器,它是JDK内置的同步器。通过它可以定义一个倒计数器,当倒计数器的值大于0时,所有调用await方法的线程都会等待。而调用countDown方法则可以让倒计数器的值减一,当倒计数器值为0时所有等待的线程都将继续往下执行。闭锁的主要应用场景是让某个或某些线程在某个运行节点上等待N个条件都
Wesley13 Wesley13
4年前
QQ浏览器赵俊:解读腾讯扶持HTM5游戏政策
手机QQ浏览器高级产品经理赵俊作为平台渠道方的代表,受邀出席了“TFC&LAYABOX大型HTML5金秋新品发布会”,并在发布会上分享了腾讯QQ浏览器对于H5游戏的扶持政策以及如何助力H5游戏。QQ浏览器在H5产业生态中的定位目前手机QQ浏览器是市场占有率和活跃度最高的浏览器,月活跃度2.5亿,腾讯将会逐步开放QQ浏览器的
Wesley13 Wesley13
4年前
7个获取访问者真实IP的方法,速学!!!
通常情况下,网站访问并不是简单地从用户的浏览器直达服务器,中间可能部署有CDN、WAF、高防。例如,采用这样的架构:“用户CDN/WAF/高防源站服务器”。那么,在经过多层代理之后,服务器如何获取发起请求的真实客户端IP呢?一个透明的代理服务器在把用户的HTTP请求转到下一环节的服务器时,会在HTTP的头部中加入一条“XForwarded
Stella981 Stella981
4年前
Redis应用学习——缓存的使用与设计
1\.缓存的收益与成本  1.收益:通过缓存加速读写速度。在内存中读写比硬盘速度快降低数据库服务器的负载。比如业务端的请求的数据大多数都由Redis服务器来处理,大大减轻MySQL服务器的压力  2.成本:数据不一致问题,比如Redis服务器与数据库服务器之间的某些数据可能会发
Stella981 Stella981
4年前
Python装饰器用法实例总结
一、装饰器是什么python的装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。简单的说装饰器就是一个用来返回函数的函数。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离
Wesley13 Wesley13
4年前
05.视频播放器内核切换封装
05.视频播放器内核切换封装目录介绍01.视频播放器内核封装需求02.播放器内核架构图03.如何兼容不同内核播放器04.看一下ijk的内核实现类05.看一下exo的内核实现类06.如何创建不同内核播放器07.看一下工厂类实现代码08.
虚拟主机和云服务器的区别
本文分享自天翼云开发者社区@《》,作者:AE86上山了虚拟主机和云服务器的区别1、云服务器可支持弹性扩展,按需付费,而虚拟主机不支持2、云服务器需要手动配置环境,虚拟主机无须配置环境3、云服务器是独享资源,虚拟主机的资源是共享的4、云服务器可远程桌面进行管
燕青 燕青
2年前
Macos磁盘检测工具:DriveDx Mac「支持M1/M2」
是一款先进的驱动器运行状况诊断和监测工具,它能够保护数据免于驱动器故障和意外关机。它能够启动和控制SSD/HDD的诊断自检,主要目标是快速确定驱动器是否有故障。它还可以分析所有驱动器健康密切相关的指标,如SSD或硬盘驱动器的故障(如SSD磨损/耐久性、坏扇
上海张律师 上海张律师
6个月前
##DevEco Studio##如何让模拟器里有图片?【文件拖入法】
​API9和API12在模拟器上,有一个巨大的区别,那就是API9(开发工具3的版本),他的模拟器里有一个拍照功能(再往前的版本里甚至还有浏览器,可以通过浏览器下载图片),可以通过拍照功能让相册里有图片,从而测试图片相关的功能。在API12的模拟器中,虽然