• 5千字的SpringMVC总结,我觉得你会需要

    思维导图文章已收录到我的Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary概述SpringMVC再熟悉不过的框架了,因为现在最火的SpringBoot的内置MVC框架就是SpringMVC。我写这篇文章的动机是想通过回顾总结一下,重新认识SpringMVC,所谓温故而知新嘛。为了了解SpringMVC,先看一...

    Java 2021年01月23日 1182 0
  • 使用 Flutter 开发简单的 Web 应用

    本文指导读者如何使用 Flutter 运行和部署第一个 Web 应用。-- Jis Joe Mathew(作者)Flutter 在 Android 和 iOS 开发方面走了很长一段路之后,已经迈入了一个新的阶段,即 Web 开发。Google 发布了 Flutter 1.5,同时支持 Web 应用开发。为 Web 开发配置 Flutter为了使用 Web 包,输入命令 flut...

    Java 2021年01月23日 1542 0
  • java.security框架之签名、加密、摘要及证书

    前言和前端进行数据交互时或者和第三方商家对接时,需要对隐私数据进行加密。单向加密,对称加密,非对称加密,其对应的算法也各式各样。java提供了统一的框架来规范(java.security)安全加密这类API。下面将一一介绍加密算法概念及分类秘钥生成摘要算法工具-MessageDigest签名算法工具-Signature常用加密工具类-CipherCertificate-证书的保...

    Java 2021年01月23日 1139 0
  • 基于雪花算法的Java版本的全局ID算法

    GUID是用Java语言实现的全局唯一ID算法,它基于Twitter的雪花算法SnowFlake。不仅可以使用于单机环境,更适用于分布式/集群环境中生成全局唯一的ID。已经在公司内部使用。1. 特点GUID算法具有以下特点:高性能:单节点,100万/秒递增:各节点按时间趋势递增长度短:64位长度的long类型整数,十进制表示时最长19位高可用:各节点独立生成ID可配置:各组成部...

    Java 2021年01月23日 1874 0
  • 详解一条 SQL 的执行流程

    前言天天和数据库打交道,一天能写上几十条 SQL 语句,但你知道我们的系统是如何和数据库交互的吗?MySQL 如何帮我们存储数据、又是如何帮我们管理事务?....是不是感觉真的除了写几个 「select * from dual」外基本脑子一片空白?这篇文章就将带你走进 MySQL 的世界,让你彻底了解系统到底是如何和 MySQL 交互的,MySQL 在接受到我们发送的 SQL ...

    Java 2021年01月23日 1050 0
  • 玩转 Java8 Stream,让你代码更高效紧凑简洁

    文章目录前言一、Stream 特性二、Stream 创建2.1 用集合创建流2.2 用数组创建流2.3 Stream静态方法三、Stream 使用案例3.1 遍历 forEach3.2 过滤 filter3.3 查找 findFirst,findAny3.4 匹配 match3.5 映射 map3.6 截取流 limit3.7 排序 sorted3.8 去重 distinct3...

    Java 2021年01月23日 1235 0
  • cit:让你从github的下载速度提高一万倍的小软件

    序言github上有很多好项目,但是国内用户连github却非常的慢.每次都要用插件或者其他工具来解决. 这次自己做一个小工具,输入github原地址后,就可以自动替换为代理地址,方便大家更快速的下载. 速度太慢可以看下gitee仓库地址:https://gitee.com/solider245/cit github仓库地址:https://github.com/solider...

    Python 2021年01月23日 2065 0
  • Java:Lombok插件用法笔记

    1、Lombok是什么东东?官方介绍Lombok项目是一个Java库,它可以自动嵌入你的编辑器和构建工具中,从而减少你的代码量。永远不要再写另一个getter或equals方法,它带有一个注释的你的类有一个功能全面的生成器,自动化你的日志记录变量等等功能。简单来说就是使用Lombok,通过注解,让你不再需要编写getter、equals等属性方法,减少样板代码的编写、起到提升代...

    Java 2021年01月23日 1385 0
  • 程序OOM,通过log日志定位,不要说自己具备高并发开发经验

    首先说一下,本人在开发中遇到的OOM异常基本也是通过看log日志去定位的(很多OOM异常是因为出现死循环或者查询返回的数据量多大,没有分页等等,通过异常日志我们确实能很快定位,但这不是正确的姿势。),只是碰巧刚好日志打印的异常栈信息就是对应的代码问题。很多博客也说了,定位OOM异常通过分析dump日志,因此深表疑惑,为什么明明看log日志就能解决的非要去分析dump日志,网上也...

    Java 2021年01月23日 1254 0
  • 分布式常见问题分析及解决方案

    1、分布式和集群概念分布式:可以简单理解成将一个独立的系统拆分成很多个子系统,每个子系统可以单独的运行(比如用户登录、订单支付),这个称之为分布式系统。集群:可以简单理解就是对于任何一个系统至少部署了两台服务器上,两台服务器上的应用完全一致。称之为集群。2、一致性Hash问题及解决方案2.1Hash溯源思考:为啥需要使用Hash?我们带着问题踏上寻求之旅,要想知道为啥使用Has...

    Java 2021年01月23日 1581 0
  • Autofac一个优秀的.NET IoC框架

    1 简介Autofac与C#语言的结合非常紧密,并学习它非常的简单,也是.NET领域最为流行的IoC框架之一。2 使用首先,将Autofac的NuGet软件包安装到您的应用程序中。Autofac 然后,我们通过创建ContainerBuilder来注册组件。var builder = new ContainerBuilder(); builder.RegisterType<...

    C# 2021年01月23日 5947 0
  • jdk8流处理toMap异常Duplicate key解决

    背景在开发过程中,我们经常要将list按照规则转为map,而jdk8提供了一个很好的工具:Collections.toMap,使用这个方法时,往往会有一些坑。Collections.toMap示例创建一个pojoimport java.io.Serializable; import lombok.Data; @Data public class Student implem...

    Java 2021年01月23日 1483 0
  • 什么是依赖注入

    1 定义依赖注入(Dependency Injection),简称DI,类之间的依赖关系由容器来负责。简单来讲a依赖b,但a不创建(或销毁)b,仅使用b,b的创建(或销毁)交给容器。2 例子为了把DI讲清楚,我们需要举一个简单例子。例子足够小,希望让你能直观的了解DI而不会陷入真实示例的泥潭。例子:小明要杀怪,那小明拿什么武器杀怪呢?可以用刀、也可以用拳头、斧子等。首先,我们创...

    C# 2021年01月22日 1623 0
  • 基于RBAC的权限访问系统基础

    需要,基于RBAC的权限访问,采用SpringSecurity安全管理框架+SpringBoot+Mybatis数据库持久框架。数据库设计:user用户名:ennabled,accountNonExpired,accountNonLocked,CredentialsNonExpired默认为1role角色表:permission权限表:user_role 用户-角色中间表:ro...

    Java 2021年01月22日 1317 0
  • 接入谷歌Google人机验证:reCaptcha进行安全验证

    我们在开发网站的时候,经常需要各种人机验证,那我们就来学习下,网站如何接入谷歌Google人机验证:reCaptcha进行安全验证,本次使用的是 Google人机验证 3.0版本 Google人机验证V3recaptcha v3为每个请求返回一个没有用户摩擦的分数,评分是基于用户与您的站点的交互,并使您能够为您的站点采取适当的行动。大约0.5是阀值,低于这个阀值,就需要进行一些...

    Java 2021年01月22日 8498 0
  • 微信8.0更新:表情可炸群,新增状态栏,浮窗不再「狗皮膏药」 IOS

    微信8.0更新:表情可炸群,新增状态栏,浮窗不再「狗皮膏药」

    2011 年 1 月 21 日,微信发布了针对 iPhone 用户的 1.0 测试版。2021 年 1 月 21 日,十年后的同一天,微信发布了微信 8.0 for iOS。表情、状态、听歌、浮窗、输入法…… 这是进化后的新功能,一个能让你觉得新奇的微信新版本。懒人目录开屏动画表情状态听歌时的视觉化展示浮窗下拉微信首页红包封面可跳视频号开屏动画微信 7.0 版本大更新上线时,开...

    IOS 2021年01月22日 1654 0
  • Flink与Spring生态完美融合的脚手架工程

    还在为开发Flink流处理应用程序时无法像开发Spring Boot程序那么优雅的分层以及装配Bean而烦恼吗?你可能面临如下苦恼:1. 开发的Flink流处理应用程序,业务逻辑全部写在Flink的操作符中,代码无法复用,无法分层2. 要是有一天它可以像开发Spring Boot程序那样可以优雅的分层,优雅的装配Bean,不需要自己new对象好了3. 可以使用各种Spring生...

    Java 2021年01月22日 2457 0
  • Ocelot一个优秀的.NET API网关框架

    1 什么是Ocelot?Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、Butterfly Tracing集成。2 如何使用Ocelot?首先,创建2个WebApi项目,WebApi01和WebApi02,地址分别https://localhos...

    C# 2021年01月21日 1945 0
  • 消息队列技术调研

    消息队列的协议 AMQP:高级消息队列协议(AMQP,Advanced Message Queuing Protocol),RabbitMQ 和 HornetQ 都实现了该协议。 优势:功能最丰富,能够适用最多的场景。 劣势:其实现上不轻量化。 应用场景:简单的pub/sub模型无法满足要求的场景。 ZeroMQ:这是一种协议,也是一个开源组件,无中心化的broker。 优势:...

    Java 2021年01月21日 1280 0
  • 如何在Spring Boot应用启动之后立刻执行一段逻辑

    1. 前言不知道你有没有接到这种需求,项目启动后立马执行一些逻辑。比如简单的缓存预热,或者上线后的广播之类等等。如果你使用 Spring Boot 框架的话就可以借助其提供的接口CommandLineRunner和 ApplicationRunner来实现。2. CommandLineRunnerorg.springframework.boot.CommandLineRunne...

    Java 2021年01月21日 1188 0
  • JavaScript专业级处理货币类库Currency.js

    简要介绍Currency.js是一款专门处理货币值的开源免费的类库。它与Numeral.js非常相似,但是处理货币值上似乎要更专业。通过较灵活的API解决JavaScript常见的浮点问题,加减乘除的计算都可以做,处理货币的时候,还可以把分值单独提取出来,其格式转换的方法也相对工整。目前它在github拥有1.8k颗星,属于活跃项目。最新版本:2.0.3。Github地址htt...

    Java 2021年01月20日 5042 0
  • Elasticsearch全攻略

    时下不论是在全文搜索领域还是大数据即时处理领域ELK都一枝独秀,而ELK的核心在于Elasticsearch,ELK很秀源于Elasticsearch很棒。很多可能用过ELK但是对其核心Elasticsearch却知之甚少,本文我们就一起来学习Elasticsearch,从基本概念到生产使用一文全搞定。基础概念对于一个Elasticsearch(ES)的新手,首先需要学习一些基...

    Java 2021年01月20日 1617 0
  • PHP能创造成功:旧代码不一定是遗留代码 PHP

    PHP能创造成功:旧代码不一定是遗留代码

    图源:Google过去的一年里,Vimeo开发人员用多种编程语言编写了后端代码——PHP、Go、Ruby、Python、NodeJS、Java、C语言、C++和Rust。2004年,Vimeo开始使用PHP。对于像Vimeo这样的初创公司来说,PHP无疑是一种理想编程语言。PHP的解释器使企业家可以快速开发原型,它附带一个大型标准库,可以省去一些常见任务步骤,如发送电子邮件、访...

    PHP 2021年01月20日 1341 0
  • 文件目录的增删改操作?java如何实时监控?

    前言有时候你可能有个疑问,IDE总是可以检测到外部文件是否发生了变化,比如你在某个类里面加了一些代码,这时候的IDE就会弹出一个框说你做了更改。再或者是某个文件夹下的文件发生了改变,比如新建了一个或者是删除了一个等等。这时候我们的IDE依然可以检测到。这个功能到底是如何实现的呢?这篇文章主要是研究NIO的其中一个类,叫做WatchService。也有一些其他的方式可以轻松地实现...

    Java 2021年01月19日 1156 0
  • Spring Cloud项目OAuth2授权验证终极必杀技

    Spring Cloud项目OAuth2授权验证终极必杀技一、OAuth2兴起背景 OAuth2是一种授权验证获取用户信息的标准,在传统的用户认证体系中,想要获取用户信息必须通过输入用户名和密码,不是很安全。必须记录登录的Session会话状态,十分不利。 (图片) 那么有没有一种标准,无需记录登录Session状态,就能获取用户信息呢?最早的思路是基于Spring Sessi...

    Java 2021年01月18日 2683 0
  • 从session、cookie到token以及JWT

    主要讲token和jwt技术,关于session和cookie文章很多。简单提一下session和cookie现在一般都是session和cookie一起用,一起提。但是他们俩其实不是一定要在一起。首先牢记一点,http协议是无状态的。就是说,一个请求过来,服务器不知道这个请求的用户是不是已经登录过了,不知道他的状态。只能再把这个请求重定向到登陆页面。这样用户就疯了,怎么一直让...

    Java 2021年01月18日 1044 0
  • Java编码技巧之高效代码50例

    1.常量&变量1.1.直接赋值常量值,禁止声明新对象直接赋值常量值,只是创建了一个对象引用,而这个对象引用指向常量值。反例:Long i = new Long(1L); String s = new String("abc");正例:Long i = 1L; String s = "abc";1.2.当成员变量值无需改变时,尽量定义为静态常量在类的每个对象实例中,每个...

    Java 2021年01月18日 1119 0
  • mybatis plus字段名称有下划线读取不到值的问题

    问题环境:springboot + mybatis-plus现在有这么一个实体package com.ct10000.sc.pc.videoauth.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableNa...

    Java 2021年01月18日 1437 0
  • Java最佳实践,提升代码可读性与可靠性

    从命名变量到设计软件架构,开发人员每天都要做出许多决定,而做出正确决定的最好的办法就是经验。虽然并非每个人都具备丰富的软件开发经验,但每个人都可以从他人身上学习。下面是我对 Java 开发总结的一些技巧,希望可以有助你提高 Java 代码的可读性和可靠性。1、编程原则写代码不是够用就好,因为这些代码不仅需要你维护,未来某个时刻还有其他人会加入维护的行列。软件开发的“二八定律”,...

    Java 2021年01月16日 1185 0
  • 线程安全—synchronized 和 ReentrantLock,看完后绝不后悔系列

    前面我们介绍了很多关于多线程的内容,在多线程中有一个很重要的课题需要我们攻克,那就是线程安全问题。线程安全问题指的是在多线程中,各线程之间因为同时操作所产生的数据污染或其他非预期的程序运行结果。线程安全1)非线程安全事例比如 A 和 B 同时给 C 转账的问题,假设 C 原本余额有 100 元,A 给 C 转账 100 元,正在转的途中,此时 B 也给 C 转了 100 元,这...

    Java 2021年01月16日 1023 0