4 qq_34721505

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4w+

redis教程

一、redis简介redis官网地址:https://redis.io/1、redis的优势Reids是REmote DIctionary Server远程数据服务的缩写。是一款内存高速缓存数据库。 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的String类型的数据,同时还提供list,set,sorted set,hash等数

2020-08-06 21:24:09

开放API接口安全(2)---HTTP Headers消息头详解

一、关于HTTP消息头HTTP消息头是在客户端请求(Request)或服务器响应(Response)时传递的,位于请求或响应的第一行,HTTP消息体(请求或响应的内容)是其后传输。HTTP消息头以明文的字符串格式传送,是以冒号分隔的键/值对,如:Accept-Charset: utf-8,每一个消息头最后以回车符(CR)和换行符(LF)结尾。HTTP消息头结束后,会用一个空白的字段来标识,这样就会出现两个连续的CR-LF。HTTP消息头支持自定义, 自定义的专用消息头一般会添加'X-'前缀。二、

2020-07-29 15:23:57

开放API接口安全(1)---常用加密算法

一、对称加密在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。美国国家标准局倡导的AES即将作为新标准取代DES。常见的对称加密算法:DES算法,3DES算法,TDEA算法,Blowfish算法,RC

2020-07-29 15:12:49

postgres重命名表名后修改主键自增序列

----删除前先解除 id 对该序列的依赖ALTER TABLE public.biz_device ALTER COLUMN id SET DEFAULT null;DROP SEQUENCE IF EXISTS device_id_seq;SELECT MAX(id) FROM public.biz_device;---- id_max 即 id 目前的最大值,可写为1,可通过 “SELECT MAX(id) FROM tablename” 得到CREATE SEQUENCE biz_dev.

2020-06-28 21:18:06

feign.FeignException: status 404 reading XXXClient#XXMethod(String)

在一次feign调用中,有一个需求,根据订单编号查询订单,接口如下:@FeignClient(name = "order", path = "/")public interface OrderFeignService { @GetMapping(value = "/order/{orderNumber}") BizOrderModel checkBizOrderExist(@PathVariable("orderNumber") String orderNumber);}实现如下:

2020-06-22 12:23:05

java计算字符串的字节长度,以及字符集转换

String sgbk = "aB 1234567"; System.out.println(sgbk.length()); // 10 System.out.println(sgbk.getBytes("GBK").length); // 10 System.out.println(sgbk.getBytes("UTF-8").length); // 10 String sgbk = "中国移动通信 a1"; // 中文之后有个空格 System.out.println(s...

2020-06-02 14:37:40

window环境启动kafka报错:此时不应有../config/log4j.properties

window7下启动kafka报错如下:背景:1、在官网下载kafka_2.10-0.10.2.0.tgz;2、将第一步的压缩包解压到D:\Program Files (x86)目录下;3、启动zookeeper;4、进入到D:\Program Files (x86)\kafka_2.10-0.10.2.0\kafka_2.10-0.10.2.0目录,执行.\bin\win...

2020-04-24 22:34:20

Enum枚举类的优雅用法

一、声明一个通用接口/** * 枚举类通用接口 * @author Administrator * * @param <T> */public interface CommonEnum<T> { Object getCode();}二、声明枚举类public enum EMessageCode implements CommonEnum...

2020-02-06 10:58:17

常用并发数据结构:CopyOnWriteArrayList,CopyOnWriteArraySet,ConcurrentHashMap

并发数据结构:添加或删除阻塞式集合:当集合为空或满时,等待; 非阻塞式集合:当集合为空或满时,不等待,返回null或抛出异常!ListArrayList:线程不安全; Vector:线程安全,适合写多读少,效率低(几乎所有的读写操作都加了synchronized); Collections.synchronizedList(...):线程安全,使用synchronized,效率低;...

2020-01-21 11:11:06

FTPClient踩过的坑

一、ftpClient.enterLocalPassiveMode() public static final int PASSIVE_LOCAL_DATA_CONNECTION_MODE = 2;官网关于该常量的说明:A constant indicating the FTP session is expecting all transfers to occur between...

2019-11-06 16:28:50

postgres之窗口函数

本博客内容来自于官方文档:http://www.postgres.cn/docs/10/functions-window.html#FUNCTIONS-WINDOW-TABLE一、窗口函数介绍一个窗口函数在一系列与当前行有某种关联的表行上执行一种计算。这与一个聚集函数所完成的计算有可比之处。但是窗口函数并不会使多行被聚集成一个单独的输出行,这与通常的非窗口聚集函数不同。取而代之,行保留它们...

2019-09-30 10:14:34

PostGres常用的日期和时间函数

详细使用请参考官方文档:http://www.postgres.cn/docs/10/functions-datetime.html一、需求有一张工单表biz_ticket,建表SQL如下:CREATE TABLE "public"."biz_ticket" ("id" int4 DEFAULT nextval('"public".biz_ticket_id_seq'::regcl...

2019-09-29 10:24:28

postgres使用with计算占比,同比和环比

1、postgres中with用法的官方文档地址http://www.postgres.cn/docs/10/queries-with.html2、有一张表biz_ticket,建表语句如下CREATE TABLE "public"."biz_ticket" ("id" int4 DEFAULT nextval('"crt".biz_ticket_id_seq'::regclass...

2019-09-26 11:15:25

springboot JPA的JPQL中判断查询条件是否为空

springboot的版本号为:2.1.4.RELEASEpostgres版本号为:PostgreSQL 10.5, compiled by Visual C++ build 1800, 64-bit建表SQL如下:CREATE TABLE "crt"."employee" ("id" int8 DEFAULT nextval('"crt".employee_id_seq'::re...

2019-09-20 17:38:40

java加减乘除计算踩过的坑以及BigDecimal的用法

直接上代码:一、普通数值类型的加减乘除:System.out.println(1.1+2.2); // 返回3.3000000000000003System.out.println(2.0-1.1); // 返回:0.8999999999999999System.out.println(2.1234*1.16); // 返回:2.4631440000000002System.out...

2019-08-30 18:27:46

Executor线程池

一、为什么要用线程池?1)、系统启动一个新线程的成本是比较高的,因为它涉及与操作系统交互。在这种情形下,使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存期很短的线程时,更应该考虑使用线程池;使用线程池可以降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。2)、使用线程池可有有效地控制系统中并发线程的数量;当系统中包含大量并发线程时,会导致系统性能剧烈下降,甚至...

2019-08-07 21:47:59

JDK1.8新特性---lambda表达式

一、简介函数式接口(Functional Interfaces):如果一个接口定义个唯一一个抽象方法,那么这个接口就成为函数式接口。同时,引入了一个新的注解:@FunctionalInterface。可以把他它放在一个接口前,表示这个接口是一个函数式接口。这个注解是非必须的,只要接口只包含一个方法的接口,虚拟机会自动判断,不过最好在接口上使用注解 @FunctionalInterface 进行...

2019-07-18 18:18:07

java守护线程

Java分为两种线程:用户线程和守护线程;所谓守护线程是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因 此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。守护线程和用户线程的没啥本质的区别:唯一的不同之处就在于虚拟机的离开:...

2019-04-02 09:50:17

synchronized(this)引发的线程不安全问题

业务场景说明:模拟多个线程同时抢购100张火车票;代码展示:/** * 对synchronized(this)的一些理解: * 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 * 二、然而,当一个线程访问object的一个sy...

2019-03-28 10:56:39

rabbitmq之死信队列的应用

如果此教程对你有帮助,有钱的捧个钱场,没钱的请捧个人场!1、背景说明: 开发环境:sprint boot,rabbitmq,mysql,jdk1.8... 在预生产环境中,消费者消费消息时出现了异常,后台不断写日志,一天时间日志文件超过了30G,导致服务器因磁盘空间不足而宕机! 2、原因分析: 1)rabbitmq的默认配置spring.rabbitmq.l...

2019-03-27 17:37:27

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。