
利用Android设计一个倒计时组件
目录1 背景2 对比分析2.1 是否是倒计时2.2 支持多任务2.3 支持时间校准2.4 支持同帧刷新2.5 支持延迟执行2.6 支持CPU休眠3 需求目标4 设计类结构5 具体实现5.1 收口5.2 支持与RxJava协同5.3 支持时间校准5.4 支持同步刷新5.5 支持延迟执行1 背景我们在项目中经常有倒计时的场景,比如活动倒计时、抢红包倒计时...
2024-01-10
微信小程序开发篇之踩坑记录
最近参与开发了公司的第一款小程序,开发体验基本类似于基于webview的混合式开发,可以调用官方强大的api,但也有一些坑或者说不习惯的地方。这篇文章从实用性出发,记录了开发过程中的一些问题:1. 样式优先级混乱在使用button组件时,发现在class中设置width不生效,下面贴上代码:.my-button{ ...
2024-01-10
JS实现可以用键盘方向键控制的动画
用JS写一个可以用键盘方向键控制的动画:效果如下:好了,代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> body...
2024-01-10
vue-cli3配置favicon.ico和title的流程
一、如果是单页面程序public目录下有个index.html和favicon.icoico的路径二、如果是多页面程序publc目录下放ico图标public下的index页面然后在vue.config.js里的page配置ico的路径补充知识:Vue-cli3的favicon修改不了在vue.config.js中配置下如下代码,重跑下项目就行了 // 以下是pwa配置 pwa: { iconPaths: { fav...
2024-01-10
java application maven项目打自定义zip包实例(推荐)
1.配置pom.xml文件,添加build节点<build> <!-- 输出的包名 --> <finalName>p2p</finalName> <sourceDirectory>src/main/java</sourceDirectory> <resources> <!-- 控制资源文件的拷贝(默认复制到classes目录,最后打进jar包) --> <resource> <directory>src/main/resources</directo...
2024-01-10
Spring集成MyBatis框架
Java在写数据库查询时,我接触过四种方式:1、纯Java代码,引用对应的数据库驱动包,自己写连接与释放逻辑(可以用连接池)这种模式实际上性能是非常不错的,但是使用起来并不是非常方便:一是要手工为Connection做获取与释放,大量的冗余代码也容易出错;另一个是,复杂的SQL用字符串写起来简...
2024-01-10
Eclipse 出现Failed to load JavaHL Library解决方法
Eclipse 出现Failed to load JavaHL Library解决方法 今天打开Eclipse的时候弹窗说Failed to load JavaHL Library。。。很是纳闷,于是上网搜寻如何解决,这里就记录下过程,【现象】启动eclipse时弹出此错误窗口 【问题分析】 进来的看官使用的是win7吧?!是64位的吧!?安装了eclipse的...
2024-01-10
Spring学习笔记3之消息队列(rabbitmq)发送邮件功能
rabbitmq简介:MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于...
2024-01-10
java开发微信公众号支付
最近做了微信公众号支付的开发,由于是第一次做也摸索了几天的时间,也只是达到了实现功能的水平,并没有太多考虑到性能问题,所以这篇文章比较适合初学者。 微信公众号支付的总体其实很简单,大致就分为三步。第一步需要获取用户授权;第二步调用统一下单接口获取预支付id;第三步H5...
2024-01-10
学习Java中的日期和时间处理及Java日历小程序的编写
Java 在 java.util 包中提供了 Date 类,这个类封装了当前的日期和时间。Date 类支持两种构造函数。第一个构造函数初始化对象的当前日期和时间。Date( )下面的构造函数接收一个参数等于自1970年1月1日午夜起已经过的毫秒数Date(long millisec)一旦有一个可用的日期对象,可以调用以下任何一种支持的方...
2024-01-10
浅谈关于Java的GC垃圾回收器的一些基本概念
一、基本回收算法 1. 引用计数(Reference Counting) 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 2. 标记-清除(Mark-Sweep) 此算法执行分两阶段。第一阶段从引用...
2024-01-10
Java策略模式的简单应用实现方法
在使用图像处理软件处理图片后,需要选择一种格式进行保存。然而各种格式在底层实现的算法并不相同,这刚好适合策略模式。编写程序,演示如何使用策略模式与简单工厂模式组合进行开发。思路如下:1.使用interface来定义一个接口,在该接口中定义save()方法;2.根据图片格式定义不同的类,分别...
2024-01-10
实际评测:NetBeans6.0与Eclipse的差距
2007年的Bossie Awards关于IDE工具奖项中,NetBeans夺得桂冠。在新版的NetBeans 6.0中,包含有众多令人耳目一新的特性,同时为动态语言开发增加了强有力的支持。新版NetBeans用户界面日趋友好,并集成了Matisse GUI设计器、应用性能分析器等为开发者提供便利的工具,还具备与Eclipse类似的插件技术和富客...
2024-01-10
Java 5 特性 Instrumentation 实践
Instrumentation 是 Java 5 提供的新特性。使用 Instrumentation,开发者可以构建一个代理,用来监测运行在 JVM 上的程序。监测一般是通过在执行某个类文件之前,对该类文件的字节码进行适当修改进行的。下文将通过一个具体的例子,来展示 java.lang.instrument 包的工作原理,并且实现了一个测量函数运行...
2024-01-10
字节可寻址内存和字可寻址内存之间的差异
内存是计算机中用于存储应用程序的存储组件。内存芯片分为相等的部分, 称为”细胞”。每个单元格由称为”地址”。例如, 存储芯片配置表示为‘64 K x 8’如下图所示。可以从上面显示的存储芯片表示中获得以下信息:1.芯片中的数据空间=64K X 82.单元中的数据空间=8位3.芯片中的地址空间== 16...
2024-01-10
UltraRank 黑客组织的新攻击
译者:知道创宇404实验室翻译组原文链接:https://www.group-ib.com/blog/ultrarank介绍2020年8月,Group-IB发布了报告“UltraRank: the unexpected twist of a JS-sniffer triple threat”。这个报告描述了网络犯罪组织UltraRank的活动,该组织在五年里成功攻击了691家电子商务商店和13家网站服务提供商。2020年11月,我们发现了新...
2024-01-10
WebSphere XXE 漏洞分析(CVE--4643)
作者:Longofo@知道创宇404实验室 & r00t4dm@奇安信A-TEAM时间:2020年9月21日2020年9月17日,IBM发布了一个WebSphere XXE漏洞公告。 当时看到这个消息心想我们挖的那个XXE很可能与这个重了。然后看了下补丁,果不其然,当时心里就很遗憾,本来是打算一起找到一个RCE漏洞在一起提交XXE漏洞的,因为害怕提交了XX...
2024-01-10
Thinkphp5 远程代码执行漏洞事件分析报告
作者:知道创宇404实验室时间:2018年12月19日英文版本:https://paper.seebug.org/979/0x00 背景2018年12月10日,ThinkPHP 官方发布《ThinkPHP 5.* 版本安全更新》,修复了一个远程代码执行漏洞。由于 ThinkPHP 框架对控制器名没有进行足够的检测,导致攻击者可能可以实现远程代码执行。知道创宇404实验室漏洞情报...
2024-01-10
mongodb update + $or 无法准确更新数据
mongodb $update + $or 无法准确更新数据使用语句:db.getCollection('test').update( {$or: [{c1:true, c2: true }] } , {$set: {rs: true }}, {multi:true})需要3行都更新,但是只更新了1行($or被当成了$and)数据如下:/* 1 */{ "c1" : true}/* 2 */{ "c2" : true}/* 3 */{ "c1" : true, ...
2024-01-10
C语言中putchar(1)结果为什么是笑脸?
回答:是ASCII码输出的回答:根据ascii码中对应的数值,1是笑脸。ref:http://www.jimprice.com/ascii-0-127.gif比如:putchar(65)就是大写的A回答:它输出的是数值1代表的那个字符,是根据ASCII码对应的,如果你想输出1,就要putchar('1')...
2024-01-10
