HTTP 请求方法 GET、POST、PUT、DELETE 杂谈

什么是HTTP?HTTP的全称是超文本传输协议,通俗的讲它是一个客户端和服务器端请求和应答的标准,也是互联网上应用最为广泛的一种网络协议。通常,由HTTP客户端发起一个请求(请求报文),建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个响应报文。HTTP的报文结构参考我之前的一篇文章:HTTP报文结构及...
阅读(27) 评论(0)

信息安全的基础:对称加密、非对称加密、摘要算法

加密分为两大类:对称加密、非对称加密,两类加密算法各有优点,在不同的场景使用不同的算法。对称加密加密方将原始数据和加密密钥一起经过特殊加密算法处理后,生成密文结果,解密方使用相同的秘钥及相同加密算法的逆算法对密文结果进行解密,公式如下:加密方:密文结果 = 加密算法(原始数据 + 加密密钥) 解密方:原始数据 = 对应的逆算法(密文结果 + 解密秘钥) 加密密钥 == 解密秘钥该算法具有以下特点...
阅读(76) 评论(0)

支付系统转账过程中并发交易引起的分布式死锁问题

死锁死锁的规范定义:集合中的每一个进程都在等待只能由本集合中的其他进程才能引发的事件,那么该组进程是死锁的。从广义上讲,这里的进程指的是一个执行单元。问题描述假设【账户A】给 【账户B】转账 500 元,在程序中的转账逻辑如下: 1. 开启事务 2. 【账户A】的余额减去 500 元 3. 【账户B】的余额增加 500 元 4. 提交事务在集群环境下,在 server1、server...
阅读(658) 评论(0)

关于内外网隔离的网络访问解决方案

该问题的解决方案比较简单,但是偶有同事还是在问这个问题,因此将该问题的解决方案记录下来,写给那些需要这个方案的小朋友。如有不正之处,欢迎批评指正。问题描述在公司的生产环境中存在DMZ 和 APP 两个网络区域,从外网中可以直接访问 DMZ 区,不可以直接访问 APP 区,如下图所示: 目前在开发的微信小程序部署在微信的服务器上(也就是在外网中),它需要访问 APP 区部署的服务接口。也...
阅读(714) 评论(0)

Java编程:浅析 HashMap 中数组的 size 为什么必须是 2 的整数次幂

直入主题:HashMap 中数组的 size 必须是 2 的幂,是为了将 key 的 hash 值均匀的分布在数组的索引上,下面我们来进行分析。如有不正之处,欢迎批评指正。HashMap 中使用 indexFor 方法来计算 key 所在的数组的索引,实现逻辑为 key 的 hash 值与数组的长度值减 1 进行与运算,代码如下: /** * Returns index for ha...
阅读(851) 评论(0)

go编程:浅析go程序初始化顺序

在一个 go 程序中通常包含:包、常量、变量、init()、main()等元素,如果同时存在多个包,包之间存在依赖关系,每个包中存在多个 init 函数,每个文件中存在多个 init 函数,那么问题来了,他们之间的执行顺序是什么样的?通过本文我们来对它们之间的执行顺序做尽可能详尽的说明。如有不正之处,欢迎批评指正。包的执行顺序 在 main 包中的 go 文件默认总是会被执行 同包下的不同 go 文...
阅读(475) 评论(0)

Maven:浅析依赖(dependency)关系中 scope 的含义

在 Pom4 中,dependency 元素中引入了 scope 元素,这是一个很重要的属性。在Maven 项目中 Jar 包冲突、类型转换异常的很大原因是由于 scope 元素使用不当造成的。 scope 元素的作用:控制 dependency 元素的使用范围。通俗的讲,就是控制 Jar 包在哪些范围被加载和使用。 scope 包含五个值,具体含义如下:compile(编译)含义:compil...
阅读(908) 评论(0)

MySQL:浅析 Impossible WHERE noticed after reading const tables

使用 EXPLAIN 执行计划的时候,在 Extra 中偶尔会看到这样的描述:Impossible WHERE noticed after reading const tables字面上的意思是:读取const tables表之后, 没有发现匹配的行。 通过示例我们重现一下该场景。首先创建两张表,班级表(class),学生表(student)。CREATE TABLE `class` ( `i...
阅读(1079) 评论(0)

MySQL EXPLAIN 一: 输出格式详解

本文详细介绍 MySQL 数据库的 EXPLAIN 语句,旨在帮助 MySQL 开发人员更好的通过 EXPLAIN 语句分析 Sql 语句的执行计划。如有不正之处,欢迎批评指正。为了保证内容的权威性,我选择了翻译 Mysql5.7 官方文档8.8.2 EXPLAIN Output Format 章节的内容。英文地址:https://dev.mysql.com/doc/refman/5.7/en/ex...
阅读(1153) 评论(2)

Activiti5.22:删除工作流引擎自动创建的外键约束

Activiti 工作流引擎自带建库脚本,同时生成了索引、外键等信息。为了降低外键约束对数据库造成的性能影响,我们需要将外键删除,下文描述删除外键的工程。注:在互联网系统设计中尽量保持数据库表的原子性设计。一、查找创建外键的 sql 语句在 Activiti 中databaseSchemaUpdate属性设置建表策略,值为 true 是,如果没有表,自动创建表,否则不自动创建表。在 IntelliJ...
阅读(1925) 评论(0)

Mysql错误:Unable to connect to remote host. Catalog download has failed.

最近由于工作的需要安装了 Mysql5.7.17,之后的每天上午十点都会弹出一个命令行窗口,如下: ===================== Start Initialization ==================== MySQL Installer is running in Community mode. Initializing product requirem...
阅读(2031) 评论(0)

深度学习:Windows7_64位 安装 TensorFlow(CPU版本)及常见问题

本文的目的是记录在 Windows7_64位操作系统上安装 TansorFlow 的过程,出现的问题及其相应的解决方法。如有不正之处,欢迎批评指正。TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。Ten...
阅读(1881) 评论(0)

Java编程:Integer的取值范围(-2^31~2^31-1)分析

在 Java 中 Integer 的最小值、最大值定义如下:/** * A constant holding the minimum value an {@code int} can * have, -231. */ @Native public static final int MIN_VALUE = 0x80000000;/** * A constant hol...
阅读(1834) 评论(0)

Java编程:深入理解final关键字

在 java 中 final 关键字的含义为最终的,不可变的意思,final 关键字可以用来修饰类、方法、变量(属性、局部变量、形参)。下文进行详细说明,如有不正之处,欢迎批评指正。修饰类用final修饰的类不能被继承,即不能拥有自己的子类。比如 java.lang.String、sun.misc.Unsafe等都是 final 修饰的类。public final class Animal {...
阅读(2914) 评论(0)

Springboot系列:@SpringBootApplication注解

在使用 Springboot 框架进行开发的时候,通常我们会在 main 函数上添加 @SpringBootApplication 注解,今天为大家解析一下 @SpringBootApplication,如有不正之处,欢迎批评指正。@SpringBootApplication@SpringBootApplication源码如下:@Target({ElementType.TYPE}) @Retenti...
阅读(3774) 评论(0)
177条 共12页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:933535次
    • 积分:10438
    • 等级:
    • 排名:第1697名
    • 原创:124篇
    • 转载:51篇
    • 译文:2篇
    • 评论:61条
    博客专栏
    最新评论