
学习
文章平均质量分 95
日常学习
心的步伐
wx公众号: AaronCoding 欢迎关注呀,用技术让生活变得更加美好!
如果自己失去了斗志,就来这看看,看到自己在那个时候的自己是什么模样,然后对比现在,笑一笑,深呼吸一下,再继续向前,不行就去奔跑一番再回来,会发现自己是一个奋战到死的勇士!
风里雨里,我会等你,虽然你在遥远的地方,我始终相信距离永远不是阻隔我俩的最大敌人!时间是我们跨越山河的动力,加油!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何才能被称为资深工程师
在日常后台开发工作中,我们需要掌握什么才能够被称为资深工程师?原创 2025-02-16 15:51:28 · 1101 阅读 · 0 评论 -
聊一聊支付的通知机制
从WX支付的支付通知看对应的商户接入的设计,约定规范可以帮助规避很多问题,同时可以屏蔽很多不必要的逻辑,从而使得支付网关更符合网关的设计。原创 2024-07-20 15:42:18 · 1329 阅读 · 0 评论 -
浅尝Apache Mesos
分布式的系统内核之Mesos原创 2024-07-07 17:46:28 · 1201 阅读 · 0 评论 -
MySQL之表碎片化
因为删除表数据发现表使用空间未被释放,继而发现有表碎片问题,查找一些资料去了解表碎片的产生以及表碎片的处理,最终让自己学习到了关于InnoDB表碎片相关的知识。原创 2024-06-23 17:44:30 · 3329 阅读 · 0 评论 -
浅尝OpenResty
当一个域名中衍生出多个服务的时候,如果想要保持对外服务始终是一个域名,则需要通过nginx反向代理来实现。nginx + lua module来实现Openresty来实现我这里尝试使用Openresty来实现lua脚本嵌入逻辑实现nginx的请求转发。原创 2023-08-20 13:02:44 · 940 阅读 · 0 评论 -
Golang服务的请求调度
最近在看相关的Go服务的请求调度的时候,发现在gin中默认提供的中间件中,不含有请求调度相关的逻辑中间件,去github查看了一些服务框架,发现在go-zero中,有一个SheddingHandler的中间件来帮助服务请求进行调度,防止在流量徒增的时候,服务出现滚雪球进一步恶化,导致最后服务不可用的现象出现。SheddingHandler中间件存在的意义就是尽量保证服务可用的情况下尽可能多的处理请求,而在流量突增的时候,丢弃部分请求以确保服务可用,防止服务因为流量过大而崩溃。原创 2023-08-13 19:02:56 · 573 阅读 · 0 评论 -
了解一下Celery
Celery1. 简介Celery - 中文名翻译叫芹菜,是一种分布式的任务队列(Distribute Task Queue)Celery is a simple, flexible, and reliable distribute system to process vast amounts of message, while providing operations with the tools required to miantain such a system. --摘自官方文档Cele原创 2021-06-14 22:19:16 · 836 阅读 · 2 评论 -
数据库范式学习
数据库范式学习1. 概念数据库范式主是用来指导数据库设计的,但是在实际的设计过程中不会完全遵循范式要求,可能遵循一部分,也可能违反一部分。数据库的范式只要有三种范式,第一第二第三范式,注意高级的范式是依赖与低级别的,即不满足低级别范式的要求不可走高级别范式的设计。2. 第一范式第一范式最简单,表示属性不可分割,即每一列在数据库表中都不可分割3. 第二范式第二范式,首先需要满足第一范式,即数据库总每一列或行必须唯一的被区分。每个非主属性的完全函数依赖于键码,可通过分解来实现。分解前原创 2020-06-27 14:55:20 · 250 阅读 · 0 评论 -
计算机网络复习
文章目录1. 小案例2. OSI与TCP/IP协议体系3. 数据链路层4. 网络层5. 传输层6. 应用层7. HTTP的格式8. 小结1. 小案例点击一个URL或者从浏览器的输入框输入一个URL,发生的事件(有时候也会问经过哪些协议处理):浏览器分析链接指向页面的URL浏览器向DNS请求解析www.xxx.com的IP地址域名系统DNS解析出这个网址的IP地址为100.100.100...原创 2020-01-06 20:28:46 · 1393 阅读 · 0 评论 -
Integer使用注意点
【强制】所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较对于 Integer var = ? 在-128 至 127 范围内的赋值,Integer 对象是在IntegerCache.cache 产生,会复用已有对象,这个区间内的 Integer 值可以直接使用==进行判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复用已有对象,这是一个大坑,推荐使用 equals...原创 2019-07-09 21:28:46 · 866 阅读 · 0 评论 -
排序算法
文章目录1. 冒泡排序2. 插入排序3. 选择排序4. 堆排序5. 快速排序6. 归并排序7. 桶排序8. 基数排序9. 荷兰国旗问题的排序1. 冒泡排序思路:前一个数和后一个数相互比较,大则向后走,直到数组结束使用最后一个数往前,可以减少循环次数,因为一次冒泡下去,最大数一定位于最后一个时间复杂度: O(n^2) 空间复杂度O(1)public static void bubbl...原创 2019-07-03 22:33:58 · 172 阅读 · 0 评论 -
java基础知识(一)
1.接口和抽象类之间的区别解析:接口是一种特殊形式的抽象类,使用接口完全有可能实现与抽象类相同的操作,但一般而言,抽象类多用于在同类事物中有无法具体描述的的方法的场景,所以当父类和子类之间存在逻辑上的层次结构时,推荐使用抽象类,而接口多用于不同类之间,定义不同类之间的通信规则,所以当希望支持差别较大的两个或者更多对象之间的特定交互行为时,应该使用接口。使用接口能大大降低软件系统的耦合度。重...原创 2019-07-03 22:25:39 · 378 阅读 · 0 评论 -
YAML语法的学习
文章目录1. YAML的简介2. YAML的约束3. YAML支持的数据结构3.1 对象3.2 数组3.3 复合结构3.4 纯量3.5 字符串3.6 引用3.7 函数和正则表达式的转换参考资料1. YAML的简介YAML是用来专门写配置文件的语言,语言是比较简单的,远比JSON格式简便。实质上是一种数据串行化格式,写入.yml结尾的文件的数据会被转换为json格式的字符串。2. YAML的...原创 2019-07-09 21:27:00 · 544 阅读 · 0 评论 -
下一代网络NGN复习
下一代网络复习(2019-6-23)文章目录下一代网络复习(2019-6-23)一、电信业务的历史二、NGN的意义和内容2.1 NGN的定义(必须掌握)2.2 NGN的网络特征2.3 NGN的移动性管理2.4 NGN标准演进2.5 移动核心网的演进(必须要掌握)2.6 通信交互的流程描述2.6.1 MSC2.6.2 MSC的主要特点2.6.3 MSC图2.6.4 SDL图三、智能网技术3.1 基...原创 2019-06-24 17:10:57 · 1584 阅读 · 2 评论 -
电商项目中遇见的代码功能模块
文章目录1. 资源加载2. 时间格式转换问题3. VO的使用3.1 递归查询节点和所有子节点4. 文件上传4.1 上传文件到FTPServer上4.1.1 FTP服务器的文件上传5. 分页6. 支付宝支付模块的接入6.1 支付宝接入的相关配置6.2 支付宝支付模块的接入6.3 支付宝回调的过程6.3.1 natapp6.3.2 具体回调逻辑实现1. 资源加载主要是从.properties等文件...原创 2019-06-20 22:29:48 · 837 阅读 · 0 评论 -
ArrayList源码学习
文章目录1.1 ArrayList简介1.1.1 ArrayList的结构1.1.2 ArrayList的继承结构1.2 类中的属性1.3 类中的构造方法1.4 核心方法1.5 删除方法1.6 Set()方法1.7 indexOf()方法1.8 get()方法1.9 总结1.1 ArrayList简介ArrayList是可以动态增长和缩减的索引序列,是基于数组实现的List类该类封装了一个...原创 2019-06-20 17:28:02 · 190 阅读 · 0 评论 -
IDEA使用Mybatis/Spring/SpringMVC分别小Demo
文章目录1. 使用Mybatis1.1创建Maven项目1.2 在pom.xml中导包1.3 创建数据库编写表1.4 编写实体类1.5 创建及配置mybatis-config.xml1.6 创建mapper.xml1.7 测试代码2. 使用Spring2.1 Spring2.2 创建一个小示例2.3 配置Spring容器托管该类的创建2.4 测试代码3. 使用SpringMVC3.1 Sprin...原创 2019-06-19 16:00:59 · 242 阅读 · 0 评论 -
通信网理论基础
通信网文章目录通信网1. 图论1.1 图1.2 树1.2.1 破圈法求生成树1.2.2 避圈法求生成树1.3 图的割集1.3.1 基本割集的求法1.3.2 无向图与有向图矩阵表示1.4 避圈法求最小生成树1.4.1 避圈法-K算法1.4.2 避圈法-P算法1.5 求最短路径问题1.5.1 最短路径- Dijkstra算法1.5.2 最短路径-Floyd算法2. 流量分配2.1 流量优化的一般性问...原创 2019-06-01 15:26:28 · 11240 阅读 · 5 评论 -
(详解)XML与JSON的互相转换
XML与JSON的互相转换文章目录XML与JSON的互相转换1. XML转JSON1.1 代码目的1.2 代码实现2. JSON转XML3. JSON转XML并输出成指定的文件4. 主要的pom.xml配置如下5. 整体代码1. XML转JSON1.1 代码目的实现xml与json的互相转换,先实现xml -> json, 然后实现json -> xml字符串,最后xml字符...原创 2019-05-18 00:17:59 · 20091 阅读 · 6 评论 -
正则表达式学习
正则表达式学习文章目录正则表达式学习1. 软件的使用2. 正则表达式的学习2.1 匹配单个字符2.2 匹配任意字符3. 匹配一组字符3.1 匹配多个字符中的某一个3.2 利用区间来匹配3.3 取非匹配4. 使用元字符4.1 特殊字符转义匹配4.2 空白字符的匹配4.3 匹配特定的字符类别4.3 空白字符与非空白字符的匹配5. 重复匹配5.1 匹配多个字符5.2 匹配零个或一个字符5.3 匹配限定...原创 2019-05-27 14:46:55 · 281 阅读 · 0 评论 -
Spring框架环境的搭建以及创建对象的三种方式
Spring环境的搭建1.首先在Spring官网上下载Spring相关的jar包,然后在Eclipse常见一个Dynamic Web Project,放进lib文件中即可。2.在我们的src下建立一个applicationContext.xml文件作为配置文件3.配置我们的applicationContext.xml文件,这里只导入了beans的schema<?xml ve...原创 2019-02-18 21:40:13 · 217 阅读 · 0 评论 -
文件输入流和输出流
1.A文件到B文件注意:输入流 写入数据 输出流 写出数据这里hello.txt中是含有文件的作为输入流传进text.txt是即将新建的一个文本文件夹,作为输出流文件public static void main(String[] args) { FileOutputStream outputStream = null; FileInputStream inputStr...原创 2019-02-27 19:51:10 · 911 阅读 · 0 评论 -
Mysql中的limit和offset
limit:一般用法为limit X,Y意思为跳过X条数据读取Y条数据(包括X)用法:select * from student limit 4,5;offset:一般用法为limit x offset y,表示从y后面开始读取x条数据(不包括y)用法:select * from student limit 2 offset 6;...原创 2019-02-27 15:07:40 · 1425 阅读 · 0 评论 -
初次见面Spring
三个重要的概念IoC英文名称:Inversion fo Controll,中文名称:控制反转作用:是将之前由程序员主动通过new实例化对象的事情转交给Spring来负责最大的作用:解耦 程序员不需要管理对象,接触了对象管理和程序员之间的耦合控制:指代的是控制类的对象 反转:指代转交给SpringDI英文名称:Dependency Injection 中文名称:依赖...原创 2019-02-22 19:37:41 · 151 阅读 · 0 评论 -
jdk和cglib动态代理设计模式
代理设计模式:1.设计模式:前人总结的一套特定的解决问题的代码2.代理设计模式的优点: 2.1 保护真实对象 2.2 让真实对象的职责更加明确 2.3 扩展功能3. 代理设计模式模型: 3.1 真实对象(老板) 3.2 代理对象(秘书) 3.3 抽象对象(抽象功能)动态代理设计模式1.为了解决动态代理频繁编写代理功能的...原创 2019-02-22 19:09:29 · 147 阅读 · 0 评论 -
Mybatis的特性学习及其运行过程说明
Mybatis是什么?Mybatis是一个免费的开源框架,原名为iBatis,它的主要作用是作为数据访问层的框架,底层是实现了对JDBC的封装优点:使用mybatis时,不需要编写实现类,只需要编写我们要执行的sql命令即可Mybatis环境的搭建1.导入相关的jar包在我们的lib文件下2.在src下新建全局配置文件全局配置文件的内容:<?xml versio...原创 2019-02-17 17:16:42 · 407 阅读 · 0 评论 -
resultMap的作用与相关参数的说明
在我们使用Mybatis的时候,对于sql语句的联合查询有三种方式1.业务装配.对两个表编写单表查询语句,在业务(Service)把查询的两个结果进行关联.2. 使用Auto Mapping特性,在实现两表联合查询时通过别名完成映射.3. 使用 MyBatis 的<resultMap>标签进行实现.写一下对于resultMap学习的知识,对于select标签中关于使用r...原创 2019-02-16 20:50:16 · 2357 阅读 · 0 评论 -
或许行走才是不会去想之前的停滞
学习编程自己在大学的时候学习过,那时候没花什么时间去钻研这门技术,到后来大三的时候要决定考研的时候才明白自己应该真的要走上这一条路了,因为问了很多老师,才知道自己读研一定是避免不了学习编程的,后面也就考上了研究生,此时,研究生已读半年。因为知道自己不可避免要学习编程于是自己的态度就放的端正了,也不再去思考其他的事情了,进入研究生之后,每天就看视频,有时候会看看书,Java核心技术卷,大部分时间...原创 2019-02-14 21:46:49 · 169 阅读 · 0 评论 -
resultMap的使用以及理解
什么时候使用resultMap一般我们在Mybatis中使用查询语句的时候,如果查询到的结果不能使用resultType反应出来的时候,可以采用resultMap标签来解决数据查询不到的困难问题。resultMap标签<resultMap type="" id=""> <id/> <result/> <association pr...原创 2019-02-26 16:46:06 · 11466 阅读 · 3 评论 -
从0开始利用Maven创建一个war项目
开始首先需要下载Maven的安装包,放在一个文件下然后进入window-->Maven-->add-->然后修改settings.xml中的文件内容,一个是本地库的设置,二是将镜像设置成aliyun的,三是设置profiles,设置jdk版本号,一般设置成跟我们电脑中的运行环境一样的就行构建Maven的project,new-->maven project--&...原创 2019-03-04 20:31:41 · 627 阅读 · 0 评论 -
Markdown语法初学
文章目录一 学习markdown语法二 常用标签常用列表常用字体效果链接图片标签引用分割线代码块表格UML渲染图流程图生成目录的话直接使用[TOC]即可一 学习markdown语法二 常用标签常用列表列表1 *列表2 +列表3 -列表嵌套子列表系列表列表2有序列表有序列表1有序列表2常用字体效果粗体用**表示 粗体 或者用前后...原创 2019-04-23 14:59:44 · 241 阅读 · 0 评论 -
人生的第一道编程笔试题
本题以激励自己继续向前,菜到抠脚,好好学习!继续学习算法,继续刷题!!!!!!!!!!!!!!!!!2019-04-09import java.util.Collection;import java.util.Collections;import java.util.HashMap;import java.util.Map;import java.util.Scanner...原创 2019-04-09 22:35:08 · 984 阅读 · 0 评论 -
Spring学习
Spring学习1.IoC容器的实现方法: BeanFactory实现(已经弃用) ApplicationContext实现 ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");2.实现IOC是通过依赖注入来实现的,依赖注入...原创 2019-03-29 10:37:17 · 359 阅读 · 0 评论 -
Mybatis学习
Mybatis的工作原理 读取Mybatis的配置文件:mybatis-config.xml为Mybatis的全局配置文件,配置了MyBatis的运行环境等信息。 加载映射文件,也就是Sql映射文件,该文件中配置了操作数据库的相关的Sql语句,需要在Mybatis配置文件mybatis-config.xml中加载,可以加载多个映射文件,每个文件对应数据库中的一张表 构造会...原创 2019-03-29 10:37:48 · 725 阅读 · 0 评论 -
Spring验证器之Validator接口
Spring验证器数据验证分为客户端验证和服务器验证,客户端验证主要是过滤正常用户的误操作,通过JavaScript代码完成; 服务器验证是整个应用阻止非法数据的最后防线,通过在应用中编程是实现。Validator接口创建自定义的Spring验证器需要实现org.springframework.validation.Validator接口,该接口有两个方法boolean sup...原创 2019-03-30 21:27:55 · 3693 阅读 · 1 评论 -
数组的排序算法
1.冒泡法:对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移动到数组后面(即交换元素的位置)。public class BubbleSort { public static void main(String[] args) { int[] array = new int[] {63,4,24,13,26,87}; for(int i=0; ...原创 2019-03-19 11:45:56 · 894 阅读 · 0 评论 -
网络编程的学习
网络的定位:Ip地址 软件端口 URL地址:统一资源定位符Ip地址:用来标识网络中的一个通信实体的地址。可以是计算机或者或者路由器等。端口:用来区分不同的计算机程序的标志码URL:统一资源定位符,一种定位资源的主要访问机制的字符串,一般包括protocal/host/port/path/parameter/anchor等我们开发的网络程序位于应用层,TCP和UDP属于传输层...原创 2019-03-18 15:12:21 · 147 阅读 · 0 评论 -
《Java高并发秒杀API》知识总结
最近几天看了这个项目《Java高并发秒杀API》,目前除了高并发知识没有涉及到,关于Dao层,service层,Web层,以及前端交互界面都有涉及。整个项目就是平常我们看到的秒杀界面,包含用户登录手机号,查看商品列表,查看商品秒杀状态,以及执行秒杀和秒杀后的结果反馈!下面具体看一看每一层的功能。Dao层Dao层主要是两个接口的设计接口1:秒杀接口的设计减少库存 根据id来查询秒...原创 2019-03-12 09:50:29 · 317 阅读 · 0 评论 -
基础知识1
介绍了关于进入Java学习的基础知识,温故而知新!翻译 2018-12-06 15:16:00 · 166 阅读 · 0 评论