4 水木今山

尚未进行身份认证

我要认证

什么都没有

等级
TA的排名 6w+

Java实现多线程断点续传下载工具

http-breakpoint-downloader项目地址:http-breakpoint-downloader一个用 Java 实现的多线程且支持断点续传的HTTP下载工具,以下为核心逻辑的流程图:

2020-03-20 20:47:25

实现一个简易的IoC容器

Simple IoC仿照 Spring 实现的一个简易版的 IoC 容器。项目地址:simple-iocFeatures支持根据指定的路径从文件系统中获取资源支持XSD模式的XML验证支持<property/>标签以及value与ref属性(即字符串与引用类型的属性注入)支持单例与原型Bean,并通过三级缓存解决了单例Bean的循环依赖问题Blog资源加载注册...

2020-03-20 20:44:12

基于Celery的注册接口的性能测试

celery-example项目地址:celery-example该项目包含了关于 Celery 的三个 Demo,其中 notify_friends_exp 和 favorite_book_exp 参考文章 利用 Celery 构建 Web 服务的后台任务调度模块,而 register_module 包含了一个 Web 的注册案例,对比了传统同步的注册与使用Celery任务调度下注册的性能...

2019-04-29 17:45:36

MySQL查询性能优化

文章目录优化数据访问减少请求的数据量减少服务器端扫描的行数重构查询方式切分查询分解关联查询查询执行优化 Limit 分页延迟关联书签参考资料优化数据访问减少请求的数据量只返回必要的行:使用LIMIT语句来限制返回的数据。只返回必要的列:最好不要使用SELECT *语句。缓存重复查询的数据。减少服务器端扫描的行数最有效的方式是使用索引来覆盖查询。重构查询方式切分查询一个大查...

2019-01-26 16:44:51

LeeCode#172: Factorial Trailing Zeroes

DescriptionGiven an integer n, return the number of trailing zeroes in n!.ExampleExample 1:Input: 3Output: 0Explanation: 3! = 6, no trailing zero.Example 2:Input: 5Output: 1Explanation: 5!...

2019-01-24 22:21:48

LeetCode#168: Excel Sheet Column Title

DescriptionGiven a positive integer, return its corresponding column title as appear in an Excel sheet.For example: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA ...

2019-01-24 22:05:15

MySQL索引类型与优化

文章目录索引的优点索引的类型B-Tree索引哈希索引全文索引空间数据索引索引优化独立的列多列索引索引列的顺序前缀索引聚簇索引覆盖索引参考资料索引的优点索引大大减少了服务器需要扫描的数据量索引可以帮助服务器避免排序、分组和临时表(临时表主要是在排序和分组过程中创建,因为不需要排序和分组,也就不需要创建临时表)索引可以将随机I/O变为顺序I/O(B-Tree索引是有序的,会将相邻的数据都存...

2019-01-23 20:44:53

LeetCode#530: Minimum Absolute Difference in BST

DescriptionGiven a binary search tree with non-negative values, find the minimum absolute difference between values of any two nodes.ExampleInput: 1 \ 3 / 2Output:1Explanat...

2019-01-23 11:52:54

MySQL常用数据类型

整型TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT分别使用1,2,3,4,8字节的存储空间。可以使用UNSIGNED属性表示不允许负值以提高正数的上限,但有符号和无符号类型的存储空间和性能依旧一样。MySQL可以为整数类型指定宽度,如INT(11),但它不会限制值的合法范围,只是规定了交互工具显示字符的个数。浮点数FLOAT和DOUBLE为浮点类型(浮...

2019-01-21 21:55:52

行为型:观察者模式及相关应用

文章目录观察者模式(Observer)优缺点应用场景参考资料观察者模式(Observer)定义了对象之间的一对多依赖,让多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,它的所有依赖者(观察者)都会收到通知并更新。优缺点优点:观察者和被观察者之间建立一个抽象的耦合;支持广播通信。缺点:观察者之间有过多的细节依赖、提高时间消耗及程序复杂度。应用场景每个网课有一名老师,而...

2019-01-21 18:26:46

ATR-CKN算法的研究与实现

前言最近在学校做了无线传感器网络(WSN)睡眠调度算法方面的一些研究,本篇文章主要对其中的CKN、EC-CKN算法的学习做个总结,并给出基于这两种算法而改进后的ATR-CKN算法的核心实现以及在Nettopo上的运行结果。CKN与EC-CKN算法K-邻居节点连通算法(CKN)是一个有效的分布式睡眠/工作时序安排算法。该算法可以在有效的减少网络中处于工作状态的节点个数的同时保证整个网络处于连通...

2019-01-20 21:50:37

LeetCode#543: Diameter of Binary Tree

DescriptionGiven a binary tree, you need to compute the length of the diameter of the tree. The diameter of a binary tree is the length of the longest path between any two nodes in a tree. This path ...

2019-01-20 11:40:58

数据库事务、锁与设计原理

文章目录事务ACID特性原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)理解隔离级别未提交读(READ UNCOMMITTED)提交读(READ COMMITTED)可重复读(REPEATABLE READ)可串行化(SERIALIZABLE)总结锁悲观锁共享锁排他锁表锁行锁乐观锁版本号机制CAS算法两种锁的适用场景关系型数据库...

2019-01-19 20:37:33

JVM内存模型

文章目录Java内存模型主内存与工作内存内存间的交互volatile关键字运行时数据区域程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池参考资料Java内存模型由于计算机上的内存模型涉及到物理的主内存、高速缓存和寄存器等。这些不同的计算机不同的操场系统可能会存在差异,Java虚拟机规范中试图定义一种Java内存模型,来屏蔽掉各种硬件和操作系统的内存访问差异,让Java程序在各...

2019-01-13 20:10:52

JVM类加载机制

文章目录类的生命周期类加载过程加载验证准备解析初始化类加载器双亲委派模型具体过程优点自定义类加载器参考资料类的生命周期类加载过程类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也称为动态绑定或晚期绑定)。另外注...

2019-01-13 16:02:36

JVM垃圾收集与内存分配

文章目录运行时数据区域程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池对象存活判断引用计数算法可达性分析算法finalize引用类型垃圾收集算法标记-清除算法复制算法标记-整理算法分代收集算法垃圾收集器Serial收集器ParNew收集器Parallel Scavenge收集器Serial Old收集器Parallel Old收集器CMS收集器G1收集器内存分配策略方法区的回收参考...

2018-12-11 22:23:59

最短路径问题—Dijkstra算法及相关例题

最近在做算法题的时候总是遇到Dijkstra相关的题目,之前虽然学过图论的一些算法,但第一次做这类题时完全不知从何入手。看了一些博客,并且在PAT上折腾了几题后,发现一些常用的模板与套路,因此在这里进行一个总结。关于Dijkstra的理论知识可以参考这篇博客:最短路径问题-Dijkstra算法详解Dijkstra算法Dijkstra算法往往和dfs结合在一起考,因此这里给出一个求解基础Dijk...

2018-12-05 20:21:51

行为型:策略模式及相关应用

文章目录策略模式(Strategy)优缺点应用场景参考资料策略模式(Strategy)定义了算法家族,分别封装起来,让它们之间可以互相替代,此模式让算法的辩护权啊不会影响到使用算法的用户。适用场景:系统有很多类,而他们的区别仅仅在于他们的行为不同。一个系统需要动态地在几种算法中选择一种。优缺点优点:符合开闭原则;避免使用多重条件转移语句;提高算法的保密性和安全性。缺点:客户...

2018-12-01 15:15:16

行为型:模板方法及相关应用

文章目录模板方法(Template Method)优缺点应用场景JDK中的应用Servlet中的应用参考资料模板方法(Template Method)定义了一个算法的骨架,并允许子类为一个或多个步骤提供实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤。适用场景:一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。各子类中公共的行为被提取出来并集中到...

2018-12-01 15:14:02

LeetCode#110: Balanced Binary Tree

DescriptionGiven a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as: a binary tree in which the depth of the two subtrees of every node n...

2018-11-27 11:58:26

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。