自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 问答 (14)
  • 收藏
  • 关注

原创 Spring Boot和Mybatis整合

但是我的springboot用的版本是2.7,所以这里没有列举出来maven的version,可以去maven的远程仓库看一下具体有哪些版本,其他的版本也可以在这里找到。最终选择了版本2.3.1。

2023-12-19 14:34:58 334

原创 教程: Hello World with Apache Ant

本文档提供了使用Apache Ant开始Java编程的逐步教程。它不包含关于Java或Ant的更深入的知识。本教程的目标是让您了解如何在Ant中执行最简单的步骤。

2023-12-19 14:33:10 347

原创 汇编学习笔记

可以看到图中的CS和IP的值,CS=073F,IP=0100,CS:IP就是CPU当前要读取和执行的指令。在所有的最下面那行,显示073F:0100中存储的机器码,值为0000,对应的指令为ADD [BX+SI],AX。输入-r ax后,就会输出当前AX的值,并出现一个“:”,在冒号后写上要将AX修改成的值即可。通过使用-r ax这样的命令,可以修改ax寄存器中的值。这个指令也可以用于修改CS和IP寄存器的值。可以看到AX的值也变成1111了。

2023-09-21 14:16:07 126

原创 Dubbo源码理解读书笔记

为帮助您在CSDN创作的文章获得更多曝光和关注,我们为您提供了专属福利:已注册且未在CSDN平台发布过文章的用户,9月1日—9月30日期间发布首篇文章可享大额首篇流量券扶持,且发布首篇文章后30日内,享连续每日流量券扶持;已注册且未在CSDN平台发布过文章的用户,在8月1日—8月30日期间发布过首篇,可自9月1日起,享连续30天每日流量券扶持;更多福利介绍详见https://mp.csdn.net/mp_blog/manage/traffic如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇

2023-09-21 14:00:56 90

翻译 Apache Maven Assembly Plugin中文文档

原文地址这里写目录标题Apache Maven Assembly Plugin介绍什么是 Assembly?目标Apache Maven Assembly Plugin介绍Maven的Assembly插件使开发人员能够将项目输出组合到单个可分发的归档文件中,该归档文件还包含依赖项、模块、站点文档和其他文件。您的项目可以使用一个预制的组装描述符轻松地构建分发“程序集”。这些描述符处理许多常见操作,例如将项目的工件和生成的文档打包到单个zip归档文件中。或者,您的项目可以提供自己的描述符,并对如何在程

2020-12-09 12:27:44 550

翻译 Set Up The Classpath中文官方文档

原文地址这里写目录标题设置 ClasspathAdd A Class-Path Entry To The Manifest使 Jar 可执行修改 Classpath: 定义 Classpath 目录前缀修改 Classpath: 使用 Maven Repository-Style Classpath设置 ClasspathAdd A Class-Path Entry To The ManifestMaven Archiver 可以将 classpath 添加到你的项目中.这依赖于 配置属性.

2020-12-08 12:07:40 261

翻译 maven-archiver 中文官方文档

原文地址Maven Archiver 主要由插件用于处理打包。在这个页面的Since列中引用的版本号是Maven Archiver组件的版本—不是任何特定插件的版本。要查看插件使用的 Maven Archiver 版本,请访问该插件的站点。<archive> <addMavenDescriptor/> <compress/> <forced/> <index/> <pomPropertiesFile/>

2020-12-07 20:39:39 2196

翻译 Apache Maven JAR Plugin官方文档

原文地址这个插件提供了构建jar的功能。如果您喜欢签名jar文件,请使用Maven Jarsigner插件。目标概述jar:jar 为包含资源的项目类创建一个jar文件。jar:test-jar 为您的项目测试类创建一个jar文件。主要版本升级到3.0.0版本请注意,以下参数已经完全从插件配置中删除:useDefaultManifestFile如果你需要定义你自己的 MANIFEST.MF 文件,您可以简单地实现通过 Maven Archiver 配置如下示例: <p

2020-12-07 20:27:23 312

原创 解压缩文件并将其中的excel文件汇总

首先我有一个压缩文件,如下图所示:package com.excel;import org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry;import org.apache.commons.compress.archivers.sevenz.SevenZFile;import org.apache.poi.ss.usermodel.CellType;import org.apache.poi.xssf.usermodel

2020-12-07 19:45:17 883

翻译 Apache Commons Compress 中文文档

原文地址:http://commons.apache.org/proper/commons-compress/examples.html这里写目录标题一般的笔记文档和压缩机缓冲一般的笔记文档和压缩机Commons Compress调用压缩单个数据压缩器格式流的所有格式,而在单个(可能已压缩的)归档文件中收集多个条目的所有格式都是归档器格式。压缩器支持的格式有gzip、bzip2、xz、lzma、Pack200、DEFLATE、Brotli、DEFLATE64、ZStandard和Z,归档器支持的格

2020-11-25 09:25:02 1527

翻译 Web on Servlet Stack version 5.3.1 中文翻译

1.3.2. Request MappingWebFlux您可以使用 @RequestMapping 注解将请求映射到控制器方法。它有各种属性来匹配URL、HTTP方法、请求参数、头和媒体类型。您可以在类级别使用它来表示共享映射,也可以在方法级别使用它来缩小到特定的端点映射。也有HTTP方法特有的快捷方式 @RequestMapping:@GetMapping@PostMapping@PutMapping@DeleteMapping@PatchMapping快捷方式是 定制注解,

2020-11-24 20:52:58 164

转载 第9章 索引

第9章 索引索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL 必须从第 1 条记录开始读完整个表,直到找出相关的行。表越大,查询数据所花费的时间越多。如果表中查询的列有一个索引,MySQL 能快速到达某个位置去搜寻数据文件,而不必查看所有数据。本章将介绍与索引相关的内容,包括索引的含义和特点、索引的分类、索引的设计原则以及如何创建和删除索引。内容导航了解什么是索引掌握创建索...

2019-06-06 16:13:51 188

转载 第4章 数据表的基本操作

原文地址:http://www.xueyuewang.cn/look_book_detail?book_id=43第4章 数据表的基本操作4.1.5 使用唯一性约束唯一性约束(Unique Constraint)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。唯一性约束的语法规则如下:(1)在定义完列之后直接指定唯一约束,语法规则如下:字段名 数据...

2019-06-06 15:59:26 127

翻译 Testing

TestingThe adoption of the test-driven-development (TDD) approach to software development is certainly advocated by the Spring team, and so coverage of Spring’s support for integration testing is cov...

2019-06-06 13:28:36 545

转载 java中获取类加载路径和项目根路径的5种方式分析

123

2017-06-27 19:27:00 550

转载 第5章 数据类型和运算符

学习目标:数据库表由多列字段构成,每一个字段指定了不同的数据类型。指定字段的数据类型之后,也就决定了

2017-06-27 09:28:57 433

转载 MySQL优化06 索引(一)

当一张表,把某个列设为主键的时候,则该列就是主键索引,如面SQL语句所示:CREATE TABLE `test` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARS

2017-06-24 22:09:39 380

转载 第6章 MySQL函数

学习目标:   MySQL提供了众多功能强大、方便易用的函数。使用这些函数,可以极大的提高用户对数据库的管理效率。MySQL中的函数包括:数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数和加密函数等其他函数。本章将介绍MySQL中的这些函数的功能和用法。6.1 MySQL 函数简介  函数表示对输入参数返回一个具有特定关系的值,MySQL提供了大量丰富的函数,在进行数据库管理以及数

2017-06-22 09:56:08 531

转载 1.6 实战:自己编译JDK

想要一探JDK内部的实现机制,最便捷的路径之一就是自己编译一套JDK,通过阅读和跟踪调试JDK源码去了解Java技术体系的原理,虽然门槛会高一点,但肯定会比阅读各种书籍、文章更加贴近本质。另外,JDK中的很多底层方法都是本地化(Native)的,需要跟踪这些方法的运作或对JDK进行Hack的时候,都需要自己编译一套JDK。   现在网络上有不少开源的JDK实现可以供我们选择,如Apache Har

2017-06-21 17:23:43 1179

转载 第16章 性能优化

学习目标:   MySQL性能优化就是通过合理安排资源,调整系统参数使MySQL运行更快、更节省资源。MySQL性能优化包括查询速度优化、更新速度优化、MySQL服务器优化等。本章将为读者讲解以下几个内容:性能优化的介绍、查询优化、数据库结构优化、MySQL服务器优化。16.1 优化简介  优化MySQL数据库是数据库管理员和数据库开发人员的必备技能。MySQL优化,一方面是找出系统的瓶颈,提高M

2017-06-19 13:40:10 296

转载 设计模式-状态模式

首先先看一种情形,伪代码:if(state=="空闲") { if(预定房间) { 预定操作; state = "已预订"; } else if(住进房间) { 入住操作; state = "已入住"; }} else if("已预订") { if (住进房间) { 入住操作;

2017-06-15 17:16:22 381

原创 1.4 脏读

对于对象的同步和异步的方法,我们在设计自己的程序的时候,一定要考虑问题的整体,不然就会出现数据不一致的错误,很经典的错误就是脏读(dirtyread) 示例:

2017-06-14 09:43:38 313

转载 第一章 并发编程的挑战

并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行得更快,会面临非常多的挑战,比如上下文切换的问题、死锁的问题,以及受限于硬件和软件的资源限制问题,本章会介绍几种并发编程的挑战以及解决方案。1.1 上下文切换  即使是单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。时

2017-06-13 11:54:26 238

原创 1.3 对象锁的同步和异步

同步:synchronized 同步的概念就是共享,我们要牢牢记住“共享”这两个字,如果不是共享的资源,就没有必要进行同步。 异步:asynchronized 异步的概念就是独立,相互之间不受任何的制约。就好像我们学习http的时候,在页面发起AJAX请求,我们还可以继续浏览或操作页面的内容,二者之间没有任何关系。 同步的目的就是为了线程安全,其实对于线程安全来说,需要满足两个特性:

2017-06-13 09:53:52 538

原创 Java 8 foreach

10.【推荐】使用entrySet遍历Map类集合KV,而不是keySet方式进行遍历。 说明:keySet其实是遍历了2次,一次是转为Iterator对象,另一次是从hashMap中取出key所对应的value。而entrySet只是遍历了一次就把key和value都放到了entry中,效率更高。如果是JDK8,使用Map.foreach方法。 正例:values()返回的是V值集合,是一个lis

2017-06-12 16:18:01 672

原创 Java8 foreach

7.【强制】不要在foreach循环里进行元素的remove/add操作。remove元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁。 正例:Iterator<String> it = a.iterator();while (it.hasNext()) { String temp = it.next(); if (删除元素的条件) {

2017-06-12 14:52:00 717

转载 第7章 查询数据

学习目标 数据库管理系统的一个最重要的功能就是查询数据,数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选,以及确定数据以什么样的格式显示。MySQL提供了功能强大、灵活的语句来实现这些操作,本章将介绍如何使用SELECT语句查询数据表中的一列或多列数据、使用集合函数显示查询结果、连接查询、子查询以及使用正则表达式进行查询等。7.1 基本查询语句MySQL从数据表中查询数据的

2017-06-10 19:04:02 2019

原创 Spring @Conditional使用指南

话不多说,先上代码:public interface YRZTClient { YRZTClient getYRZTClient(); String getUser(); String getPassword();}这里是接口,我们在调用代码的时候,调用的是这个接口,具体怎么实现这个接口,我们还需要两个实现类:public class Channel1YRZTClient impl

2017-06-09 15:43:31 1145

转载 第9章 索引

概述这里的内容大部分是我学习书本上的内容的内容总结,加上自己的一些理解 索引可以快速的找到一行记录。如果不使用索引,那么就需要从第一条开始逐条去找,最后找到需要的记录,而索引并不是逐条去查找,而是使用了某些算法,快速去定位。表越大,逐条查询的代价也就越高。这时候如果有索引,就可以快速的定位到位置了。索引简介我们知道要去查询一个sql,先要去数据库管理系统中去查询,然后数据库管理系统去查找文件中的记

2017-06-06 13:03:11 459

原创 centos7实现自启动脚本

最近在使用redis,可是每次启动虚拟机都要启动一次redis,很是麻烦,所以打算做成自启动。 首先将启动的命令做成脚本,内容如下:/usr/local/redis/src/redis-server /usr/local/redis/redis.conf每个人安装的目录可能不同,所以这里会不太一样,按照实际情况修改就可以了。然后将这个文件保存为start_redis.sh名字可以任意,位置也可以

2017-06-06 10:48:19 4552

原创 1.2 多个线程多个锁

多个线程多个锁概述多个线程中,如果每个线程操作的对象是不同的,那么就会为每个线程产生一把锁,这个时候,在不同的线程中,锁是不起作用的。代码MultiThread.javapublic class MultiThread { private int num = 0; public synchronized void printNum(String tag) throws Interrupt

2017-06-05 01:24:28 631

原创 1.1 线程安全

线程安全 线程安全概念:当多个线程访问某一个类(对象或方法时),这个类始终都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。 synchronized:可以在任意对象及方法上加锁,而加锁的这段代码称为“互斥区”或“临界区”下面看一个例子: MyThread.javapublic class MyThread extends Thread { private int c

2017-06-04 19:41:05 266

原创 设计模式-组合模式

组合模式使用场景把部分和整体的关系用树形结构来表示,从而使客户端可以使用统一的方式处理部分对象和整体对象组合模式核心抽象构件角色(Component):定义了叶子和容器构件的共同点叶子(Leaf)构件角色:无子节点容器(Composite)构件角色:有容器特征,可以包含子节点UML说明举个简单的例子,就像我们windows系统的文件系统一样,比如说一个文本,一个视频,一个音频文件都是Leaf

2017-06-03 23:37:45 303

原创 使用spring+redis实现缓存

在使用缓存之前,需要先介绍一下,Spring为缓存提供的几个注解: @Cacheable:在方法执行前Spring先查看缓存中是否有数据,如果有数据,则直接返回缓存数据;若没有数据,调用方法并将方法返回值放进缓存 @CachePut:无论怎样,都将会将方法的返回值放到缓存中。@CachePut的属性与@Cacheable保持一样 @CacheEvict:将一条或多条数据从缓存中删除 @Cac

2017-06-02 16:37:43 498

原创 如何禁用笔记本的ctrl+alt+方向快捷键

选择高级设置

2017-06-02 12:52:19 2554

原创 第7章 网络基础配置

在我们实际使用docker的过程中,每个docker并不会独立的存在,比如说我们现在的系统就是tomcat是一个docker,zookeeper进行服务器注册的时候会需要tomcat的端口号,但是我们docker内部的端口号外部是无法访问的,所以就需要将docker容器内部的端口号暴露给外部可以访问。   docker提供了容器跟主机之间的端口映射和容器与容器之间的互联机制端口映射实现访问容器从

2017-06-02 11:19:49 341

原创 如何实现笔记本双屏

1.打开【控制面板>外观和个性化>显示>屏幕分辨率】。

2017-06-02 09:58:18 4503

原创 git回退远程版本库中的代码

本地为了测试,提交了一些在生产环境不使用的代码,完全是为了测试环境使用的

2017-06-01 15:10:14 558

原创 使用Redis实现MQ

要说明如何实现MQ之前,需要先说明一下MQ的分类,总共分为两类:publish-subscribe发布订阅模式有点类似于我们日常生活中订阅报纸。每年到年尾的时候,邮局就会发一本报纸集合让我们来选择订阅哪一个。在这个表里头列了所有出版发行的报纸,那么对于我们每一个订阅者来说,我们可以选择一份或者多份报纸。比如北京日报、潇湘晨报等。那么这些个我们订阅的报纸,就相当于发布订阅模式里的topic。

2017-06-01 13:44:52 29499 1

原创 YAML在Spring Boot下如何使用?

首先yaml文件在Spring Boot工程中的位置: 下面就介绍yaml的几种形式,这集中形式在我们的系统中如何使用。一 对象形式如下:redis: host: 127.0.0.1 port: 6379我们要获取这种数据很简单,也是我们平时开发中见的最多的,如下:@Value("${redis.host}")private String host; 二 数组形式如下:st

2017-05-31 16:52:45 2390

空空如也

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

TA关注的人

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