自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

咔咔学长

脑袋跟不上手速。

  • 博客(111)
  • 资源 (10)
  • 收藏
  • 关注

原创 简单几步使用Spring整合MyBatis(含配置多数据源和多Mapper XML文件路径)

我们先分析下使用者视角:代码中使用Mapper接口对数据进行数据库操作,具体的SQL在中。可以看到Mapper接口和Mapper xml是有一定的关联关系的,我们的配置思路也是如此,就是把两者绑定起来即可。dataSourcedataSourceMapper文件经过以上3个步骤,我们就使用Spring把Mybatis整合完成了。根据以上思路,来具体操作下。

2024-01-06 11:40:41 838

原创 解决ERROR! MySQL is running but PID file could not be found.

当查询mysql状态、或者重启MySQL发现如下错误。这个意思是说,根据配置查找不到pid文件。

2023-12-28 00:28:25 1227

原创 MySQL常用命令合集(Mac版)

启用脚本来执行,默认在。

2023-12-28 00:04:58 1154

原创 【Linux常用命令】-文件写入相关

i(–interactive):交互式删除,删除前逐个询问用户是否确认删除。-l(–link):删除符号链接文件而不是链接的目标文件。-d(–dir):删除空目录。-P(–preserve-root):保护根目录,避免意外删除。-u(–unlink):删除文件前,检查文件是否存在于一些程序中,如果存在则不删除。-W(–wait):等待其他删除者完成后再删除文件。

2023-11-26 21:25:02 615

原创 【Linux常用命令】-文件查询相关

l:以长格式显示文件和目录的详细信息,包括文件权限、所有者、大小、修改日期等。-t:按照修改日期和时间的顺序,显示最近修改的文件和目录。-a:显示所有文件和目录,包括以点开头的隐藏文件。-i:显示文件或目录的 inode 号。-R:递归地显示子目录中的文件和目录。-d:仅显示目录本身,而不是其内容。-r:逆序显示文件和目录的列表。

2023-11-26 20:59:51 473

原创 如何解决ClassNotFoundException、NoClassDefFoundError和ExceptionInitializerError

ClassNotFoundException是一个检查异常。当应用程序试图通过其字符串名称加载类,但是在classpath中找不到具有指定名称的类时抛出。一般发生于NoClassDefFoundError异常,看命名后缀是一个Error,无需用户去catch处理,与ClassNotFoundException相比有明显的区别。本项目直接编写的类,一般不会发生这个异常。这个异常通常发生在,本项目依赖的某个jar中的某个类。fill:#333;color:#333;color:#333;

2023-08-27 18:05:20 3105

原创 java.lang.NullPointerException: null 不显示异常栈

使用Java命令运行一个classes文件时,需要在该主类的全路径,对应根目录执行。第一次运行classes的姿势不对(直接在classes文件目录中,使用了Java命令),能快速调整正确,其实就是多年前曾踩过类似的坑。,HotSpot Server Compiler(C2)会透明的决定用fast throw来优化这个抛出异常的地方——,随着经验的不断累积,会潜移默化的影响你解决问题的思路。丢失了具体的异常栈,导致无法定位是哪行代码抛出了异常。这里排除日志用法的问题,以前是正常能输出异常栈的。

2023-08-26 20:43:18 852

原创 Data与Java8中的LocalDate相互转换

Date这个类在java.util包中,始于jdk1.0。后来在jdk1.8时,针对日期类进行了一个大的更新,专门新建了java.time包,新的日期类LocalDateTime就在这个包中。日常工作中,很容易碰到旧日期类Date,与新日期类LocalDateTime的相互转换。下面就介绍一下如何进行转换。

2023-07-23 22:58:54 1556

原创 解压报错,tar: Error opening archive: Failed to open ‘xxx‘

这种情况编写tar包的正确目录即可。如下图,解压文件报错。

2023-05-25 09:11:54 3169

原创 scala编译报错:expression expected but ‘.‘ found

Ctrl + C退出scala命令模式,在普通命令行中直接使用。

2023-05-24 22:52:10 444

原创 maven常用命令

maven常用命令

2022-10-10 09:02:21 334

原创 动态修改logback日志级别

应用在线上部署时,一般日志级别会设置为info级别。一些流量高的应用,甚至会设置为error级别。这样日志打的少了,日志文件就不会变的太大,接口的性能也会更高。但缺点也显而易见,出现问题时,由于日志太少,很难定位出问题在哪儿。排查线上问题时,就调用这个接口,入参可以为:ERROR、WARN、INFO、DEBUG、TRACE。这个时候,再请求第一个接口,就可以看到debug级别的日志了。今天就介绍一种,可以动态修改日志级别的方法。此时请求接口,仅输出一条info级别的日志。比如我现在改成debug级别。

2022-09-12 17:50:21 2697

原创 idea常用配置

一、代码配置1. 设置代码头每次创建代码的时候,无需手动编写创建人、时间等信息,一个配置搞定创建信息。1.1 配置配置页面如下:/** * @author 江羲 * @since ${DATE} ${HOUR}:${MINUTE} */1.2 效果新创建一个Java类,就会自动生成配置好的创建信息。...

2022-01-23 18:22:09 399

原创 Alfred4配置信息复制到其他电脑

1. 找到当前Alfred配置文件图中红框的文件:Alfred.alfredpreferences 就是Alfred的配置信息存储的文件。2. 把该文件复制到新电脑,相同目录即可。

2021-11-05 14:25:00 1005

原创 Mysql中的共享锁和排他锁

一、前言  刚开始学习MySQL中锁的时候,网上一查出来一堆,什么表锁、行锁、读锁、写锁、悲观锁、乐观锁等等等,直接整个人就懵了。好多文章都尽量把很多锁给列举一遍,生怕写少了内容不够丰富,有的连死锁、分布式锁都给写上了。其实给这些锁归归类,就清楚很多了!本篇文章只聊共享锁和排他锁,不过我们也不妨先看下锁分类。二、锁分类1. 按粒度按照锁粒度划分,可以将锁划分成行锁、页锁和表锁。这里只解释下行锁:按照行的粒度对数据进行锁定,锁定粒度小,发生锁冲突概率低,可以实现并发都高。但是对于锁的开销比较大,加

2021-08-15 17:16:53 2846 1

原创 【Linux常用命令】之文件查询类(du)

1 查询文件大小:du1.1 介绍du,英文全拼:disk usage。du 会显示指定的目录或文件所占用的磁盘空间。1.2 语法du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]1.3 参数说明-a或-all 显示目录中个别文件的大小。-b或-bytes 显示目

2021-05-16 15:00:03 211

原创 StarUML设置图形颜色

一、前言  看别人的UML图都是底色为粉黄色,但是使用原声staruml画图时,却是非常单调的黑白色。先看下官网的一张图,花里胡哨。而我们画出来的图,却是这样的!二、设置startUML -> PreferencesFill Color设置为:#fefed2Line Color设置为:#621000重新绘图...

2021-05-13 18:17:59 3861

原创 Staruml安装与破解,纯净方法(Mac版)

一、下载与安装从官方网站下载,网址:http://staruml.io/dmg文件下载完成后,双击安装。二、破解安装npm,在终端输入:brew install npm注意:如果出现“Error: Calling fails_with :gcc_4_0 is disabled! There is no replacement.Please report this to the homebrew/core tap:/usr/local/Homebrew/Library/Taps/ho

2021-05-13 17:59:18 3558 9

原创 java工程引用不到本项目中的类

一、现象  今天复制了好多代码到另外一个项目,发现有个自定义的类Maps.java在DfDataValues.java代码中引用不到,截图如下:DfDataValues.java和Maps.java在同一个模块下,不存在maven是否依赖的问题。本项目明明有一个Maps.java为什么在DfDataValues.java这个类中就是引用不到呢?二、排查使用快捷键cmd+O查找Maps这个类,奇怪了还真没有找到!1. 手动编译下我去,还是不能引用到。。。2. 强制运行(终极解决方案)在M

2021-05-07 20:07:52 3555 1

原创 Linux常用命令之文件操作

1. 复制命令cp [options] source dest参数-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。-f:覆盖已经存在的目标文件而不给出提示。-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。-r:若给出的源文件是一个目录

2021-05-06 15:18:36 129

原创 Spring类库_字符串转MD5

直接上代码 @Test public void digestTest(){ System.out.println(DigestUtils.md5DigestAsHex("咔咔学长".getBytes())); }输出结果:3fbf41503976b64eb53e9a756604e46d

2021-04-18 17:37:35 229

原创 SQL格式化工具类

1. 引入类库<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.31</version></dependency>2. 格式化的工具类APIpackage com.alibaba.druid.sql;public class SQLUtils {

2021-04-18 17:27:12 1779

原创 Sublime操作所有行文本

场景  复制出来很多行数字,需要把每行数据使用引号括起来,然后在每行后面都加上逗号。解决方式一使用鼠标选中你要编辑的行,然后按cmd+shift+L即可编辑多行。然后按左右箭头定位到你需要编辑的位置(行首、行尾、中间任意位置)。方式二光标停在某一行,然后按ctrl+shift+上/下箭头来选中你要编辑的多行。ps:windows编辑多行,选择需要编辑的内容, Ctrl+Shift+L即可编辑多行...

2021-03-13 19:15:13 678

原创 MySQL执行计划之Using filesort

一、介绍  Using filesort是MySQL执行计划Extra字段中的一个重要值,表示查询出所有数据再进行排序。此排序方式为文件排序,没有走索引排序using index.  一般来说,执行计划中如果Extra字段中值为Using filesort时,那么type字段(查询类型)一般为index或ALL。(两者都是查询所有数据,index与ALL区别为index类型只遍历索引树。通常比ALL快,因为索引文件通常比数据文件小。Index与ALL虽然都是读全表,但index是从索引中读取,而ALL是

2021-02-15 20:54:01 1906

原创 关闭占用端口的进程

命令好久不用,在此记录下~1. 查看进程idnetstat -nat | grep <端口号>或者lsof -i:<端口号>2.终止该进程kill -9 <进程号>使用以上两步,就能把占用端口的进程关闭了。

2021-02-14 18:33:40 414

原创 访问数据库报错:No database selected

异常栈如下Caused by: java.sql.SQLException: No database selected at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914) at

2020-11-15 14:44:42 2466

原创 zsh报错:_complete:96: bad math expression: operand expected at end of string

现象为了进入到Application文件夹,输入App后按tab键,想使用zsh的快捷提示功能,结果报错。如图所示:排查1.重新打开iTerm窗口刚打开命令行时,有一堆提示没有细看,现在重新打开命令行查看提示。[oh-my-zsh] For safety, we will not load completions from these directories until[oh-my-zsh] you fix their permissions and ownership and restart

2020-11-02 21:15:41 4921

原创 MacOS ssh 登陆超时后自动断开

在使用SSH客户端进行连接管理的时候如果长时间不输入命令, 服务器会自动断开连接!报错如下:client_loop: send disconnect: Broken pipe解决在你本机的 ~/.ssh/ 文件夹中添加 config 文件,并添加下面的配置:TCPKeepAlive yesServerAliveInterval 30第一行表示要保持连接;第二行参数表示每过30s发一个数据包到服务器表示“我还活着”...

2020-08-09 14:40:10 697

原创 Java随机生成一个字符串

前言  前段时间在模拟测试数据,来测试数据库的性能。需要随机生成字符串、数值类型的值,来组成一行数据记录。结果忘记怎样随机生成字符串,一直记得是什么MD5,后来查了下之前的代码,是用的UUID。在此记录一下两种好用的方式。一、UUID这个是JDK自带的工具类 public void randomStrTest(){ UUID uuid = UUID.randomUUID(); System.out.println(uuid.toString()); }

2020-08-09 13:44:52 599

原创 聚簇索引和二级索引介绍

前言  本篇文章主要介绍聚簇索引和二级索引的区别,以及从存储结构出发怎样更有效地优化SQL。一、索引介绍1.目的更快地查询到想要的数据2.实现方式在写数据(增、删、改)时动态维护指定的数据结构,每个数据结构都是一个索引;查询时根据某个数据结构来查询。3.举个栗子  一本3000页的《三国演义》对应数据库的一张表,目录对应索引,内容对应表中的数据。  想要查看第21章的内容,不使用索引时,最坏的情况可能需要翻3000页。使用索引的话,只需翻开书的目录(目录可能占据5页),然后发现第21章在1

2020-08-07 23:06:23 876

原创 java.util.ConcurrentModificationException错误分析与解决

一、错误原因在List、Set、Map三种集合循环中,新增或删除了本集合内的元素。Java会在循环结束时,比较当前集合中的元素个数与循环前元素的个数,不一致则抛出这个异常。如下HashMap的循环源码:二、举例与解决1. ArrayList循环中删除元素错误代码 public void removeInForeach() { List<String> strings = new ArrayList<>(Arrays.asList("a", "

2020-07-28 21:29:37 1205

原创 maven无法下载间接依赖包(The POM for com.demo:demo-common:jar:1.1.22 is invalid, transitive dependencies)

The POM for Xxx:jar:1.1.2 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for xxx

2020-07-01 22:34:17 6692

原创 CGLIB动态代理使用介绍

一、前言  说到动态代理,开发者们第一时间想到的就是JDK动态代理和cglib动态代理。了解Spring的同学应该知道,Spring AOP功能的底层实现,就是使用的这两种动态代理。两者区别JDK的动态代理机制只能代理实现了接口的类,而没有实现接口的类就不能实现JDK的动态代理;cglib动态代理是针对类来实现代理的,它的原理是对指定的目标类生成一个子类,并覆盖其中方法实现增强。使用cglib实现动态代理,完全不受代理类必须实现接口的限制。cglib底层采用ASM字节码生成框架,使用字节码技术生

2020-06-27 14:09:44 3244

原创 JDK动态代理介绍与使用

一、介绍  JDK动态代理是代理模式的一种实现方式。因为它是基于接口来做代理的,所以也常被称为接口代理。在JDK动态代理中有两个重要的角色:InvocationHandler(Interface)用户实现这个接口,用来编写代理类处理的核心逻辑。Proxy(Class)用来创建一个代理实例,此时需要用到上面自定义的InvocationHandler。二、功能  动态代理拥有代理模式的基本功能,如:调用真实方法的预处理、模块化通用功能。除此之外,还可以在运行时动态创建代理对象,无需针对每个接口

2020-06-26 13:05:18 792

原创 Springboot项目启动报错:Failed to create converter for [%clr] keyword

There is no conversion class registered for composite conversion word [clr]Failed to create converter for [%clr] keyword

2020-06-21 09:47:32 11078 4

原创 Maven打包错误:Failed to execute goal on project client: Could not resolve dependencies for project

Failed to execute goal on project client: Could not resolve dependencies for project org.example:client:jar:1.0-SNAPSHOT

2020-06-17 17:41:09 7046 3

原创 Spring AOP中的专业术语介绍

一、AOP简介AOP(Aspect-Oriented Programming, 面向切面编程): 是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, 面向对象编程) 的补充。AOP 的主要编程对象是切面(aspect), 而切面是把横切关注点模块化!在应用 AOP 编程时, 需要定义公共功能, 但可以明确的定义这个功能在哪里应用, 并且不必修改需要使用公共功能的类。 这样以来横切关注点就被模块化到特殊的对象(切面)里.二、AOP 的好处每个事物逻辑位于一

2020-06-14 20:44:26 10035 1

原创 项目中常用的maven内置插件,你知道哪些?

开发的代码使用maven进行管理,再常见不过。maven其实是由许多内置的插件,来支撑我们日常需求的。下面来看看都有哪些常用的插件,你注意到过吗?编译插件<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <!-

2020-06-07 21:07:14 727

原创 本地MySQL忘记密码怎么办?

前言  很久之前本机安装了MySQL,一直没用。后来本地程序要连这个MySQL,做些测试,结果忘记密码了。好在本地的Navicat客户端,可以连上这个MySQL。下面的操作,前提是你的Navicat客户端,可以连上这个MySQL!如果没有保存密码的Navicat或者连接MySQL的其他客户端,那再百度下,或者重装吧。。直接客户端改密码1. 打开“用户”菜单2. 直接修改无需使用原密码...

2020-06-07 20:30:06 1158

原创 logback多环境日志配置(SpringBoot项目)

使用场景  线上环境启动项目时,把程序的日志输出到指定的日志文件中。控制台中不打印日志,这样可以节省磁盘IO资源。而在本地启动时,把日志直接输出到控制台即可,方便排查问题。 此时,就需要根据不同的环境,使用不同的日志输出策略。方式一:springProfile标签在同一份日志配置文件中,编写指定的日志输出策略。1. logback-spring.xml文件在springProfile标签内编写日志输出规则,标签中的name属性值就是环境的编码。<?xml version="1.0" enc

2020-06-07 20:09:45 3799

MAC contexts 窗口管理工具

MAC contexts 窗口管理工具

2023-08-20

OmniGraffle-7.15.1.dmg

OmniGraffle Mac功能强大且易于使用的应用程序创建漂亮的图表和设计。主要用于绘制流程图、图表、组织结构图、ui界面设计等等。

2020-04-23

Mac版SwitchHosts3.5.4+SublimeText3.zip

SwitchHosts 是一个host文件管理工具,可以一键变更配置好的host,无需重复修改host文件。 SublimeText是一款很棒的文档编辑器,拥有丰富的编辑功能;高性能处理文本,可以快速打开大文本文件。

2020-04-23

Mac版jdk11+maven3.6.1.zip

mac版本的jdk11和maven3.6.1 由于官网下载速度较慢,存放于此,共各位使用。 注:jdk11中没有移除了rt.jar and tools.jar,如需使用,请下载jdk8及之前版本。

2020-04-23

gradle-4.10.2-all

Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。

2018-10-10

tbschedule-3.3.3.2.jar

TBSchedule是一个支持分布式的调度框架,能让一种批量任务或者不断变化的任务,被动态的分配到多个主机的JVM中,不同的线程组中并行执行。基于ZooKeeper的纯Java实现,由Alibaba开源。

2018-05-24

Eclipse从入门到精通

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

2018-01-22

Spring源码深度解析

《Spring源码深度解析》从核心实现和企业应用两个方面,由浅入深、由易到难地对Spring源码展开了系统的讲解,包括Spring的设计理念和整体架构、容器的基本实现、默认标签的解析、自定义标签的解析、bean的加载、容器的功能扩展、AOP、数据库连接JDBC、整合MyBatis、事务、SpringMVC、远程服务、Spring消息服务等内容。, 《Spring源码深度解析》不仅介绍了使用Spring框架开发项目必须掌握的核心概念,还指导读者如何使用Spring框架编写企业级应用,并针对在编写代码的过程中如何优化代码、如何使得代码高效给出切实可行的建议,从而帮助读者全面提升实战能力。, 《Spring源码深度解析》语言简洁,示例丰富,可帮助读者迅速掌握使用Spring进行开发所需的各种技能。《Spring源码深度解析》适合于已具有一定Java编程基础的读者,以及在Java平台下进行各类软件开发的开发人员、测试人员等。

2017-11-07

Spring技术内幕(第2版)

Spring技术内幕:深入解析Spring架构与设计原理(第2版)

2017-10-16

空空如也

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

TA关注的人

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