- 博客(205)
- 资源 (2)
- 收藏
- 关注
原创 Eclipse__mybatis跳转xml的插件MyBatipse
背景: emmmm,不多说废话。国内开发基本上大多都是使用 mybatis 进行开发的,但是每次在查找到 mapper 层的时候,要看 SQL 语句只能通过自己手动查找文件,然后再根据方法进行查找。不仅很繁琐,还很耗时间。不过现在有插件可以帮我们解决这个问题了。1. 安装 步骤如下: 插件路径为:http://dl.bintray.com/harawata/eclipse/然后一直...
2020-04-23 09:31:43 871
原创 Eclipse_彻底删除多余的工作空间
背景: 以前创建eclipse工作空间的时候,创建多了,最有有一个空间决定不用了,然后打算把空间删除干净。之前一直没有去研究这个,然后就顺手记下来。1. 查看工作空间 要删除的工作空间如下: 在这边可以查看所有的工作空间,当然还可以通过查看配置文件来看。这个配置文件下面会提到,这边不做介绍。2. 删除操作 删除对应的目录以我自己要删除的工作空间来举例。我的目录为F:\Eclips...
2019-09-05 08:30:44 3042
原创 maven_配置多个仓库
1. 发生背景 物联网开发计划结束,另一个项目那边有需求,于是让我们转个项目进行开发。然后在搭建新项目的时候,突然发现这个项目里面用到了自己私库的jar包,并且这些jar包在公库里找不到。 关键问题来了,就是配置多个仓库!2. 失败的解决方法 我原本以为这个不就是在maven配置的时候加一个镜像就能解决的事情,结果并不是!最初的样子如下:后面加了一个私库的镜像后,如下:结果只有...
2019-09-04 13:50:06 2496 2
原创 Mybatis_java.lang.UnsupportedOperationException异常
1. 发生异常的背景 情景:好惭愧啊,最近居然犯了两次不该犯的错误。都怪自己不够细心。刚刚好自己在Mybatis这一模块上,根本没有记录多少,就哪来当做博文的材料吧。我们在使用Mybatis的过程中,常常需要返回一个List集合。这个时候,如果我们一不小心写错了返回类型,则会报一个java.lang.UnsupportedOperationException错误,详情如下:// 所报的主要...
2019-08-30 13:28:52 947
原创 Mybatis_ReflectionException:There is no getter for property named 'distinct' in 'class tk.mybatis
1. 发生异常的背景 情景:我在Service层里面继承了通用mapper接口,其中有一个方法是selectByExample,然后在调用的时候报了一个org.apache.ibatis.reflection.ReflectionException错误,详情如下:// 所报的主要异常如下:org.mybatis.spring.MyBatisSystemException: nested...
2019-08-28 09:22:31 12226 13
原创 Eclipse_maven项目打包跳过单元测试案例
使用eclipse进行单元测试打包跳过单元测试案例,总体上来讲有两个方法。1. 手动打包设置通用的命令为clean compile package。2. 配置pom文件进行设置<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId>...
2019-08-07 11:34:11 865
原创 SpringBoot_yml文件配置值以特殊字符开头
1.故事背景 为了更方便进行调控配置,将某些值设置在yml文件中,方便管理。我们来看一下原先的配置情况如下图:然后我们在运行时看一下所取到的值为:2. 原因 我们通过查看源码可以发现原来这么写会被认为是八进制的数值,它会自动转换成十进制。我们打开ConstructYamlInt类,可以看到以下这段代码: 我们发现如果是+、-、0、0b、0x、:的字符会被特殊处理掉。3.解决方...
2019-08-02 14:34:23 10190
原创 Eclipse_设置编辑器背景护眼色
背景: 感觉eclipse白色或者黑色的背景看久了,比较累。后来自己搞了个绿色的背景,而且同事看见我使用该色调,于是就也叫我给他弄一个。后来同事离职了,但是走了之后让我给他再弄一下,于是便写下了该教程。1. 设置方式 然后上面就是我自己试过的颜色度,感觉还阔以。当然你可以根据自己的舒适感来调整。 ...
2019-07-24 16:51:01 586
原创 Redis_配合Lua做Java分布式事务锁
Redis作Java分布式锁 我们都知道redis现在成为越来越多人作为缓存工具的选择,redis在性能、操作等方面上有着独特的优势。1. 检查reids版本 因为redis是在2.6版本后才内置了Lua脚本解释器,所以也就是说要用redis执行lua脚本,最基本的要求就是redis版本必须是2.6.0以上。 查看redis版本命令:info在启动redis客户端后,连接redis客...
2019-07-10 11:41:38 826
原创 MySQL优化__基础优化注意选项
SQL语句基本优化 MySQL优化:我们在写SQL的过程中要注意一些点,合理地SQL对于项目的稳定性以及未来的发展性以及可塑性都是至关重要的。该篇是一些最简单的优化点。1. SQL语句中包含的值不应该过多 MySQL对于IN做了相应的优化,即将IN中的常量全部都储存在一个数组里面,而且这个数组还是排好序的。但是如果数值太多,产生的性能消耗也是比较大的。 建议:1. 对于连续数值,能用 b...
2019-07-04 11:07:42 288
原创 MySQL认知__explain简介(下)
EXPLAIN的基本介绍 关于MySQL的优化,我们首先要了解explain这个东西。explain能够帮助我们来查看我们所写的SQL的内部执行计划,包括是否使用索引、有没有做全表扫描等等,让我们能更好地了解自己编写的SQL。 我们深入了解MySQL的基于开销的优化器,可以获得很多可能被优化器考虑到的访问策略的细节,以及当我们编写的SQL在何种情况下不会被优化器所采用。expl...
2019-07-03 11:19:39 280
原创 MySQL认知__explain简介(上)
EXPLAIN的基本介绍 关于MySQL的优化,我们首先要了解explain这个东西。explain能够帮助我们来查看我们所写的SQL的内部执行计划,包括是否使用索引、有没有做全表扫描等等,让我们能更好地了解自己编写的SQL。 我们深入了解MySQL的基于开销的优化器,可以获得很多可能被优化器考虑到的访问策略的细节,以及当我们编写的SQL在何种情况下不会被优化器所采用。1. e...
2019-07-02 18:37:55 223
原创 TCC分布式事务_样例讲解
分布式事务协议的背景 之前几篇讲的是关于分布式的相关事项,今天我们用一个电商系统的样例来讲述分布式事务的工作。1. 业务场景介绍 假设现在有一个电商系统,里面有一个支付订单的场景。如下图: 那对一个订单支付之后,我们需要做下面的步骤:更改订单的状态为“已支付”扣减商品库存给会员增加积分创建销售出库单通知仓库发货2.实现TCC分布式事务的效果 TCC分布式事务要求的就是[1...
2019-03-11 17:03:30 2205 3
原创 TCC分布式事务简介
分布式事务协议的背景 近年来,因为微服务解决了我们以往开发中系统可扩展性差以及耦合度高的问题,所以微服务炒得越来越火。一时间各种框架和组件的出现,更是为微服务的开发提供了便利。&nbsp; 微服务是通过多个小服务之间进行组合,来组成更加强大的性能,并且服务间的数据都是独立部署的,避免了单点故障导致全局瘫痪。然而,我们为了解决分布式型事务,二阶段提交协议(2PC)和三阶段提交协议(3PC)也不...
2019-03-01 15:58:03 2131 1
原创 分布式事务_三阶段提交(3PC)协议
三阶段提交协议 三阶段提交协议出现背景:我们初识分布式系统篇说过,分布式系统遵守CAP理论,于是我们在权衡之中,拿取部分一致性换取可用性。在BASE理论中,业界大佬通过长时间的测试和总结,设计出了二阶段提交协议(2PC),但是2PC设计中还存在缺陷,于是就有了三阶段提交协议,这便是3PC的诞生背景。1. 三阶段提交协议 三阶段提交(Three-phase commit)也叫三阶段提交协议,是...
2019-02-28 16:49:49 10728 3
原创 分布式事务规范及2PC协议简介
分布式事务协议的背景 随着网络时代的快速发展,并发量越来越高、数据量越来越多的压力,使得大型项目不得不重新考虑网站架构在高可用、易伸缩、可扩展以及安全等问题。&amp;nbsp; 因此为了解决高可用架构,于是发布式系统应用而生。而分布式为了保证数据的高可用,通常,我们会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。为了对用户提供正确的增\删\改\差等语义,我们需要保证这些...
2019-02-28 11:13:05 624 2
原创 分布式事务概念及理论
分布式事务的简介1. 事务简单介绍 事务是指一组通常包含对数据进行读或写操作的动作集合。 事务的目的:1.如果事务失败了,返回事务之前的状态的。2.事务在并发操作时,进行一个隔离操作,避免事务之间的相互干扰。 通常事务具有以下四个特性:原子性(Atomicity):事务中所有操作是不可再分割的原子单元。事务中所有操作要么都执行成功,要么都执行失败。一致性(Consistenc...
2019-02-27 18:27:44 2298
原创 ELK简介以及新旧版架构介绍
ELK的简介1. ELK简单介绍 ELK是elastic公司提供的一套完整的日志收集、展示解决方案,是三个产品的首字母缩写。这三个产品分别是ElasticSearch、Logstash和Kibana,同时加入beats来优化Logstash。ElasticSearch:是一个基于Lucene构建的分布式开源项目,采用的是RESTful搜索引擎。Logstach:用于传输和处理日志、事务或...
2018-12-27 23:53:15 1092
原创 PC版微信扫描登陆原理
1. 二维码背景 自从微信推广二维码以来,在各个领域二维码的使用越来越广泛,几乎覆盖了各行各业,甚至连一些软件也使用二维码来登陆。那么在二维码登陆的背后是什么原理呢?2. 解析二维码 我们要登陆PC版微信,需要扫描的图片如下: 我们通过解析路径发现其指向的路径为https://login.weixin.qq.com/l/obsbQ-Dzag==。那么这个网址有什么用呢?它是怎么来实现和登...
2018-11-20 22:43:10 5058
原创 maven_Archive for required library
1. 问题背景? 现在大部分互联网开发公司使用的框架基本上都是springboot,springboot给我们带来了更便捷的开发。然而springboot的依赖jar包配置一般都在pom文件,在这过程中,我们会经常遇见一些问题。 今天记录的是常见问题之一:Archive for required library: ‘X:/XX/com/itextpdf/itextpdf/5.5.10/itex...
2018-11-19 09:43:07 712
原创 VsCode的简介与安装
关于VsCode的简介 VsCode的全称是Visual Studio Code,是微软于2015年发布的一款免费开源的现代化轻量级代码编辑器。
2018-11-10 16:48:40 7614
原创 Java注解源码_@FunctionalInterface
在我们查阅JDK源码的过程中,常常会遇见@FunctionalInterface这个注解,大概地将该注解就是用来标注函数式接口。 “函数式接口”是指仅仅只包含一个抽象方法的接口。 代码如下:package java.lang;import java.lang.annotation.*;@Documented@Retention(RetentionPolicy.RUNTIME)...
2018-08-24 17:05:56 323
原创 NB-IOT简介
NB-IOT是近几年比较火热的项目之一,很多行业都在为此做准备,大有蓄势待发之感。在大家万物联网的口号中,NB-IOT作为一个分支,也吸引着无数的人在这方面进行尝试。那么我们就有必要了解NB-IOT是什么了。1. NB-IOT的概念 窄带物联网(Narrow Band Internet of Things,NB-IOT)成为万物互联网络的一个重要分支。NB-IOT构建于蜂窝网络,只消耗大...
2018-08-21 16:31:06 7321
原创 NB-IOT的背景基础知识
java.lang.String分析摘要: &lt;1&gt;join重载方法 &lt;2&gt;toLowerCase重载方法 &lt;3&gt;replaceFirst(String regex, String replacement) &lt;4&gt;replaceAll(String regex, String replacement) &lt
2018-08-20 18:22:20 1612
原创 SpringBoot___发布到独立的tomcat中运行
在开发阶段我们推荐使用内嵌的tomcat进行开发,因为这样会方便很多。但是到生成环境,我们都会用独立的tomcat容器中运动,因为我们需要对tomcat做额外的优化,这时我们需要将工程打包成war包进行发布。 1. 打包方式成war 首先要将打包的后的格式改成war包。 2. 排除内嵌的tomcat包 设置为provided是在打包时将该包排除,因为要放在独立的tomcat...
2018-06-21 17:52:24 304
原创 SpringBoot___访问JSP页面报404错误
1.报错详情 启动springboot项目,然后访问JSP找不到页面,报404错误。2. 原因 因为springboot使用的是内嵌的tomcat,而springboot是不建议使用jsp页面的,所以不支持解析jsp页面。需要导入额外的包才能解决。3.解决 在依赖中添加额外的jar包即可:<dependency> <groupId>org...
2018-06-21 16:57:20 3611 3
原创 SpringBoot___项目开发整合与配置(二)
1. 与Redis整合 SpringBoot中提供了RedisTempplate的操作,这边不做太多介绍,我们来看下如何整合Redis:@Configuration@PropertySource(value="classpath:redis.properties")public class RedisSpringConfig{ @Value("${redis.maxTota...
2018-06-21 15:17:10 217
原创 SpringBoot___项目开发整合及设置(一)
1. 设置扫描包 SpringBoot我们可以通过@SpringBootApplication来标记扫描其同位置的所有类,也可以通过在*Application类中手动来指定扫描某些包,其设置如下:@ComponentScan(basePackages="com.practice")public class SpringBootApplication{ 我们可以通过在springb...
2018-06-13 15:10:50 360
原创 Java源码___StringBuffer类(二)
java.lang.StringBuffer类分析摘要: <1>trimToSize( )方法 <2>setLength( int newLength )方法 <3>icharAt(int index)方法 <4>codePointAt(int index)方法1.trimToSize( )方法 该方法会改变该类缓存区的大小,该方...
2018-06-09 15:45:17 242
原创 Java源码___StringBuffer类(一)
java.lang.StringBuffer类分析摘要: <1>简介 <2>常量和变量 <3>构造器方法 <4>length()方法 <5>capacity()方法 <6>ensureCapacity(int minmumCapacity)1.简介 类介绍: StringBuffer类,它是一个具有字...
2018-06-09 14:00:36 328
原创 SpringBoot___自定义消息转换器、MVC配置
1. 自动配置的消息转换器 在SptingBoot的源码中的spring-boot-autoconfig的Jar包下,我们可以找到org.springframework.boot.autoconfigure.web.HttpMessageConvertersAutoConfiguration.class文件,这个类就是自动配置消息转换器:@Configuration@Conditi...
2018-06-08 18:07:51 1974
原创 SpringBoot___web开发自动配置
Web开发的自动配置类为:org.springframework.boot.autoconfigure 1. web自动配置解析 SpringBoot项目的web开发的自动配置位置如下: 然后寻找 2. 自动配置的ViewResolver(视图解析器) 我们都知道在使用Spring的过程中都离不开解析器,而最后返回的视图是根据视图解析器来操作的。而SpringB...
2018-06-08 16:38:43 2128
原创 Java源码___AbstractStringBuilder类(五)
java.lang.AbstractStringBuilder分析摘要: &amp;amp;lt;1&amp;amp;gt;regionMatches重载方法 &amp;amp;lt;2&amp;amp;gt;equalsIgnoreCase(String anotherString) &amp;amp;lt;3&amp;amp;gt;compareTo(String anotherString) &a
2018-06-07 18:17:56 189
原创 Java源码___AbstractStringBuilder类(四)
java.lang.AbstractStringBuilder分析摘要: &amp;amp;amp;lt;1&amp;amp;amp;gt;appendCOdePint(int codePoint)方法 &amp;amp;amp;lt;2&amp;amp;amp;gt;equals() &amp;amp;amp;lt;3&amp;amp;amp;gt;contentEquals(StringBuffer
2018-06-06 18:06:43 224
原创 Java源码___AbstractStringBuilder抽象类(三)
java.lang.AbstractStringBuilder分析摘要: &lt;1&gt;offsetByCodePoints(int index, int codePointOffset) &lt;2&gt;getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) &lt;3&gt;setCharAt(int index,...
2018-06-01 17:43:04 389
原创 Java源码___AbstractStringBuilder抽象类(二)
java.lang.AbstractStringBuilder分析摘要: &amp;lt;1&amp;gt;trimToSize( )方法 &amp;lt;2&amp;gt;setLength( int newLength )方法 &amp;lt;3&amp;gt;icharAt(int index)方法 &amp;lt;4&amp;gt;codePointAt(int
2018-05-31 17:50:26 203
原创 Java源码___AbstractStringBuilder抽象类(一)
java.lang.AbstractStringBuilder分析摘要: &lt;1&gt;简介 &lt;2&gt;常量 &lt;3&gt;replaceFirst(String regex, String replacement) &lt;4&gt;replaceAll(String regex, String replacement) &lt;5&a
2018-05-30 15:40:41 398
原创 Java源码___String类(十)
java.lang.String分析摘要: &lt;1&gt;toCharArray()方法 &lt;2&gt;toLowerCase重载方法 &lt;3&gt;toUpperCase重载方法 &lt;4&gt;trim()方法 &lt;5&gt;toString()方法1.toCharArray()方法 该方法会返回this字
2018-05-29 22:50:54 282
原创 Java源码___String类(九)
java.lang.String分析摘要: &amp;amp;lt;1&amp;amp;gt;join重载方法 &amp;amp;lt;2&amp;amp;gt;toLowerCase重载方法 &amp;amp;lt;3&amp;amp;gt;toUpperCase重载方法 &amp;amp;lt;4&amp;amp;gt;trim()方法 &amp;a
2018-05-28 18:19:36 339
原创 Springboot_全局配置、自动配置、条件注解
1. @SpringBootApplication注解分析 SpringBoot项目使用一个全局配置文件application.properties或者是application.yml来进行全局配置。 配置位置:一般来讲,配置的位置在我们来看下@SpringBootApplication注解的源码@Target(ElementType.TYPE)@Retention(Rete...
2018-05-28 09:53:00 1878
《阿里巴巴Java开发手册》最新泰山版.zip
2020-04-30
免费-notpad++ 7.5.8 安装包
2018-10-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人