0%

多线程学习

概念

简述如下:

并发:指一个CPU可以异步的处理多个进程
并行:则是一个CPU同时处理多个进程
进程:程序运行的执行过程,是一个程序的实例。每个进程都有自己的虚拟地址空间和控制线程
线程:是进程的一个执行单元,是操作系统调度器(Schduler)分配处理器时间的基础单元。

阅读全文 »

一、什么是JSON Web Token?

JSON Web Token(JWT)是一个开放标准(RFC7519),它定义了一种紧凑且独立的方式,用于在各方之间作为JSON对象安全地传输信息。
此信息可以通过数字签名进行验证和信任。JWT可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。

阅读全文 »

SpringBoot 缓存管理器CacheManager

从3.1开始Spring定义了org.springframework.cache.Cacheorg.springframework.cache.CacheManager接口来统一不同的缓存技术;并支持使用JCache(JSR-107) 注解简化开发.

  • Cache接口为缓存的组件规范定义,包含缓存的各种操作集合;
  • Cache接口下Spring提供了各种xxxCache的实现;如RedisCacheEhCacheCache ,ConcurrentMapCache等;
阅读全文 »

API 接口防刷

顾名思义,想让某个接口某个人在某段时间内只能请求N次。
在项目中比较常见的问题也有,那就是连点按钮导致请求多次,以前在web端有表单重复提交,可以通过token 来解决。
除了上面的方法外,前后端配合的方法。现在全部由后端来控制。

原理

在你请求的时候,服务器通过redis 记录下你请求的次数,如果次数超过限制就不给访问。
在redis 保存的key 是有时效性的,过期就会删除。

阅读全文 »

Design-Pattern 学习笔记

设计模式是什么

百科:是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结

设计模式有什么用

在项目开发中构建一个优秀的系统最困难之处不在于编码(coding),而是在早期做出的设计(design)上的决定。
设计是软件开发生命周期中的关键阶段,好的设计能产生好的产品,而不当的设计则会影响最终产品的质量。
设计模式是拥有多年开发设计经验的人给我们的经验传承,它是作为专家的建议而引入的,它背后的真正威力是其对真实世界的抽象。
如果我们没有足够的经验,我们很难做出好的设计,但是富有经验的开发者和设计者以设计模式的形式将他们的经验传授给我们,拥有了这些经验之后,我们也能做出好的设计来了。
不仅如此,设计模式还提高了我们软件复用的水平,从而提高了生产效率

阅读全文 »

1、油猴的介绍

  • 油猴也叫暴力猴(Violentmonkey)、篡改猴(Tampermonkey),她是一个非常流行的浏览器扩展插件,常用的Google与火狐浏览器都可以使用它。
  • 它有什么用?
    阅读全文 »

乐观锁重试机制代码实现

有乐观锁,那当然也是有悲观锁的

悲观锁和乐观锁的原理和应用场景

悲观锁(Pessimistic Lock)

顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。

阅读全文 »

SpringBoot2.0 与 Quartz 整合

Quartz 干嘛用的?
在开发工作中,可能会遇到一些周期性的操作,比如每30分钟刷新缓存啊,每10分钟执行某操作之类的。
这样就需要用到定时器了,比如会使用 java.util.Timer工具类。
或者在Spring 框架中使用注解@Scheduled,比如 @Scheduled(cron = "0 0/10 * * * ?")
阅读全文 »

一、前言

有时yum用不了,比如没联网,本地也没有镜像。缺好多依赖很烦

二、下载RMP镜像

  • 下载地址:http://mirrors.163.com/centos/7/os/x86_64/Packages/
  • 下载以下镜像:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    cpp-4.8.5-44.el7.x86_64.rpm
    gcc-4.8.5-44.el7.x86_64.rpm
    glibc-2.17-317.el7.x86_64.rpm
    glibc-common-2.17-317.el7.x86_64.rpm
    glibc-devel-2.17-317.el7.x86_64.rpm
    glibc-headers-2.17-317.el7.x86_64.rpm
    glibc-static-2.17-317.el7.x86_64.rpm
    glibc-utils-2.17-317.el7.x86_64.rpm
    kernel-headers-3.10.0-1160.el7.x86_64.rpm
    libmpc-1.0.1-3.el7.x86_64.rpm
    mpfr-3.1.1-4.el7.x86_64.rpm

    放在同一目录
阅读全文 »

Neo4j下载地址

配置环境变量:NEO4J_HOME

把neo4j 安装为服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 安装服务
neo4j install-service

# 卸载服务
neo4j uninstall-service

# 启动
neo4j start

# 停止
neo4j stop

# 重启
neo4j restart

# 查询服务状态
neo4j status

阅读全文 »