6 qq_16055765

尚未进行身份认证

我要认证

你只是看起来很努力

等级
TA的排名 1w+

使用redis做分布式锁

一、为什么需要使用分布式锁呢?       在分布式系统中,或者传统集群部署项目中,在并发需要保证资源安全使用的情况。jvm中的锁没有办法真正保证资源安全的。至于为什么呢?简单理解为jvm锁只能在各自的容器中实现锁机制,在自身的jvm容器之前也就没有办法控制了。二、分布式锁实现需要注意些什么东西呢?       这个是参考的一篇博客,里面说到的比较完善,建议大家看

2020-10-11 15:59:39

springcurity前后端分离,使用动态请求url做鉴权及session共享

前言:首先springcurity集成是不能直接适配前后端分离的, 需要简单的修改。1.前后端分离登录接口需要返回登录成功或失败标识2.无权限时,也需要返回无权限标识,而不是请求重定向3.跨域处理如何集成增加maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifac

2020-08-29 16:35:21

Elastic Search成长之路【三】- 使用es

一、restful接口规则curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'被< >标记的部件: VERB 适当的 HTTP方法或谓词:GET、POST、PUT、HEAD或者DELETE。 PROTOCOL ...

2020-07-06 17:00:41

Elastic Search成长之路【二】- es是什么

一、Elasticsearch是什么?Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。二、Elasticsearch的用途是什么?elasticsearch可在速度上和可拓展上表现出色,而且还...

2020-06-21 16:06:23

Elastic Search成长之路【一】- 学习大纲

一、学习背景随着数据量的大增,数据库的查询性能问题尤为突出。项目中准备使用使用elasticsearch搜索引擎,并且自己也有学习搜索引擎的想法,也就开始己的elsticsearch学习之路。二、学习大纲这里自己列举的学习大纲,大家一起学习一下,有需要补充的,留言补充。一起学习,一起充电万分感谢。...

2020-06-21 15:06:26

轻量项目架构 ljm-simple-base平台(前后端分离)

ljm-simple-base介绍一直想做一套后台管理系统,在此之前也在网上了很多优秀大开源项目却没有发现合适的。曾经为了在工作之余做些私活,在网上找了很过的开源项目,发现有些项目定制性很强,导致需要耗费很大工作量去调整;也有些项目适用性很好的,但是配置量有点大;也有的需要很大的学习成本(这个我的项目采用前后端分离,可能需要一些vue的知识,以后可能会用thymeleaf集成一套)。本人是在公司是做云服务的,公司基本都是使用分布式开发。但是这种系统或云平台,都需要大量的资源支持。并不适合我使用。所以想

2020-06-19 16:24:26

Redis面试相关题目

1、redis支持哪些数据类型呢?redis支持string、list、hash、set、zset(有序)2、什么是redis持久化?持久化有哪几种方式?优缺点是哪些?持久化:定时将redis内存中数据,储存到磁盘中,从而做热备。方式:rdb、aof。rdb:利用fork进程,便利整个hashTable,利用 cope and wirte,将这个db dump保存下来。aof:将redis写操作指令,写到一个类似日志的文件中。优缺点:rdb方式持久化数据秘籍,容易备份,容易容灾恢复,但是备份力度

2020-06-02 23:30:27

主键生成策略-雪花算法

package com.ljm;/**Twitter_SnowflakeSnowFlake的结构如下(每部分用-分开):0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 1位标识,由于long基本类型在Java中是带符号的,最高位是符号位,正数是0,负数是1,所以id一般是正...

2020-03-31 18:39:01

四、声明式的HTTP客户端-Feign【1】(简介和原理)

一、简介Feign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API。在Spring Cloud中,使用Feign非常简单——创建一个接口,并在接口上添加一些注解,代码就完成了。Feign支持多种注解,例如Feign自带的注解或者JAX-RS注解等。Spring Cloud对Feign进行了增强,使Feign支持了Spring...

2020-03-12 23:37:42

关于Spring事务的原理,以及在事务内开启线程,连接池耗尽问题.

Spring 事务原理基于AOP配合ThreadLocal实现.这里强调一下Spring Aop 以及Spring 注解式注入在非Spring容器管理的类中是无效的.因为Spring Aop是在运行时实现字节码增强,字节码增强有多种实现方法,请自行了解,原生AspectJ是编译时织入,但是需要特定的编译器.语法并没有Spring Aop好理解.事务传播行为类型PROPAGATION_RE...

2020-03-01 23:15:25

java 事务总结理解

一、为什么需要事务事务是为了解决数据安全操作提出的,事务控制实际是控制数据的安全访问。二、事务的原则(属性)原子性:事务执行过程中任何失败,都可能导致整个事务全部失败。简而言之,要么都成功,要么都失败。一致性:当事务执行失败时,所有事务影响的数据都应该恢复到事务执行之前。隔离性:当前事务不能对其他事务造成影响。持久性:当事务提交后,数据会持久化,不在受该事务影响。三、java事务的类...

2020-03-01 22:59:48

Mybatis疑问解答记录

最近看了篇mybatis的疑问解答的文章就转载过来,做个笔记。随便大家再共享一下。1、#{}和${}的区别是什么?答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver。#{}是sql的参数占位符,Mybatis会将sql中的#{}替换为?号,在sql执行前会使用P...

2020-01-16 09:59:01

三、服务注册与服务发现【3】(Eureka的工作原理)

在介绍工作原来之前,我们先来了解一下Eureka的核心概念。核心概念服务注册调用示意图,服务提供者和服务的消费者,本质上也是 Eureka Client 角色。整体上可以分为两个主体:Eureka Server 和 Eureka Client。Eureka server注册中心服务端。服务端对外提供三个主要功能:服务注册服务提供者启动时,会通过eureka client向eurek...

2019-11-11 23:00:39

springMVC 谨慎使用成员变量

1.springMVC默认是单例的对于同一个Controller,只会生成一个实例来处理所有的请求,因此bean实例只会实例化一次,并被存放在工厂中,以供其他请求使用。在不定义成员变量的情况下是线程安全的。单例的优点:1)每次请求不需要重新new一个对象。2)垃圾收集和回收时更有效率。Struts2是类级别的,需要原型实现;SpringMVC是方法级的,没有共享属性的情况下,线程安全...

2019-11-10 13:12:17

JPA和Hibernate

jpa和hibernate之间是什么关系呢?JPA:本身是一种规范,它的本质是一种ORM规范(不是ORM框架,因为JPA并未提供ORM实现,只是制定了规范)因为JPA是一种规范,所以,只是提供了一些相关的接口,但是接口并不能直接使用,JPA底层需要某种JPA实现,JPA现在就是Hibernate功能的一个子集JPA和Hibernate之间的关系,可以简单的理解为JPA是标准接口,Hiberna...

2019-11-10 12:52:22

springboot 常用参数校验

一、个人理解springboot 默认集成的参数校验也是javax.validation,其实只是对以前javax.validation、hibernate validation 实现的集成。二、maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artif...

2019-09-30 11:08:11

Shiro SimpleAuthenticationInfo使用细节记录

最近发现 simpleAuthenticationIfo 中的principal疑问。场景是这个样子的//此处使用的是user对象,不是username SimpleAuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo( user, user.getPassword(),...

2019-09-27 10:36:28

http fluent-hc的使用记录

1、http几个超时的定义connectTimeOut:指建立连接的超时时间,比较容易理解connectionRequestTimeOut:指从连接池获取到连接的超时时间,如果是非连接池的话,该参数暂时没有发现有什么用处socketTimeOut:指客户端和服务进行数据交互的时间,是指两者之间如果两个数据包之间的时间大于该时间则认为超时,而不是整个交互的整体时间,比如如果设置1...

2019-09-26 10:05:29

使用UEditor的setContent的时候报错,报错代码如下 Uncaught TypeError: Cannot set property 'innerHTML' of undefined 错

最近在使用百度富文本的时候发现了这个问题:Uncaught TypeError: Cannot set property 'innerHTML' of undefined主要是因为:没有等UEditor创建完成就使用UEditor的setContent函数了,可以通过如下代码解决网上的一些解决方法,再此记录一下方法一:ueditor.addListener("ready", fun...

2019-09-24 15:29:48

使用@ConditionalOnExpression决定是否生效注释,swagger开关(生产禁用)

最近因为使用了swagger集成,当时swagger一般只在dev、sit等环境使用,生产是不建议使用的。因此对swagger进行,是否使用进行配置。然后就有了一些对@ConditionalOnExpression认识的需要 edu: swagger: enable: falsepackage com.edu.web.common.conf;impor...

2019-09-02 09:30:18

查看更多

勋章 我的勋章
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享精英
    分享精英
    成功上传11个资源即可获取