- 博客(43)
- 资源 (10)
- 收藏
- 关注
原创 mybatis sql syntax error, no terminated. SEMI 异常
SQL<update id="updateDeptList"> <foreach collection="list" item="item" separator=";"> update dept <set> <if test="item.name !=null and item.name != '' "> name = #{
2021-04-12 13:19:07 1286
原创 Java基础-HashMap源码
Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象。其中,键对象不允许重复,而值对象可以重复。并且值对象还可以是 Map 类型的,就像数组中的元素还可以是数组一样。但是Map不保证映射元素的顺序HashMap只允许存在一个为空的键,但可以存在多个为空的值先来看一下源码中几个比较重要的成员变量//初始化容量static final int ...
2020-01-08 16:36:13 178
原创 Java运算符详解
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public class data13{ ...
2020-01-08 11:06:02 161
原创 快速理解二进制计数的基数和位权
伸出你的右手,从小指开始,给每个手指指定一个位权,位权依次是1、2、4、8、16。手指有伸直和弯曲两个状态,把伸直状态用数字1表示,弯曲状态用数字0表示。现在将右手的五个手指全部伸直,然后将拇指和食指弯曲,从拇指开始依次记录下每个手指的状态:00111。00111这个神秘的数字就是二进制计数,称它为二进制数是因为它只有0和1两个数字,用数学语言来说就是基数为2。依次类推,基数为3的是三进制计数...
2020-01-08 08:52:20 7001
原创 Java基础-包装类
前言我们都知道Java是一门面向对象语言,而Java中提供的8中普通类型,例如int、double等等并不是对象,无法参与转型、泛型、反射等等操作,Java为了弥补这一缺陷,故提出了包装类。包装类对应基本数据类型对应的包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDo...
2020-01-06 13:23:12 137
原创 Java基础-内部类
前言在java语言中,可以把一个类定义到另外一个类的内部,在类里面的这个类就叫内部类,外面的类就叫外部类。成员内部类顾名思义,成员内部类就是指一个类作为一个成员存在于另一个类的内部。这就成为成员内部类。如下:public class ExterNal { class InsIde{ //内部类 public void a () { System.out.println("a")...
2020-01-06 13:21:46 112
原创 Java基础-==和equals
前言==和eques也是Java面试题中经常出现的一道,基础不牢导致每次遇到这个问题都模棱两可,这也是写这些Java基础文章的主要原因。====是直接比较的两个对象的堆内存地址,如果相等,则说明这两个引用实际是指向同一个对象地址的。但是我们又常常碰到这样一个问题public class StringClass { public static void main(String[] arg...
2020-01-06 13:21:02 217
原创 Java基础-抽象类和接口
前言在面试题中经常会出现这样抽象类和接口比较的题目,那么什么是抽象类?什么是接口呢?还有它们有什么区别呢?在讨论以上问题之前我们先来看一下抽象类和接口的特征吧。抽象类我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的。如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类。比如new A...
2020-01-06 13:20:00 262
原创 Java基础-List集合及实现类
上一篇已经了解了什么Collection下的Set接口。今天来记录一下List接口以及接口的常用实现类。ArrayListArrayList是Java中用到的非常多的一个集合类。它位于Java的util包中,继承了AbstractList接口,实现了List接口、RandomAccess接口、Cloneable接口、Serializable接口。ArrayList实现List,得到了Li...
2020-01-06 10:48:43 177
原创 Java基础-Set集合及实现类
前言Set接口继承Collection接口,实现类有HashSet、LinkedHashSet、TreeSet。Set接口的核心方法boolean add(E e); //新增元素boolean remove(Object o); //删除指定元素void clear(); //删除所有元素boolean contains(Object o); //判断元素是否相同lterat...
2019-12-23 17:06:23 616
原创 Java基础-线程池
前言在一个应用程序中,我们需要多次使用线程,也就意味着,我们需要多次创建并销毁线程。而创建并销毁线程的过程势必会消耗内存。而在Java中,内存资源是及其宝贵的,所以,我们就提出了线程池的概念。线程池那么什么是线程池 ?顾名思义,线程池就是一个装线程的池子,用来管理线程的创建和回收,重复利用等等,从而达到减少内存消耗的目的。创建线程池线程池的最上层接口是Executor,Executor接...
2019-12-23 11:28:53 115
原创 Java基础-多线程(线程同步、线程锁、死锁)
什么是线程?在了解线程之前,首先要知道什么是进程。首先,进程是一个动态的过程,是一个活动的实体。简单来说,一个应用程序的运行就可以被看做是一个进程,而线程,是运行中的实际的任务执行者。可以说,进程中包含了多个可以同时运行的线程。创建多线程的三种方式方式一:继承Thread类,重写run方法// 设置线程名称public ThreadClass(String name) { su...
2019-12-20 13:45:57 195 1
原创 Java基础-String类
前言String类可以说是Java基础中非常重要的一个知识点了,为避免以后百度,记录一下。基本使用1、把字符串封装成对象。String a = new String("hello");2、将字符数组封装成对象。char[] chars = {'h','e','l','l','o'};String chars_1 = new String(chars);3、将字节数组中指定位置...
2019-12-18 16:12:41 236 1
原创 Java基础-反射
介绍JAVA反射机制是指程序在运行状态时,可以动态获取某个类的成员属性,变量,方法等等。还可以动态的创建类的实例,通过类的对象调用类的方法等等的动态操作。这种动态操作称为Java的反射机制。那么在了解反射机制前需要先了解一下在Java中类是如何加载的。在Java程序执行的时候,首先jvm会从Java硬盘中读取源文件,并将源文件(.Java文件)读取到方法区中并创建对应且唯一的class文件...
2019-12-18 11:05:20 118
原创 Java基础-final、finally、finalize
Finalfinal修饰类被final修饰的类无法被继承,类中属性全部默认为final,所以在Java中不允许使用abstract和final修饰同一个类,因为abstract抽象类必须被继承。当在设计类时,假如一个类不需要有子类,内容不允许被修改, 并且此类后期不会扩展,那么就将此类设置为final类。final修饰方法被final修饰的方法不允许被子类重写,但不影响被子类继承。pub...
2019-12-16 15:56:10 127
原创 Java基础-方法的重写与重载
重写(Overriding)什么是重写? 在Java中一个子类继承一个父类,这就有了继承关系,子类就拥有了父类的所有非私有化的属性、方法、构造函数的使用权。当子类需要修改父类的一些方法进行扩展,增大功能,这种方式就叫做方法的重写。例子/** * 动物类 */class Animal { public void out() { System.out.println("this ...
2019-12-16 15:55:25 207
原创 Java基础-面向对象的七大设计原则
前言代码要想写的好,设计模式不能少。只有能熟练运用面向对象的七大原则,开发项目的时候才能写出漂亮而且易于修改的代码。下面是七大原则的英文说明。Single Responsibility Principle:单一职责原则Open Closed Principle:开闭原则Liskov Substitution Principle:里氏替换原则Dependence Inversion Pr...
2019-12-16 15:54:45 136
原创 Java基础-面向对象的三大特性
前言Java面向对象的三大特性,封装、继承、多态。类和对象首先了解一下什么是类?什么是对象?Java把真实世界中某些具有共同特性的实体抽象出来,形成一个类,而某个具体的实例就是对象。比如说动物就是一个类,动物包含很多,比如猫,狗,狮子,大象等等这些就是对象。封装所谓的封装指的就是隐藏对象的属性以及实现的细节,仅对外提供对应的访问方式(也就是所谓的接口)将不需要对外提供的内容进行隐藏。...
2019-12-16 15:54:10 191
原创 SpringBoot-logback日志管理
前言SpringBoot本身就内置了logback功能,但是想要输出项目所需要的日志格式,比如输出到磁盘、按每天归档、或者日志切分什么的,单靠自带的日志配置是仅仅不够的,所以需要在项目中配置logback.xml文件,已需要的格式输出日志到指定位置。POM依赖SpringBoot本身内置了logback功能,所以不需要手动导入依赖。下面一起来看一下内置依赖位置。<parent&...
2019-12-16 15:53:01 151
原创 SpringCloud-系统架构演变过程
前言系统架构演变过程,单体模式架构->分布式架构->SOA架构->微服务架构单体模式单体模式架构也称传统模式架构,单体模式是指所有功能模块全部包含在一个jar包或者war包中,开发简单,维护简单。适用于小型项目。单体模式优点开发简单维护简单单体模式缺点代码耦合度极高,开发维护困难。无法针对不同模块进行针对性优化无法水平扩展容错率低,并发能力差垂直...
2019-12-16 11:51:35 457
原创 SpringCloud-Eureka集群(高可用)
前言在微服务分布式的实际开发中,需要保证在发生故障时各组件的高可用。而Eureka的高可用就是通过进行集群部署,保证当某一台服务不可用时,会进行自动转移至可用的服务中。在讲解Eureka集群前,先来看一下分布式中的CAP。CAP根据百度百科定义,CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Par...
2019-12-11 21:06:03 206
原创 SpringCloud-Eureka单机
简介Spring Cloud Eureka是SpringCloud Netflix项目下的服务治理模块,它包含Server和Client两部分。而SpringCloud Netflix项目是Spring Cloud的子项目之一,它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),网关(Zuul),负载均衡(Ribbon)等。Eureka服务端eureka服务端也成为“注...
2019-12-11 14:51:58 136
原创 RabbitMQ 示例代码
前言本章主要讲RabbitMQ的简单模式以及三种交换机的使用方法,核心概念请转到:RabbitMQ核心概念编程环境:JDK:1.8 Maven:3.6.0 Amqp:3.6.5简单模式 :一个生产者对应一个消费者。消息生产者/** * * @ClassName Producter * @Description 消息生产者 * @Date 2019年12月9...
2019-12-09 18:24:27 477
原创 RabbitMQ 核心概念
RabbitMQ 介绍1 、简介消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。而RabbitMQ是消息队列的一种,他遵循AMQP 协议。2、什么是AMQP协议Advanced Message Queuing Protocol (高级消息队列协议)AMQP是一个标准开放的应用层的消息中间件(Me...
2019-11-14 10:20:44 235
原创 RabbitMQ安装
前言因为RabbitMQ是用Erlang语言编写,所以安装RabbitMQ的前提是要先安装Erlang安装Erlang???? 下载地址——>Erlang官网根据电脑位数选择64位or32位下载完成后一路next 。最后配置环境变量 ERLANG_HOME添加path变量 %ERLANG_HOME%\bin最后以管理员身份运行cmd,再输入erl,看到版本号就说...
2019-10-29 13:40:32 213
原创 SpringBoot学习记录(十):SpringBoot整合Redis并使用注解实现缓存(含解决注解缓存乱码问题)
整合工具版本1、SpringBoot 2.1.02、JDK1.83、MySQL8.0.174、Redis3.0.504MySQL创建测试表use springboot;CREATE TABLE user( userId INT NOT NULL PRIMARY KEY AUTO_INCREMENT, userName VARCHAR(255), password VA...
2019-10-28 10:07:39 505
原创 SpringBoot学习记录(九):使用RestTemplate发送http请求详解
RestTemplate简介RestTemplate是Spirng提供的远程访问http的工具,大幅度降低了提交表单的难度,并附带自动转换JSON的功能。工具底层默认使用SimpleClientHttpRequestFactory作为连接工具,当然也可以通过setRequestFactory进行连接方式覆盖。方法列表 方式 方法名 GET ...
2019-10-23 11:48:35 1313 1
原创 Http请求状态码及SpringBoot常用注解详解
(1)成功Successful2xx:此类状态码标识客户端的请求被成功接收、理解并接受。常见如200(OK)、204(NoContent)。(2)重定向Redirection3xx:这个类别的状态码标识用户代理要做出进一步的动作来完成请求。常见如301(MovedPermanently)、302(MovedTemprarily)。(3)客户端错误Client Error 4xx:4xx类别的状态码是当客户端象是出错的时使用的。常见如400(BadRequest)、401(Unauthorized)、40
2019-10-23 08:15:14 1202
原创 SpringBoot学习记录(八):文件的上传(含多文件上传)和下载
前言在项目的开发过程中,或多或少都会涉及到文件的上传和下载,比如说(Excel、word)等等,这边文章主要记录在SpringBoot项目中,如何实现单个文件的上传和下载,以及多文件的上传。PS:本文中的前台展示界面使用thymeleaf模板。不会的可以参考右边的文章
2019-08-09 16:35:52 236
原创 SpringBoot学习记录(七):跨域资源共享——CORS
什么是CORSCORS(Cross-Origin Resource Sharing)“跨域资源共享”,是一个W3C标准,它允许浏览器向跨域服务器发送Ajax请求,打破了Ajax只能访问本站内的资源限制。什么是跨域请求大家都知道,现在最常见的开发模式就是前后端分离式开发,而当前端页面想访问后台数据时,就涉及到跨域请求,而跨域请求指的是从一个域名出发去访问另一个域名的资源时,当域名、端口号、协议...
2019-08-08 15:35:45 3347
原创 SpringBoot学习记录(六):集成Servlet、Filter、listener的三种方式
1、使用Bean的方式注册 Servlet、Filter、Listener项目结构首先创建 Servlet、Filter、Listenerimport javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;imp...
2019-08-07 10:59:25 154
原创 SpringBoot学习记录(五):异常处理的三种方式
1、ErrorController首先创建一个处理异常的Controller 实现ErrorController接口@Controller@RequestMapping(value="error")public class BaseErrorController implements ErrorController { private static final Logger LOG =...
2019-08-06 16:09:36 494
原创 SpringBoot学习记录(四):SpringBoot整合Thymeleaf
Thymeleaf简介Thymeleaf是什么? 简单的说它是一个类似于Freemarker和Velocity的模板,它可以完全的替代JSP。Thymeleaf在有网络和无网络的环境下皆可运行,它可以让前端工程师在浏览器查看页面的静态效果,也可以让后端工程师在服务器查看带数据的动态页面效果,这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器...
2019-08-06 10:32:24 184
原创 SpringBoot学习记录(三):SpringBoot整合Freemarker模板
Freemarker模板简介官方解释:FreeMarker 是一款模板引擎, 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。其实FreeMarker的原理就是:模板+数据模型=输出在SpringBoot项目中使用Freemarker模板1、搭建环境在pom.xml文件中导入资源<dependency> &l...
2019-08-01 20:11:30 368
原创 使用Eclipse打包Spirngboot项目
打包项目1、右键项目——Run As —— Maven claen2、右键项目 —— Run As —— Maven install3、打包好的项目存放在项目的target文件夹下可以根据需要设置打包方式为jar包 或者 war包,打包方式设置方法: 在pom.xml文件中的packaging标签中设置 ,或者在构建springboot项目时选择,如下图4、jar文件的执行...
2019-08-01 19:17:31 431
原创 SpringBoot学习记录(二):SpringBoot整合MyBatis
一、项目构建构建方法:SpringBoot项目构建项目构建成功后的目录二、添加MySql和MyBatis依赖在pom文件中加入以下代码: <!-- 集成MyBatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>myb...
2019-07-02 12:52:40 162
原创 基于Windows下的Redis以及Redis可视化工具的安装。
redis-server.exe --service-install redis.windows.conf --loglevel verbose
2019-07-01 18:34:00 229
原创 测试工具——PostMan
PostMan简介postman是一款功能强大的网页调试和模拟发送HTTP请求的Chrome插件,支持几乎所有类型的HTTP请求,操作简单且方便。优点1、支持用例管理2、支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能3、支持批量运行4、支持用例导出、导入 等等下载及安装下载地址:PostMan官网英文版API: 英文版PAI谷歌内部整理的:中文版API...
2019-06-25 20:40:26 1016 2
原创 SpringBoot学习记录(一) :项目构建
1、安装STS插件2、创建SpringBootDemoName:项目名Packaging:打包方式java Version:JDK版本号Group:项目组唯一IDArtifact:打包后的文件名称Version:程序的版本号Description:项目描述Package:包名安装所需要的环境、插件(例如 MyBatis、MySQL等等)项目整体结构:程序入口:...
2019-06-25 14:36:41 1042
原创 SpringBoot整合MyBatis MySQL的时区问题
今天使用SpringBoot整合MyBatis时报错。The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone ...
2019-06-25 10:15:29 1940
main_menu.7z
2019-06-21
各类中文API (java、ajax、JavaScript、jQuery、mysql、oracle )
2019-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人