java
mchine_swift
这个作者很懒,什么都没留下…
展开
-
单点登录原理与简单实现
一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴别浏览器请求,响应合法请求,忽略非法请求;要鉴别浏览器请求,必须清楚浏览器请求状态。既然http协议无状态,原创 2020-09-17 10:34:15 · 390 阅读 · 0 评论 -
lua脚本基于redis实现分布式锁
为什么需要分布式锁一般我们使用分布式锁有两个场景:效率:使用分布式锁可以避免不同节点重复相同的工作,这些工作会浪费资源。比如用户付了钱之后有可能不同节点会发出多封短信。正确性:加分布式锁同样可以避免破坏正确性的发生,如果两个节点在同一条数据上面操作,比如多个节点机器对同一个订单操作不同的流程有可能会导致该笔订单最后状态出现错误,造成损失。分布式锁的特点如下:互斥性:和我们本地锁一样互斥性是最基本,但是分布式锁需要保证在不同节点的不同线程的互斥。可重入性:同一个节点上的同一个线程如果获取了锁之后那原创 2020-09-16 14:54:25 · 464 阅读 · 0 评论 -
java敏感词过滤
java敏感词过滤敏感词:“美元”,“中国”,“北京大学”,“北大”,“南京大学”DFAUtilsimport java.util.HashMap;import java.util.LinkedList;import java.util.Map;public class DFAUtils { /** * 添加敏感词到算法树 */ public static void addSensitiveWord(String sensitiveWord) {原创 2020-09-16 14:23:50 · 355 阅读 · 0 评论 -
日志组件slf4j介绍及配置详解
1 基本介绍每一个Java程序员都知道日志对于任何一个Java应用程序尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各种不同的日志库,如java.util.logging、Apache log4j、logback。但如果你还不知道SLF4J(Simple logging facade for Java)的话,那么是时候在你的项目中学习使用SLF4J了。SLF4J不同于其他日志转载 2017-10-19 16:46:55 · 1932 阅读 · 0 评论 -
Java之HashMap在多线程情况下导致死循环的问题
PS:不得不说Java编程思想这本书是真心强大.. 学习内容:1.HashMap在多线程的情况下出现的死循环现象 当初学Java的时候只是知道HashMap在并发的情况下使用的话,会出现线程安全问题,但是一直都没有进行深入的研究,也是最近实验室的徒弟在问起这个问题的原因之后,才开始进行了一个深入的研究. 那么这一章也就仅仅针对这个问题来说一下,转载 2017-10-16 17:34:14 · 410 阅读 · 0 评论 -
Java8:Lambda表达式增强版Comparator和排序
1、概述在这篇教程里,我们将要去了解下即将到来的JDK 8(译注,现在JDK 8已经发布了)中的Lambda表达式——特别是怎样使用它来编写Comparator和对集合(Collection)进行排序。这篇文章是Baeldung上的“Java ——回归基础”(“Java – Back to Basic”)系列的一部分。首先,让我们先定义一个简单的实体类:1234567891011121314151...转载 2018-03-22 09:26:10 · 222 阅读 · 0 评论