xxkfz xxkfz
2年前
使用Stream流递归实现遍历树形结构
可能平常会遇到一些需求,比如构建菜单,构建树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来,然后通过流式处理,我们一起来看看,代码实现为了实现简单,就模拟查看数据库所有数据到List里面。比如现在有一张菜单表,具体数据如下:下面我们就来模拟这一操作,递归组装树形结构:@Autowi
liam liam
2年前
前端mcok原来可以如此丝滑
前端的痛苦作为前端,最痛苦的是什么时候?每个迭代,需求文档跟设计稿都出来了,静态页面唰唰两天就做完了。可是做前端又不是简单地把后端吐出来的数据放到页面上就完了,还有各种前端处理逻辑啊。后端接口还没出来,我就得边写代码边测前端效果,又没有真实数据。有人建议用Mock工具,可是每个接口都要自己写Mock规则,这得浪费多少时间呀。等到后端好不容易把接口写出
红烧土豆泥 红烧土豆泥
3年前
Java的文件解压-Zip格式
language/作者认为解压缩最安全的方法先创建所有的文件夹之后创建再文件<p原因:未处理好当压缩文件夹下第一个是一个文件夹,考虑到存在有文件可以没有(.)等这些标识符,无法识别出是否是文件夹还是文件,故根据zipEntry.getName后续返回值是否存在后续文件夹即(\\符号)判断是否其是文件夹,进而可以创建出压缩包下所有的
徐小夕 徐小夕
3年前
web性能优化的15条实用技巧
javascript在浏览器中运行的性能,可以认为是开发者所面临的最严重的可用性问题。这个问题因为javascript的阻塞性而变得复杂,事实上,多数浏览器使用单一进程来处理用户界面和js脚本执行,所以同一时刻只能做一件事。js执行过程耗时越久,浏览器等待响应的时间越长。加载和执行1.提高加载性能1.IE8,FF,3.5,Safari4和
Wesley13 Wesley13
3年前
UC手机浏览器js加入收藏夹
概述对于某些网站来说,让用户一键把网页加入收藏夹的设计是非常棒的,它能提醒用户把网页加入收藏夹,从而增加用户的回访率,使网站获得更多的流量。在PC端,只有ie和ff支持用js把网页加入收藏夹的操作,在移动端目前都不支持把网页加入收藏夹,除了uc手机浏览器,因为uc手机浏览器用的U4内核,经过了一些处理。由于U
Stella981 Stella981
3年前
PHP 生成器Generators的入门理解和学习
什么是生成器Generators生成器允许你在foreach代码块中写代码来迭代一组数据而不需要在内存中创建一个数组,那会使你的内存达到上限,或者会占据可观的处理时间。相反,你可以写一个生成器函数,就像一个普通的自定义函数一样,和普通函数只返回一次不同的是,生成器可以根据需要yield多次,以便生成需要迭代的值。一个简单的例子就
Stella981 Stella981
3年前
Mycat 分布式事务的实现
Mycat分布式事务的实现博客分类:java数据库引言:Mycat已经成为了一个强大的开源分布式数据库中间件产品。面对企业应用的海量数据事务处理,是目前最好的开源解决方案。但是如果想让多台机器中的数据保存一致,比较常规的解决方法是引入“协调者”来统一调度所有节点的执行。 本文选自《分布式数据库架构及企业实践——基于Mycat中间件》
Stella981 Stella981
3年前
Spring boot 2.3优雅下线,距离生产还有多远?
前言在生产环境中,随着云原生架构的发展,自动的弹性伸缩、滚动升级、分批发布等云原生能力让用户享受到了资源、成本、稳定性的最优解。但是在应用的缩容、发布等过程中,由于实例下线处理得不够优雅,将会导致短暂的服务不可用,短时间内业务监控会出现大量io异常报错;如果业务没做好事务,那么还会引起数据不一致的问题,那么需要紧急手动订正错误数据;甚至每次发布
Wesley13 Wesley13
3年前
MySQL常见问题
事务四大特性原子性:不可分割的操作单元,事务中所有操作,要么全部成功;要么撤回到执行事务之前的状态一致性:如果在执行事务之前数据库是一致的,那么在执行事务之后数据库也还是一致的;隔离性:事务操作之间彼此独立和透明互不影响。事务独立运行。这通常使用锁来实现。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。
Stella981 Stella981
3年前
Spring Security修炼手册(二)————Security的认证流程
    那么通过第一节的介绍,大家对于Security认证的使用应该具备了一个基本的认识,那么这节主要有三个知识点。1、初步的带大家了解Security中几个过滤器(后面会一点点的加入其它过滤器)。2、表单认证的处理流程。3、如何自定义用户认证逻辑。那么废话不多说,直接进入第一点。   哦!对了,我还要补充一点,有很多小伙伴私信我说,怎么能在用户完成认