自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(70)
  • 收藏
  • 关注

转载 LeetCode 把二叉搜索树转换为累加树

第538题给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:输入: 二叉搜索树: 5 / \ 2 13输出: 转换为累加树: 18 ...

2019-09-21 22:50:00 193

转载 Spring Cloud Eureka 分布式开发之服务注册中心、负载均衡、声明式服务调用实现...

介绍本示例主要介绍 Spring Cloud 系列中的 Eureka,使你能快速上手负载均衡、声明式服务、服务注册中心等Eureka ServerEureka 是 Netflix 的子模块,它是一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册和发现对于微服务架构而言,是非常重要的。有了服务发现和注册,只需要使用服务的标识符就可以访问到服务,...

2019-09-17 11:36:00 321

转载 mysql事务详解

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如开单,需要添加给订单表增加记录,还需要增加订单的各种相关明细,操作复杂度高,这些操作语句需要构成一个事务。在 MySQL 命令行的默认设置下,事务都是自动提交的,即执行 SQL 语句后就会马上执行 COMMIT 操作。因此要显式地开启一个事务务须使用命令 BEGIN 或 START TRANSACTION,或者执行命令 SET A...

2019-09-11 17:25:00 210

转载 Java并发编程之ThreadLocal解析

本文讨论的是JDK 1.8中的ThreadLocalThreadLocal概念ThreadLocal多线程间并发访问变量的解决方案,为每个线程提供变量的副本,用空间换时间。ThreadLocal在每个线程中对该变量会创建一个副本,即每个线程内部都会有一个该变量,且在线程内部任何地方都可以使用,线程之间互不影响,实现线程隔离,这样一来就不存在线程安全问题,也不会严重影响程序执行性...

2019-09-10 17:48:00 196

转载 redis之mq实现发布订阅模式

示例代码-github概述Redis不仅可作为缓存服务器,还可用作消息队列,本示例演示如何使用redis实现发布/订阅消息队列。在Redis中,发布者没有将消息发送给特定订阅者的程序。相反,发布的消息被描述为通道,而不知道(如果有的话)可能有哪些订阅者。订阅者表示对一个或多个主题感兴趣,只接收感兴趣的消息,而不知道(如果有的话)发布者是什么。发布者和订阅者的这种解耦可以...

2019-09-05 17:03:00 520

转载 Zookeeper之Leader选举过程

Leader在集群中是一个非常重要的角色,负责了整个事务的处理和调度,保证分布式数据一致性的关键所在。既然Leader在ZooKeeper集群中这么重要所以一定要保证集群在任何时候都有且仅有一个Leader存在。概念Zookeeper Server三种角色:Leader,Follower,Observer。Leader是Zookeeper 集群工作机制的核心,主要工作:a.调度...

2019-09-04 15:44:00 151

转载 Spring Boot MyBatis 数据库集群访问实现

Spring Boot MyBatis 数据库集群访问实现本示例主要介绍了Spring Boot程序方式实现数据库集群访问,读库轮询方式实现负载均衡。阅读本示例前,建议你有AOP编程基础、mybatis基本功能会使用、数据库集群基本概念,这样你可以更快的理解和实现它本示例源码MySql主从配置关于配置请参考《MySQL主从复制配置》Spring Boot实现方式读写分离要做的...

2019-08-29 17:01:00 499

转载 分布式配置中心之spring-cloud-config

spring-cloud-config 配置中心实现Spring Cloud Config 用于为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,分为server端和client端。server端为分布式配置中心,是一个独立的微服务应用;client端为分布式系统中的基础设置或微服务应用,通过指定配置中心来管理相关的配置。Spring Cloud Config 构建的配...

2019-08-23 18:15:00 116

转载 Spring Cloud Gateway 服务网关快速上手

Spring Cloud Gateway 服务网关API 主流网关有NGINX、ZUUL、Spring Cloud Gateway、Linkerd等;Spring Cloud Gateway构建于 Spring 5+,基于 Spring Boot 2.x 响应式的、非阻塞式的 API。同时,它支持 websockets,和 Spring 框架紧密集成,用来代替服务网关Zuul,开发体验...

2019-08-19 16:24:00 160

转载 Spring Boot Security Oauth2之客户端模式及密码模式实现

Spring Boot Security Oauth2之客户端模式及密码模式实现示例主要内容1.多认证模式(密码模式、客户端模式)2.token存到redis支持3.资源保护4.密码模式用户及权限存到数据库5.使用说明示例代码-github介绍oauth2 client credentials 客户端模式获取access_token流程客户端模式(Client C...

2019-08-15 15:53:00 1776

转载 Oauth2认证模式之授权码模式实现

Oauth2认证模式之授权码模式(authorization code)本示例实现了Oauth2之授权码模式,授权码模式(authorization code)是功能最完整、流程最严密的授权模式。它的特点就是通过客户端的后台服务器,与"服务提供商"的认证服务器进行互动。阅读本示例之前,你需要先有以下两点基础:需要对spring security有一定的配置使用经验,用户认证这一块...

2019-08-12 16:53:00 2085

转载 spring-boot 学习示例

spring-boot-demo本项目示例基于spring boot 最新版本(2.1.7)实现,Spring Boot、Spring Cloud 学习示例,将持续更新……在基于Spring Boot、Spring Cloud 分布微服务开发过程中,根据实际项目环境,需要选择、集成符合项目需求的各种组件和积累各种解决方案。基于这样的背景下,我开源了本示例项目,方便大家快速上手Spri...

2019-08-10 15:23:00 117

转载 聊聊主流加密算法及该如何设计我们的用户密码

主流加密算法对称加密对称加密指加密和解密使用相同密钥的加密算法,有时又叫传统密码算法而在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加密算法为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信性至关重要。对称加密算法的优点是算法公开、计算...

2019-08-08 14:34:00 977

转载 Spring Boot Security 保护你的程序

Spring Boot Security本示例要内容基于角色的权限访问控制加密、解密基于Spring Boot Security 权限管理框架保护应用程序String Security介绍Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了S...

2019-08-01 16:50:00 112

转载 Spring Boot接口如何设计防篡改、防重放攻击

Spring Boot 防篡改、防重放攻击本示例主要内容请求参数防止篡改攻击基于timestamp方案,防止重放攻击使用swagger接口文档自动生成API接口设计API接口由于需要供第三方服务调用,所以必须暴露到外网,并提供了具体请求地址和请求参数,为了防止被别有用心之人获取到真实请求参数后再次发起请求获取信息,需要采取很多安全机制。需要采用https方式对第三方提...

2019-07-26 16:41:00 4589

转载 Spring Boot 整合 Shiro实现认证及授权管理

Spring Boot Shiro本示例要内容基于RBAC,授权、认证加密、解密统一异常处理redis session支持介绍Apache Shiro 是一个功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理。借助Shiro易于理解的API,您可以快速轻松地保护任何应用程序(从最小的移动应用程序到最大的Web和企业应用程序)。开始使用添加依赖...

2019-07-19 15:42:00 129

转载 Spring Boot Quartz 分布式集群任务调度实现

Spring Boot Quartz主要内容Spring Scheduler 框架Quartz 框架,功能强大,配置灵活Quartz 集群mysql 持久化定时任务脚本(tables_mysql.sql)介绍在工程中时常会遇到一些需求,例如定时刷新一下配置、隔一段时间检查下网络状态并发送邮件等诸如此类的定时任务。定时任务本质就是一个异步的线程,线程可以查询或修改并执行...

2019-06-21 14:52:00 1055

转载 Spring Boot Redis 解析

redis使用示例本示例主要内容使用lettuce操作redisredis字符串存储(RedisStringController.java)redis对象存储(RedisObjectController.java)对象存储自定义序列化(RedisConfig.java)lettuce 连接池配置(application.yml)启用session redis(Sessio...

2019-06-18 17:47:00 75

转载 Spring Boot AOP解析

Spring Boot AOP面向切面编程(AOP)通过提供另一种思考程序结构的方式来补充面向对象编程(OOP)。OOP中模块化的关键单元是类,而在AOP中,模块化单元是方面。AOP(Aspect Oriented Program) 面向切面编程在面向切面编程的思想里面,把功能分为核心业务功能和周边功能。核心业务,比如登陆,增加数据,删除数据都叫核心业务周边功能,比如性能统...

2019-06-10 18:06:00 74

转载 基于ssh框架web示例

基于ssh框架web示例介绍Spring Boot Web 开发非常简单,该示例包括包括目前web开发基本都需要用到的内容- 序列化(json)输出- 过滤器(filters)- 监视器(listener)- 拦截器(interceptor)- 日志(基于lombok)- properties配置- 数据库(mysql)crud- ORM- 单元测试等等内容示例...

2019-06-05 18:15:00 215

转载 Spring Boot 入门

Spring Boot 入门创建项目http://start.spring.io/目录规划- src/main/java 程序开发以及主程序入口- src/main/resources 配置文件- src/test/java 测试程序java代码目录规划Spring Boot 建议的目录规划如下:com +- easy +- helloworld ...

2019-06-04 17:50:00 78

转载 JavaScript正则表达式

JavaScript正则表达式问题地址:这个正则怎么读Github仓:jPublicGitee仓:jPublicApi文档:文档以下介绍正则解析过程 /(\d)(?=(\d\d\d)+(?!\d))/g.exec(100000000)这里要注意下x(?=y)先行断言和x(?!y)正向否定查找两个特殊符号的使用(Negative Lookahead)。x(?=y...

2019-06-01 16:46:00 75

转载 JavaScript空字符串判断

JavaScript空字符串判断本文完整示例代码GIT仓:测试用例完整代码:isNullOrEmptyjPublic GIT仓:jPublic比较常见写法 if (str == 'undefined' || !str || !/[^\s]/.test(str)) { //为空 } else { //不为空 }这种写法缺...

2019-05-13 19:18:00 247

转载 Spring MVC + Velocity实现国际化配置

国际化介绍web开发中,国际化是需要考虑的一个问题,而且这个问题一般是越早敲定越好(不然等到系统大了,翻译是个问题).下面是结合实际项目(Spring MVC+Velocity)对实现国际化的一些总结.github地址Spring国际化I18N:作为"国际化"的简称,其来源是英文单词internationalization的首末字符i和n,18为中间的字符数.Spring做国际化...

2019-04-04 17:11:00 340

转载 Markdown快速入门

什么是MarkdownMarkdown是一种轻量级标记语言,可以使用它向纯文本文档添加格式化元素。Markdown由John Gruber于2004年创建,现在是世界上最流行的标记语言之一。使用Markdown与使用所见即所得编辑器是不同的。在Microsoft Word这样的应用程序中,单击按钮来格式化单词和短语,这些更改将立即可见。Markdown不是这样的。创建Markdow...

2019-04-03 17:12:00 85

转载 Velocity快速入门

Velocity 介绍Velocity是一个基于java的模板引擎。它允许任何人使用简单但功能强大的模板语言引用Java代码中定义的对象。当Velocity用于web开发时,web设计人员可以与Java程序员并行工作,根据模型-视图-控制器(MVC)模型开发web站点,这意味着web页面设计人员可以只专注于创建看起来不错的站点,而程序员可以只专注于编写一流的代码。Velocit...

2019-04-02 16:22:00 146

转载 JavaScript工具库

jPublic交流QQ群:1017567122前言在我们开发项目的时候,无论项目规模大小,在所难免会写一些工具型函数来解决一些问题,随着项目开发和维护的时间越来越长,这些工具型函数会越来越多,同时还会穿插在各个项目的各模块或者文件当中,使得项目变的越来越臃肿,也不方便复用和维护。这时我们就会提取出一个类似的工具库或者基础库作为项目基础依赖,在项目中重复利用起来。为了这样的...

2019-03-25 10:41:00 72

转载 二叉树

二叉树介绍binary search tree,中文翻译为二叉搜索树、二叉查找树或者二叉排序树。简称为BST定义所有非叶子结点至多拥有两个儿子(Left和Right)所有结点存储一个关键字非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树如:搜索元素过程B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中,否则,如果查询关键...

2019-03-15 15:47:00 58

转载 高并发缓存常见问题及解决方案

缓存穿透介绍缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案有很多种方法可以有效地解决缓存穿透问题,最常见的则是:通过布隆过滤器拦截,将所有...

2019-03-14 16:22:00 425

转载 SQL优化总结

SQL查询的逻辑执行顺序SQL 不同于与其他编程语言的最明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只是最后一步生成的表才会返回 给调用者。...

2019-03-08 15:43:00 57

转载 Redis常用数据类型及使用场景

Redis最为常用的数据类型字符串(String)字符串列表(list)字符串集合(set)哈希(hash)有序的字符串集合(sorted set)String(字符串)字符串是最基本的一种Redis值。Redis字符串是二进制安全的,这意味着Redis字符串可以包含任何类型的数据,例如JPEG图像或序列化的Ruby对象。字符串的长度可以是最大512MB。可以用R...

2019-03-05 17:51:00 107

转载 Java高级工程师需要弄明白的20个知识点

一般的程序员或许只需知道一些JAVA的语法结构,能对数据库数据进行CRUD就可以应付了。但要成为JAVA(高级) 工程师,就要对JAVA做比较深入的研究,需要不断学习进步,以下对高级工程师需要突破的知识点做个简要整理。Java高级工程师需要弄明白的20个知识点1、对多线程的了解,尤其是对线程池的理解,对ThreadPoolExecutor构造参数各个作用的理解、了解Fxied Po...

2019-03-03 00:29:00 380

转载 Java线程分析

一、Java线程的生命周期中,存在几种状态。在Thread类里有一个枚举类型State,定义了线程的几种状态public enum State {  NEW,  RUNNABLE,  BLOCKED,  WAITING,  TIMED_WAITING,  TERMINATED;} 二、各状态含义NEW: 线程创建之后,但是还没有启动...

2019-02-28 18:31:00 109

转载 统计SQL Server所有表记录数

SELECT SCHEMA_NAME(t.schema_id) AS [schema] ,t.name AS tableName ,i.rows AS [rowCount]FROM sys.tables AS t , sysindexes AS iWHERE t.object_id = i.id AND i.indid <= 1 AND ...

2018-05-15 10:27:00 299

转载 并查集

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication3{ class Program...

2016-03-25 17:37:00 47

转载 统计不连通子图个数

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication3{ class Program...

2016-03-25 17:06:00 264

转载 图片隐写术

private static Bitmap bitmap = null; /// <summary> /// 图片隐写术 /// </summary> private static void YinXieShu() { bitma...

2016-03-25 09:23:00 186

转载 爬虫

获得榜单的前166部电影的评分总和(http://movie.douban.com/top250)using System;using System.IO;using System.Net;using System.Text;using System.Text.RegularExpressions;namespace ConsoleApplication1...

2016-02-27 11:33:00 64

转载 访客统计

using System;using System.Collections.Generic;using System.IO;using System.Text;using System.Text.RegularExpressions;namespace ConsoleApplication1{ class Program { ...

2016-02-03 15:17:00 130

转载 将base64格式的字符串生成文件

using System;using System.IO;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { string base64 = "/9j/4QAwRXhpZgAAT...

2016-02-03 12:35:00 563

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除