自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(279)
  • 资源 (5)
  • 问答 (2)
  • 收藏
  • 关注

原创 BAT脚本批量替换文件名中特殊字符

【代码】BAT脚本批量替换文件名中特殊字符。

2024-03-31 17:10:09 109

原创 Vue基本用法

【代码】Vue基本用法。

2024-03-16 21:16:45 391

原创 JS变量先使用后定义

JavaScript 中的变量提升是指变量可以在声明之前使用。这意味着你可以在代码的任何地方声明变量,而无需担心它在声明之前的代码无法访问它。在JavaScript中,如果你尝试在使用一个变量之前没有定义它,你会遇到一个错误,因为JavaScript 遵循作用域的原则,变量只能在它的作用域内使用。在上面的例子中,虽然变量是在使用之后定义的,但由于变量提升,它在使用之前已经被声明了。是在函数内部定义和使用的,所以它不会影响到函数外部的代码。语句块内部定义和使用的,所以它在块外部是不可见的。

2024-03-14 18:14:51 308

原创 vue 修改props

来触发自定义事件并传递数据。如果要修改Props的值,需要先将其作为本地变量进行存储,然后再使用。这样就能够在子组件中修改Props的值了。方法,最终更新父组件的Prop值。事件,从而将新的值传递给父组件的。在Vue中,我们可以通过。

2024-03-14 16:31:39 454

原创 Java代码实现B树和B+树

实现插入、查找和删除功能时,您需要遵循B树和B+树的规则并考虑它们的特点。具体而言,对于B树,您需要在插入和删除期间维护树的平衡状态,并注意分裂和合并节点的条件。对于B+树,您需要调整链接,以确保所有叶子节点都位于同一级别,同时将中间节点分隔开。key数组用于存储节点中的键,child数组用于存储指向该节点子节点的指针。B+树的节点类类似于B树节点类,但它们只包含键值和其对应的指针,不包含子节点。此外,B+树也需要使用链表来存储叶子节点,并使用叶子节点之间的链接以支持范围查询。

2023-05-12 15:23:07 468 1

原创 Java代码实现SOAP和REST接口工具类

SOAP(Simple Object Access Protocol)和REST(Representational State Transfer)是两种不同的Web服务通信协议,因此它们的接口工具类实现也有一些差异。需要注意的是,这些示例代码只实现了最基本的功能,实际使用时可能需要根据具体情况进行修改和扩展。同时还需要注意安全性和性能等方面的问题,例如SSL证书验证、连接池管理和结果缓存等。

2023-05-12 15:00:43 1108

原创 Java代码实现红黑树

该实现仅包含插入操作,其他基本操作,如删除、查找和遍历等可以通过类似的方式实现。在实际使用中,建议根据实际需要进行优化,例如添加节点数、维护树高度等。

2023-05-12 14:56:09 277

原创 尾行注释转行上注释 正则表达式

尾行注释转行上注释 正则表达式匹配( *)(.+;)( *// *)(.+)替换为$1// $4\n$1$2

2022-05-23 17:27:15 451

原创 ES6新特性

一、默认参数ES5的写法function method(param) { if (null == param) { param = "默认值"; }}ES6的写法function method(param = "默认值") {}二、字符串模板ES5的写法var a = "字符串";var b = "我是";var c = b + a + "!";ES6的写法let a = "字符串";let b = "我是";let c = `${b}${a}!`;三、多行

2022-02-18 10:26:38 114 1

原创 无限重置IDEA试用期的小脚本

1Reset the trial period of IDEA.vbsSet wsshell = CreateObject("WScript.Shell")Set filesys = CreateObject("Scripting.FileSystemObject")USERPROFILE = wsshell.ExpandEnvironmentStrings("%USERPROFILE%")APPDATA = wsshell.ExpandEnvironmentStrings("%AP...

2021-09-07 00:27:16 8239 4

原创 Python3 获取本地IP

# !/usr/bin/python3# coding: utf-8import osimport randomimport sysimport IPyimport certifiimport netifacesimport pycurldef list_ipv4_adapter(): mapping = {} gateways = netifaces.gateways() if netifaces.AF_INET in gateways: ...

2021-06-15 17:50:29 683 1

原创 Python3 使用指定网络适配器访问特定网址

# !/usr/bin/python3# coding: utf-8import pycurldef ping_to_website(website, interface): c = pycurl.Curl() try: c.setopt(pycurl.URL, website) c.setopt(pycurl.CAINFO, certifi.where()) # for https, also supported HTTP c..

2021-06-15 17:02:26 428

原创 Python3 判断IP是否属于某个网段

# !/usr/bin/python3# coding: utf-8import IPydef in_same_segment(ip, mask, addr): # Specifies whether the address is in the network segment if '' == addr.strip(): return True subnet = IPy.IP('%s/%s' % (ip, mask), make_net=True) .

2021-06-15 16:57:21 822

原创 Python3 判断IPv4网络适配器是否在运行

# !/usr/bin/python3# coding: utf-8import osimport sysdef is_adapter_up(ip): if 'win32' == sys.platform: cmd = 'ipconfig |findstr "%s"' # Using `ipconfig -all` to show all, includes not running elif 'linux' == sys.platform: .

2021-06-15 16:43:45 210

原创 Python3 获取当前主机所有IPv4网络适配器

# !/usr/bin/python3# coding: utf-8import netifacesdef list_ipv4_adapter(): mapping = {} gateways = netifaces.gateways() if netifaces.AF_INET in gateways: ipv4gates = gateways[netifaces.AF_INET] for gate in ipv4gates: .

2021-06-15 16:41:20 593

原创 Python3 判断端口是否被占用

# !/usr/bin/python3# coding: utf-8import osimport sysdef access(port): if port < 1024 or 65535 < port: # privileged port # out of range return False if 'win32' == sys.platform: cmd = 'netstat -aon|finds.

2021-06-15 15:55:43 1695

转载 我们为什么要用IoC和AOP

作为一名 Java 开发,对 Spring 框架是再熟悉不过的了。Spring 支持的控制反转(Inversion of Control,缩写为IoC)和面向切面编程(Aspect-oriented programming,缩写为AOP)早已成为我们的开发习惯,仿佛 Java 开发天生就该如此。人总是会忽略习以为常的事物,所有人都熟练使用 IoC 和 AOP,却鲜有人说得清楚到底为什么要用 IoC 和 AOP。技术肯定是为了解决某个问题而诞生,要弄清楚为什么使用 IoC 和 AOP,就得先弄清楚不.

2021-02-23 18:20:27 117

转载 VIM教程 1.7版

================================================================================ 欢 迎 阅 读 《 V I M 教 程 》 —— 版本 1.7 ================================================================================ Vim 是一个具有很多命令的功能非常强...

2021-02-19 11:06:02 308

原创 炸裂!万字长文拿下HTTP

提纲1989年,蒂姆·伯纳斯 - 李(Tim Berners-Lee)在论文中提出可以在互联网上构建超链接文档,并提出了三点.URI:统一资源标识符。互联网的唯一IDHTML:超文本文档HTTP:传输超文本的文本传输协议1 HTTP应用在哪儿学习一门知识,采用五分钟时间看看这个知识是干啥的可能会更加有目的性。HTTP可谓无处不在,这里例举出几个。HTTP应用场景2 HTTP是什么HTTP(hypertext transport protocol)翻译过来为..

2020-12-16 11:40:24 304

转载 3W 字的 Spring Boot 超详细总结

说明:前面有 4 个小节关于Spring的基础知识分别是:IoC 容器、JavaConfig、事件监听、SpringFactoriesLoader 详解它们占据了本文的大部分内容:虽然它们之间可能没有太多的联系,但这些知识对于理解 Spring Boot 的核心原理至关重要,如果你对 Spring 框架烂熟于心,完全可以跳过这 4 个小节。正是因为这个系列的文章是由这些看似不相关的知识点组成,因此取名知识清单。在过去两三年的 Spring 生态圈,最让人兴奋的莫过于 Spring Boot

2020-10-23 11:02:32 131

转载 如何优雅地在 Spring Boot 中使用自定义注解,AOP 切面统一打印出入参日志

其实,小哈在之前就出过一篇关于如何使用 AOP 切面统一打印请求日志的文章,那为什么还要再出一篇呢?没东西写了?哈哈,当然不是!原因是当时的实现方案还是存在缺陷的,原因如下: 不够灵活,由于是以所有 Controller 方法中的方法为切面,也就是说切死了,如果说我们不想让某个接口打印出入参日志,就办不到了; Controller包层级过深时,导致很多包下的接口切不到; 今天主要说说如何通过自定义注解的方式,在 Spring Boot 中来实现 AOP 切面统一打印出入参日志。小伙.

2020-10-23 10:55:34 357

转载 思考:Spring 为啥默认把 Bean 设计成单例的?

熟悉Spring开发的朋友都知道Spring提供了5种scope分别是singleton、prototype、request、session、global session。如下图是官方文档上的截图,感兴趣的朋友可以进去看看这五种分别有什么不同。今天要介绍的是这五种中的前两种,也是Spring最初提供的bean scope singleton 和 prototype。Spring官方文档介绍如下图:更多内容可以看官方文档介绍,非常详细:“https://docs.spring.io/sp

2020-10-23 10:53:42 155

转载 来,手撸一个简版 Redis

今天主要介绍两个开源项目,然后创建应用最终实现的效果就像简版的redis服务那样,通过http的get请求,能够插入和获取数据,项目暂取名为kedis,源码后面会上传到git仓库。他们分别是Facebook开源的Rocksdb和netty实现的http容器RestExpress。通过实现这样的一个key/value系统实例来学习这两个框架的使用。rocksdb项目地址:https://github.com/facebook/rocksdbRocksDB是一个带key/value接口的存储引擎,其

2020-10-23 10:51:04 207 1

转载 终于有人把 Docker 讲清楚了,别再说不会 Docker 了!

富Web时代,应用变得越来越强大,与此同时也越来越复杂。集群部署、隔离环境、灰度发布以及动态扩容缺一不可,而容器化则成为中间的必要桥梁。本节我们就来探索一下Docker的神秘世界,从零到一掌握Docker的基本原理与实践操作。别再守着前端那一亩三分地,是时候该开疆扩土了。我们将会围绕下面几点展开:1.讲个故事 2.虚拟机与容器 3.认识Docker4.核心概念 5.安装Docker6.快速开始 7.常规操作 8.最佳实践一、讲个故事为了更好的理解Docker是什么,我们先...

2020-10-23 10:49:11 336

转载 Spring Boot 无侵入式 实现API接口统一JSON格式返回

无侵入式 统一返回JSON格式其实本没有没打算写这篇博客的,但还是要写一下写这篇博客的起因是因为,现在呆着的这家公司居然没有统一的API返回格式?,询问主管他居然告诉我用HTTP状态码就够用了(fxxk),天哪HTTP状态码真的够用吗?在仔细的阅读了项目源码后发现,在API请求的是居然没有业务异常(黑人问好)。好吧 居然入坑了只能遵照项目风格了,懒得吐槽了。因为项目已经开发了半年多了, 要是全部接口都做修改工作量还是挺大的, 只能用这种无侵入式的方案来解决.项目源代码: https:...

2020-10-23 10:46:37 91

转载 Spring如何实现AOP,请不要再说cglib了!

1. 从注解入手找到对应核心类最近工作中我都是基于注解实现 AOP 功能,常用的开启 AOP 的注解是 @EnableAspectJAutoProxy,我们就从它入手。上面的动图的流程的步骤就是:@EnableAspectJAutoProxy--> AspectJAutoProxyRegistrar-->AopConfigUtils .registerAspectJAnnotationAutoProxyCreatorIfNecessary-->AnnotationAwa

2020-10-23 10:38:55 95

转载 谈谈在 Java 中如何优雅地判空 !

判空灾难作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢NullPointerException。不过NullPointerException对于很多猿们来说,也是Exception家族中最亲近的一员了。为了避免NullPointerException来找我们,我们经常会进行如下操作。if(data!=null){dosth.}如果一个类中多次使用某个对象,那你可能要一顿操作,so:“世界第九大奇迹”就这样诞生...

2020-10-23 10:33:43 103

转载 这样规范写代码,同事直呼“666”

一、MyBatis 不要为了多个查询条件而写 1 = 1当遇到多个查询条件,使用where 1=1 可以很方便的解决我们的问题,但是这样很可能会造成非常大的性能损失,因为添加了 “where 1=1 ”的过滤条件之后,数据库系统就无法使用索引等查询优化策略,数据库系统将会被迫对每行数据进行扫描(即全表扫描) 以比较此行是否满足过滤条件,当表中的数据量较大时查询速度会非常慢;此外,还会存在SQL 注入的风险。反例:<selectid="queryBookInfo"parameter..

2020-10-23 10:27:44 78

转载 图解 SQL,这也太形象了吧!

本文介绍关系数据库的设计思想:在 SQL 中,一切皆关系。在计算机领域有许多伟大的设计理念和思想,例如: 在 Unix 中,一切皆文件。 在面向对象的编程语言中,一切皆对象。 关系数据库同样也有自己的设计思想:在 SQL 中,一切皆关系。关系模型关系模型(Relational model)由 E.F.Codd 博士于 1970 年提出,以集合论中的关系概念为基础;无论是现实世界中的实体对象还是它们之间的联系都使用关系表示。我们在数据库系统中看到的关系就是二维表(Table),

2020-10-23 10:24:54 177 1

原创 Antd 定制下拉框回显内容

效果图<div id="container" style="padding: 24px"></div><script> var mountNode = document.getElementById('container');</script>import React from "react";import ReactDOM from "react-dom";import "antd/dist/antd.css";im...

2020-10-21 16:30:44 2102

转载 7000+字带你全面搞懂 Git 命令+原理!

前言掌握Git命令是每位程序员必备的基础,之前一直是用smartGit工具,直到看到大佬们都是在用Git命令操作的,回想一下,发现有些Git命令我都忘记了,于是写了这篇博文,复习一下~文章目录 Git是什么? Git的相关理论基础 日常开发中,Git的基本常用命令 Git进阶之分支处理 Git进阶之处理冲突 Git进阶之撤销与回退 Git进阶之标签tag Git其他一些经典命令 Git是什么在回忆Git是什...

2020-10-14 17:36:23 160

转载 Spring 的 Bean 生命周期,11 张高清流程图及代码,深度解析

尊重原创,原文链接在网上已经有跟多Bean的生命周期的博客,但是很多都是基于比较老的版本了,最近吧整个流程化成了一个流程图。待会儿使用流程图,说明以及代码的形式来说明整个声明周期的流程。注意因为代码比较多,这里的流程图只画出了大概的流程,具体的可以深入代码1. 获取Bean第一阶段获取Bean这里的流程图的入口在AbstractBeanFactory类的doGetBean方法,这里可以配合前面的getBean方法分析文章进行阅读。主要流程就是 先处理Bean 的名称,因为..

2020-08-10 15:21:27 138

转载 这 35 个小细节,提升 Java 代码的运行效率!你知道几个?

尊重原创,原文链接前言代码优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提..

2020-08-07 17:53:19 139

转载 MySQL优化方法建议

尊重原创,原文链接一、EXPLAIN做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据 type列,连接类型。一个好的sql语句至少要达到range级别。杜绝出现all级别 key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式 key_len列,索引长度 rows列,扫描行数。该值是个预估值 extra列,详细说明。注意常见的不太友好的.

2020-08-07 17:48:01 112

转载 进阶:秒杀系统是如何设计的?

尊重原创,原文链接前言:秒杀系统相信很多人见过,比如京东或者淘宝的秒杀,小米手机的秒杀。那么秒杀系统的后台是如何实现的呢?我们如何设计一个秒杀系统呢?对于秒杀系统应该考虑哪些问题?如何设计出健壮的秒杀系统?本期我们就来探讨一下这个问题:目录一:秒杀系统应该考虑的问题二:秒杀系统的设计和技术方案三:系统架构图四:总结一:秒杀应该考虑哪些问题1.1:超卖问题分析秒杀的业务场景,最重要的有一点就是超卖问题,假如备货只有100个...

2020-08-07 17:31:44 124

转载 求求你们了,别再写满屏的 try catch 了!!

尊重原创,原文链接背景软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看看您现在编写的代码属于哪一种风格?然后哪种编码风格您更喜欢?丑陋的 try catch 代码块优雅的Controller上面的示例,还只是在Controller层,如果是在Se...

2020-08-07 17:14:13 110

转载 Spring 事务传播属性有那么难吗?看这一篇就够了!

尊重原创,原文链接学习东西要知行合一,如果只是知道理论而没实践过,那么掌握的也不会特别扎实,估计过几天就会忘记,接下来我们一起实践来学习Spring事务的传播属性。传播属性传播属性定义的是当一个事务方法碰到另一个事务方法时的处理行为,一共有七种行为,定义如下其实只看概念的话已经很直截了当了说明了每个传播性的作用,此时我们再用具体的例子演示一下每个传播性属性下的行为。此次演示我们使用的是H2数据库,这个数据库是作用在内存里面的,所以对于我们演示事务效果来说正好,无需我们在进行..

2020-08-07 17:02:36 116

转载 JVM 史上最最最完整深入解析

尊重原创,原文链接工作之余,想总结一下JVM相关知识。Java运行时数据区:Java虚拟机在执行Java程序的过程中会将其管理的内存划分为若干个不同的数据区域,这些区域有各自的用途、创建和销毁的时间,有些区域随虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束来建立和销毁。Java虚拟机所管理的内存包括以下几个运行时数据区域,如图:1、程序计数器:指向当前线程正在执行的字节码指令。线程私有的。2、虚拟机栈:虚拟机栈是Java执行方法的内存模型。每个方法被执行的时候,都.

2020-08-07 10:32:00 151

原创 React 页面刷新与组件卸载在setState时的区别

React 组件各生命周期中均没有对刷新事件的监听与响应,依赖原始的 window的 beforeunload的事件处理,具体实现如下import React, { Component } from 'react';export default class Demo extends Component { constructor(props) { super(props); this.state = {}; } componentDidMount() { ...

2020-07-31 11:50:13 862

原创 React 父子组件互相传参的方法

import React, { Component } from 'react';import { Progress, Button, Rate, Slider, Divider } from 'antd';const ButtonGroup = Button.Group;class Child extends Component { constructor(props) { super(props); this.state = { percent: 0 }; }...

2020-07-23 20:38:46 354

MyBatis框架Jar包

mybatis-3.3.0.zip,支持64位Win7/XP系统

2015-07-03

Spring的框架Jar包

spring-framework-3.2.9.RELEASE-dist.zip

2015-07-03

Tomcat 64位

apache-tomcat-8.0.23-windows-x64.zip

2015-07-03

mysql-connector-java-5.1.35-bin.jar

mysql-connector-java-5.1.35-bin.jar

2015-07-03

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除