Maybelence's Blog

记录学习笔记,记录日常生活 未来路还很长 ,且行且珍惜

简单实现一下断点续传

前言我们在上传文件的时候,如果文件内容较小,我们可以直接采用将文件转化为字节流传输到服务端。但是如果遇到大文件,这样的方式是非常折磨用户的,而且万一中途传输中断,又要重新从 0 开始。 所以我们需要采用分片上传/断点续传来优化用户的使用体验。 断点续传断点续传 就是将跳过上一次上传的文件内容,采用 Blob.slice 方法分割文件内容,直接上传剩余的字节数。 监听进度如果要实现断点续传......

吃透 JAVA8 -- Optional 特性全部用法

前言之前整理了一下关于 JAVA8 特性— Stream 的用法,今天我们来介绍一下另一个特性 Optional 。 Optional API 提供了足够的方法方便开发者能够以更安全的方式处理 null 的情况。在 JAVA8 之前一般某个函数应该返回非空对象但是偶尔却可能返回了 null ,而在 JAVA8 中,不推荐你返回 null 而是返回 Optional 。 正文示例在传统的写法中......

还在过滤替换字符来防止 XSS 注入?利用一下浏览器特性!

什么是 XSS 攻击在跨站脚本(XSS)攻击中,攻击者可以在受害者的浏览器中执行恶意脚本。这种攻击通常是通过在网页中插入恶意代码 (JavaScript) 来完成的。攻击者在使用攻击后一般能够: 修改网页内容 将用户重定向到其他网站 访问用户的 Cookie 并利用此信息来冒充用户 访问有关用户系统的关键信息,例如地理位置,网络摄像头,文件系统 将木马功能注入应用程序 如果被攻击的用户在......

[译]垃圾收集器算法--ZGC

原文地址:The Z Garbage Collector algorithm原文作者:Jesús Navarrete译者:maybelence 介绍ZGC 最早作为 JDK11 中的预览特性发布, 去年 9 月 15 号,随着 JDK 15 的正式发布,也带来了 ZGC 的正式版本。 ZGC 是可伸缩的低延迟垃圾收集器,最大 GC 暂停时间为 10 毫秒,能够处理从几兆字节到几 TB 的......

动手实现一个迷宫机器人

很久没有产出,回过头来看看这些日子,好像又没有什么有趣的技术积累。突然想起来之前帮朋友做了个小作业做的一个迷宫机器人。虽然不高级但是还是挺好玩的。下面就给大家分享一下过程。 地图绘制首先定义出地图的宽和高,利用一个二维数组来保存地图的地形。 spawnMarker 用于存储机器人出生点位置。 robots 用于存放迷宫中机器人的当前状态。 controller 用于接收键盘/鼠标事件并传给 ......