自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dangkei 的专栏

程序员笔记

  • 博客(47)
  • 资源 (1)
  • 收藏
  • 关注

原创 定义自己的@RequestBody

升级 Spring WebMVC 版本到支持 @RequestBody 注解的版本,这样就可以正常使用 @RequestBody 注解了。但是实际项目中我们往往不能为了一个功能升级全局的spring版本所以只能考虑第二种方案。在 Spring WebMVC 版本不支持 @RequestBody 注解的情况下,你可以自己实现一个类似的注解来替代 @RequestBody。② 在控制器方法中使用 @MyRequestBody 注解来接收请求体内容。① 创建一个自定义注解,例如 @MyRequestBody。

2023-10-07 09:56:03 202

原创 JavaScript变量,对象和函数概念问答

Javascript入门容易,想成为高手难啊,初学者很容易上手开始开发程序, 但是使用久了会遇到很多迷惑的问题可能很久都无法参透,本人学习中曾经遇到过很多这种情况。现在把问题总结如下供初学者参考。

2023-07-21 14:29:44 119

原创 压力测试工具ab命令安装使用介绍

在Windows上使用ab命令需要安装Apache HTTP服务器的Windows版本,也就是Apache Lounge版本。ab(Apache Bench)是Apache自带的一个性能测试工具,用于模拟多个并发访问,测试服务器的性能。e. 在“编辑环境变量”窗口中添加“C:\Apache24\bin”路径,然后点击“确定”关闭窗口。这个命令将会向http://www.example.com/发送1000个请求,每次并发数量为10。a. 右键单击“计算机”图标,选择“属性”。c. 点击“环境变量”。

2023-07-18 09:55:34 747

原创 【Mybatis分页拦截器使用】

使用mybatis后,很多增删改查,编写一些crud之类的mapper.xml mapperDao.java的代码基本都形成套路的模式。这时使用mybatis-plus就是简化这一工作量的好方法。

2023-06-20 13:43:39 1369

原创 【Spring配置元数据的三种方式】

Spring提供进一步典型化注解:@Component,@Service,@Repository和 @Controller。@Repository,@Service和@Controller是@Component针对更特定用例的专业化(分别在持久层,服务层和表示层)。因此,可以使用@Component,但是使用@Repository,@Service或者@Controller,能更好地适合于通过工具处理,或与切面进行关联,而且这些构造型注解在Spring框架的将来版本中还可以包含其他语义。

2023-06-20 13:24:30 309

原创 【awk基本用法】

默认awk是以空格和tab制表符分隔每一行文本。也可以使用-F参数指定字符分割每行文本。$后跟数字是awk把每一行字符串分割处理后的列表。先到这里, 有兴趣时候再继续发掘。

2023-06-19 17:50:35 36

原创 【journalctl查看日志命令详解】

verbose: 显示该条目的全部可用journal字段,包括通常被内部隐藏的字段。json-sse: JSON格式,经过打包以兼容server-sent事件。short-iso: 默认格式,强调显示ISO 8601挂钟时间戳。short-monotonic: 默认格式,提供普通时间戳。json-pretty: JSON格式,适合人类阅读习惯。short-precise: 默认格式,提供微秒级精度。short: 默认syslog类输出格式。json: 标准JSON,每行一个条目。

2023-06-19 17:46:11 938

原创 【public interface Comparator<T> 接口用法】

FunctionalInterface 这个注解表明该接口是一个函数式接口。一般而言,函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。@FunctionalInterface:标明一个接口是一个函数式接口。Java引入Lambda,改善了集合操作(引入Stream API),并可以利用到Lambda表达式的延后性。函数式接口可以使用lambda表达式调用。

2023-06-19 17:45:03 46

原创 【Git本地有四个工作区域】

Git本地有四个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)、git仓库(Remote Directory). 工作目录:存放项目文件的地方 暂存区:临时存放项目文件的改动情况 资源库:本地安全存放数据的位置,里面存放着提交到所有版本的数据 git仓库:托管代码的服务器,服务器安全存放数据的位置,里面存放着提交到所有版本的数据。1.Git版本管理中下列不适于Git的本地工作区域的是()

2023-06-16 09:59:19 62

原创 【翻译docker run的官方参考文档】

您可以使用 Docker 网络驱动程序或外部网络驱动程序插件创建网络。您可以将多个容器连接到同一个网络。一旦连接到用户定义的网络,容器只需使用另一个容器的 IP 地址或名称即可轻松通信。对于overlay支持多主机连接的网络或自定义插件,连接到同一多主机网络但从不同引擎启动的容器也可以通过这种方式进行通信。以下示例使用内置bridge网络驱动程序创建网络并在创建的网络中运行容器使用该标志,您可以传递特定的 cgroup 以在其中运行容器。这允许您自行创建和管理 cgroup。

2023-06-16 00:45:00 54

原创 【从头开始学docker系列之九,Linux下安装docker 及docker-compose 】

大多数时候docker应用还是在linux操作系统的场景。

2023-06-15 18:30:00 97

原创 【BlockingQueue阻塞队列学习】

poll(long timeout, TimeUnit unit) 检索并删除队列的头部,如有必要,等待指定的等待时间以使元素可用,如果超时,则返回 null。offer(E e, long timeout, TimeUnit unit)尝试将元素插入队列,如果队列已满,那么会阻塞直到有空间插入。阻塞队列即使生产者也是消费者的,构造参数也是成员变量。take()获取队列的头部元素并将其删除,如果队列为空,则阻塞并等待元素变为可用。put() 将指定的元素插入队列,如果队列满了,那么会阻塞直到有空间插入。

2023-06-15 10:43:38 107

原创 【体验阿里云ECS开发环境快速搭建JDK+Tomat+MySQL】

今天体验一下阿里云的ECS云开发环境,创建弹性服务器后。

2023-06-15 10:31:37 78

原创 【git分支管理】

删除本地 branch -d 删除远程用 push origin --delete。

2023-06-15 10:16:51 34

原创 【mybatis根据id查询映射主子表的实体类结果】

废话不多说,直接上实例。

2023-06-15 10:15:43 137

原创 【从头开始学docker系列之八,使用 docker run命令】

如果未--format提供标志,这些字段允许您自定义某些命令的默认输出格式。财产描述输出的自定义默认格式。有关支持的格式化指令列表,请参阅文档中的输出格式部分。输出的自定义默认格式。有关支持的格式化指令列表,请参阅文档中的输出格式部分。输出的自定义默认格式。有关支持的格式指令列表,请参阅文档中的格式部分。输出的自定义默认格式。有关支持的格式指令列表,请参阅文档中的格式部分。psFormatdocker ps输出的自定义默认格式。有关支持的格式指令列表,请参阅文档中的格式部分docker ps。

2023-06-15 10:00:00 180

原创 【软件包 java.util.concurrent.atomic 说明】

当一个线程看到由 a 引起的对原子变量的更新时weakCompareAndSet,它不一定看到对发生在 之前的任何其他weakCompareAndSet变量的更新。例如,在更新性能统计信息时,这可能是可以接受的,但在其他情况下很少见。除了表示单个值的类之外,此包还包含更新程序类,可用于获取 compareAndSet对任何选定类的任何选定volatile 字段的操作。此包中的类还包含获取和无条件设置值的方法,以及weakCompareAndSet下面描述的较弱的条件原子更新操作。

2023-06-15 09:57:06 50

原创 【生产消费者模式对比多线程优缺点】

消费者模式和多线程看起来差不多?为啥有些情况选择消费者模式不选择多线程呢?为啥?

2023-06-15 09:56:06 63

原创 【redis 的基本操作指令简介】

【代码】【redis 的基本操作指令简介】

2023-06-15 09:37:47 30

原创 【centos防火墙相关命令】

●centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools。3.、开关防火墙,默认启动防火墙。2、查看防火墙所有开放的端口。6、检查端口被哪个进程占用。7、查看进程的详细信息。

2023-06-15 09:32:21 504

原创 【vbox配置Ubuntu 18.04.6桥接网卡配置】

在18.04.6中传统的配置/etc/network/interfaces已无效!

2023-06-15 09:31:49 261

原创 【SVN基本安装及使用简介】

anno-acess = none #无登陆权限用户不能访问版本库。auth-access = write #有权限用户可读写版本困。password-db = passwd #用户名密码存储文件。– svnadmin 版本库的创建/导入/导出/删除等。– svnserver 控制svn系统服务的启动。-------- 指定存储版本库的数据保存类型。– svn 版本库检出/更新/提交/重定向。/path/repos/conf目录。– svnlook 查看版本库信息。直接使用linux删除命令删除。

2023-06-15 09:24:50 104

原创 【Reactor学习-五——回压和重塑请求的方法】

在 Reactor 中实现背压时,消费者压力传播回源的方式是向request上游操作员发送。当前请求的总和有时被称为当前“需求”或“待处理请求”。需求上限为Long.MAX_VALUE,代表一个无限制的请求(意思是“尽可能快地生产”——基本上是禁用背压)。第一个请求来自订阅时的最终订阅者,但最直接的订阅方式都立即触发无限制请求Long.MAX_VALUE:subscribe()以及它的大多数基于 lambda 的变体(有Consumer的除外)

2023-06-14 10:54:09 107

原创 【Reactor学习-四——Reactor核心!功能!】

请注意,所有事件,即使是终止事件,都是可选的:没有onNext事件,只有一个 onComplete事件表示一个空的有限序列,但删除onComplete并且您有一个无限的空序列(不是特别有用,除了围绕取消的测试)。Mono仅提供可用于 a 的运算符的子集Flux,并且一些运算符(特别是那些将 theMono与另一个结合的运算符Publisher)切换到 a Flux。A Mono是一个专门的,它通过Publisher信号最多发出一个项目, 然后以一个信号终止(成功,有或没有值),或者只发出一个信号(失败)。

2023-06-14 10:52:03 107

原创 【Reactor学习-三——从命令式编程到反应式编程】

对于每个订阅者,热序列并不是从头开始的。相反,迟到的订阅者会收到他们订阅后发出的信号。然而,请注意,一些热反应流可以完全或部分缓存或重放排放历史。从一般的角度来看,热序列甚至可以在没有订阅者在监听时发出(这是“订阅之前什么都不会发生”规则的例外)。对于每个订阅者,一个冷序列重新开始,包括在数据源。例如,如果源包装了一个HTTP调用,则会为每个订阅发出一个新的HTTP请求。大多数地方都是根据翻译网站或机器人翻译成背压,少数地方翻译为回压,我也认为翻译为回压更契合场景的意思。

2023-06-14 10:50:55 44

原创 【Reactor学习-一 CallBack与Reactor——阻塞代码和非阻塞反应式代码对比】

在基于回调的代码中,这是一项复杂的任务。在Reactor中,只需在链中添加一个超时操作符即可,如下所示:。缺点很明细,代码量大,不易跟踪,代码重复,对比响应式代码来实现相同功能。

2023-06-14 10:49:05 51

原创 【Reactor学习-二 CompletableFuture与Reactor的比较】

另一个例子:我们得到一个ID列表,我们希望从中获取一个名称和一个统计信息,并将它们成对地组合起来,所有这些都是异步的。

2023-06-14 10:48:21 298

原创 【MyBatis基础构建SqlSessionFactory】

使用mybatis maven需要引入的依赖。mybatis-config.xml文件。

2023-06-14 10:00:50 117

原创 【eclipse 如何打包spring-boot项目为docker镜像(eureka-server)】

backgroud:打包Eureka服务为本地开发环境中的docker镜像。

2023-06-14 09:58:43 412

原创 【实验: docker搭建Nginx+Tomcat负载均衡】

部署nginx容器开放端口8080映射宿主机8080端口,将配置文件nginx.conf挂载为宿主机的D:\docker\nginx\nginx.conf。部署后,宿主机的8081端口对应tomcat1的8080 8082对应tomcat2的8080 8083 对应tomcat3的8080。nginx容器创建完以后我们可以直接修改宿主机上的D:\docker\nginx\nginx.conf 文件来改动容器中nginx配置。把默认配置文件http块里的server替换成上面的配置,** 注意两点 **

2023-06-14 09:47:24 196

原创 【Dockerfile命令参考】

Docker 有一组预定义的ARG变量,您可以ARG在 Dockerfile 中没有相应指令的情况下使用这些变量。HTTP_PROXYhttp_proxyFTP_PROXYftp_proxyNO_PROXYno_proxy要使用这些,请使用默认情况下,这些预定义变量从. 排除它们会降低意外泄漏HTTP_PROXY变量中敏感身份验证信息的风险。例如,考虑使用以下 Dockerfile 构建在这种情况下,HTTP_PROXY变量的值在中不可用并且不被缓存。如果您要更改位置,并且您的代理服务器更改为。

2023-06-14 09:45:50 1005

原创 【虚拟机Linux系统配置桥接模式】

桥接既然功能虽然比两种模式强大,但是也是需要一定额外条件。既然虚拟机和宿主机所在网络其他计算机平等。必然占用宿主机所在网络中一个ip地址资源。这种前提下,如果我们在家中或者单位上网是用路由器自动分配IP地址的话,vmbox之间设置虚拟机网络为桥接就好。但是如果是需要固定ip地址上网,使用桥接方式的虚拟机就要配置一下网卡信息。安装完虚拟机操作系统后,使用root用户登陆虚拟机,输入下面命令。虚拟机上测试连接宿主机及网络上其他机器。宿主机同网络下另一台机器连接虚拟机。都连通的话说明桥接网络设置成功!

2023-06-14 09:39:10 1311

原创 【从头开始学docker系列之七,镜像层的概念】

所有开始学docker的文章都是翻译来自官方的镜像’docker/getting-started’,有兴趣的朋友可以执行下面的命令直接运行这个容器app然后通过访问 http://localhost:80 端口来访问这个应用。

2023-06-14 09:15:00 34

原创 【从头开始学docker系列之六,创建多容器应用】

到目前为止,我们一直在使用单容器应用程序。但是,我们现在想要将 MySQL添加到应用程序中。经常会出现下面的问题——“MySQL会在哪里运行?安装在同一个容器中还是单独运行?” 一般来说,每个容器应该做一件事,并且做好。

2023-06-14 08:45:00 201

原创 【从头开始学docker系列之一,Windows下安装docker-desktop】

例如 我搜索一下nginx 在结果中 我选择类型为Official Images的直接拿来可以使用。然后打开 docker-desktop 可以看到本地已经有nginx的镜像可以直接使用了。有机会需要的时候可以慢慢研究。我们可以在网站上找一些官方的镜像[Official Images]一般官方容器装的软件很少,我们要修改一些基本配置至少要安装下vi。点击run就直接在本地运行一个redis的docker容器。点击进入后页面右侧会有提示该如何在本地下载该镜像。直接拷贝命令后到本地命令行执行结果如下。

2023-06-14 08:30:00 415

原创 【从头开始学docker系列之五,分享自己的镜像 使用push命令】

我们使用pull命令拉取的镜像都是官方制作好的标准镜像供我们免费使用, 同样我们也可以把自己制作的镜像分享到docker的hub上供其他人使用,具体的方法是这样的。

2023-06-13 14:43:05 201

原创 【从头开始学docker系列之四,create docker image 创建一个自己的镜像】

之前的教程都是在学习如何使用已有的docker镜像创建容器,今天我们学习一下,使用docker创建自己的镜像容器。我们可以把已经开发好的应用,添加到已有的镜像文件,打包为自己的镜像文件方便使用,到快速安装部署的目的。首先我们可以从这里下载需要用来测试打包的应用这是一个待办事项的nodejs应用程序,你不必了解nodejs。这只是作为一个例子.

2023-06-13 14:25:46 379

原创 【从头开始学dockers系列之三,创建mysql容器-继续持久化容器】

这样下来是不是很方便, 不管镜像中默认配置如何只要把自定义配置挂载到指定目录就可以了。

2023-06-13 14:13:53 63 1

原创 【从头开始学docker系列之二,创建redis容器-容器持久化,容器挂载宿主机文件及目录】

这样命令执行完之后我就可以使用docker管理开发环境的redis服务器启动。而不是需要在本地命令行或者通过配置windows服务的方式启动redis。而各种设置和数据的存储和在本地安装程序一样。首先想转换的就是redis数据库,我们平时用的redis设置密码 外加持久化存储。就可以快速部署或者一个和之前一样的开发环境。在个人开发电脑上装了docker以后就想把自己平时的本地开发环境全部转成docker管理方式。通过-v这个参数的挂载功能将应用参数数据完全与数据库或者中间件分离,方便快速管理部署。

2023-06-13 14:10:02 159 1

原创 JavaScript实现观察者模式案例

观察者设计模式定义了对象间的一种一对多的组合关系,以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新。通过观察我们发现只要观察者和被观察者只要包含一下设计元素,就能成功一个成功的观察者模型。

2023-03-11 20:38:23 213

keeplive+nginx负载均衡解决方案

Keeplive期初是专门为LVS设计的,专门用来监控LVS集群系统中各个服务节点的状态,后来又加入VRRP的功能,因此除了配合LVS服务以外,也可以作为其他服务(nginx,haroxy)的高可用软件,VRRP是Virtual Router Redundancy Protocol(虚拟路由冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由出现的单点故障问题,它能够保证网络的不间断,稳定的运行。所以keepalive一方面具有LVS cluster nodes healthchecks功能,另一方面也具有LVS directors failover

2023-10-17

史上最完整java注释教程

注释是java中的一种元数据,可以应用于java源代码的各个元素,以便以后的工具、调试器或应用程序能够利用这些注释,并帮助以积极和建设性的方式分析程序。更重要的是,我们可以用java或几乎所有的语言来注释类、方法、变量、参数和包。重要的是,要了解应用于java源代码的注释与其他类成员一起编译成字节码,并且使用反射程序员可以查询此元数据信息,以确定在任何特定上下文中执行的适当操作。

2023-10-17

MySql性能优化的几种解决方案

MySql性能优化的几种解决方案,使用于dba,系统管理员,系统架构师。以及软件开发人员。

2023-10-07

the road tobe a java god.pdf

Java基础超全知识指南

2021-09-17

空空如也

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

TA关注的人

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