自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

u011047968的专栏

越努力越幸运

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

原创 Mybatis如何打印sql语句

1、SpringMVC集成mybatis配置首先,添加mybatis的配置文件mybatis-config.xml,可以原样复制<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>

2020-05-28 18:11:40 2573

原创 Java标签Label,如何不使用continue和break跳出循环

文章目录前言单层循环双层循环多层循环总结前言今天看同事代码的时候看到使用label跳出循环的方式甚感惊讶,java真的是博大精深,赶紧总结一下用法。单层循环使用单层循环进行测试,测试代码如下: /** * 使用单层for循环测试 */ public static void labelTest01() { System.out.println("---------使用单层for循环结合break跳出循环---------"); for

2020-05-22 15:37:06 727

原创 SpringMVC学习(六)——Spring四种方式整合MyBatis

1、引言本文一共提供了四种Spring整合MyBatis的方式分别是:常规整合使用SqlSessionTemplate整合使用SqlSessionDaoSupport整合使用org.apache.ibatis.annotations提供注解方式整合本文的相关源码请参考:chapter-6-springmvc-mybatis1(常规整合)chapter-6-springmvc-mybatis2(使用SqlSessionTemplate整合)chapter-6-springmvc-mybat

2020-05-21 10:32:21 303

原创 type-aliases-package的用法

type-aliases-package作用在Mybatis的mapper.xml文件中resultType的type或者paramterType会返回自定义entity,此时可以用全类名名来指定这些实体。举例: <select id="getUserInfoList" resultType="com.leo.model.UserInfo"> SELECT <include refid="BaseSql"/> FROM US

2020-05-20 21:31:58 60008

原创 Spring中对于WebApplicationInitializer的理解

1、前言在《SpringMVC学习(五)——零配置实现SpringMVC》这篇文章中我们没有使用Spring的配置实现了一个正常的SpringMVC的功能,里面核心的一个点就是使用了WebApplicationInitializer,那这篇文章就详细说明一下这个接口的作用。2、WebApplicationInitializer的定义从起初的Spring配置文件,到后来的Spring支持注解到后来的SpringBoot,Spring框架在一步步的使用注解的方式来去除Spring的配置的发展过程。WebA

2020-05-17 23:26:56 2203 2

原创 SpringMVC学习(五)——零配置实现SpringMVC

文章目录1、引言2、搭建过程2.1 开发环境搭建2.2 项目搭建2.2.1 首先看`web.xml`配置2.2.2 增加`WebApplicationInitializer`的实现类2.2.3 增加`ApplicationContextConfig`配置类2.2.4 增加`application.properties`配置文件2.2.5 增加`WebSpringMVCServletConfig`配置类2、测试结果1、引言从开始使用SpringMVC的那一天我就开始想如何减少SpringMVC的配置,如何

2020-05-17 13:25:08 1047 2

原创 如何使用@component-scan排除不需要的类

文章目录前因方式一方式二方式三方式四方式五方式六总结前因我们都知道component-scan在springmvc或者springboot中可以扫描包路径,但是我们如何使用里面的属性排除不需要扫描的类?方式一使用spring的xml配置方式实现,这个是基本功,知道这种方式,那么注解方式就容易理解了<!-- 定义项目扫描包的路径,并且排除ApplicationContextConfig和WebSpringMVCServletConfig--><context:component-

2020-05-17 11:46:17 16977

原创 Java后台架构知识点(待补充)

Java后台架构知识点汇总

2020-05-16 11:17:46 226

原创 HTTP状态码:204 No Content(总结HTTP状态码)

204 No Content:服务器成功处理了请求,但是没有返回任何内容。今天,遇到了一个204报错,索性把HTTP状态码总结一下,以备不时之需。HTTP常见状态码:200 —— 请求成功301 —— 资源(网页等)被重定向到其他URL404 —— 请求的资源(网页等)不存在500 —— 服务器内部异常HTTP状态码分类:大概分5类,第1位定义了状态码类型。具体分类如下:分类分类描述1XX信息,服务器收到请求,需要请求者继续执行操作2XX成功,操作被成功

2020-05-14 15:36:10 41139

原创 J.U.C系列(六)ForkJoin的使用

ForkJoin主要用于并行计算中,和 MapReduce 原理类似,都是把大的计算任务拆分成多个小任务并行计算。package com.leo.demo.juctest;import java.util.concurrent.ExecutionException;import java.util.concurrent.ForkJoinPool;import java.util.concurrent.Future;import java.util.concurrent.RecursiveTas

2020-05-14 00:31:09 229

原创 J.U.C系列(五)BlockingQueue的使用

BlockingQueuejava.util.concurrent.BlockingQueue 接口有以下阻塞队列的实现:FIFO 队列 :LinkedBlockingQueue、ArrayBlockingQueue(固定长度)优先级队列 :PriorityBlockingQueue提供了阻塞的 take() 和 put() 方法:如果队列为空 take() 将阻塞,直到队列中有内容;如果队列为满 put() 将阻塞,直到队列有空闲位置。使用 BlockingQueue 实现生产者消费者问题

2020-05-14 00:24:31 168

原创 java多线程中volatile关键字

一:计算机中的内存模型计算机中指令都通过CPU去执行,执行执行的时候一般都会涉及到读写,我们都知道CUP的计算速度是很快的,如果都把数据放到我们的主存中则会造成CPU每执行一条指令都要等待的问题,这个时候高速缓存Cache应运而生。Cache就是把一些处理的中间数据缓存起来大大加快了指令的处理速度。以上的模型针对于单核CPU是没有问题的,但是多核CPU的话就会产生数据不一致的情况。真实的计算机内存模型如下。这个内存模型比我们想的多了个“缓存一致性协议或者总线锁机制”,这个东东就是解决我们上面说的缓存

2020-05-13 23:55:31 574

原创 An internal error occurred during: "Launching MVC on Tomcat 6.x".

如果出现了上述的错误按照如下的3个步骤解决:首先关闭MyEclipse工作空间。然后删除工作空间下的“/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.genuitec.eclipse.ast.deploy.core.prefs”这个文件。在这个文件中存储了一些部署项目的信息。删了这个部署的项目的信息就没有错误了。重启启动MyEclipse即可解决了。...

2020-05-13 09:48:01 465

原创 手写一个简单的线程池MyThreadPool

说明手写的一个简单的线程池,旨在帮助了解线程池的工作原理。核心内容核心工作线程任务阻塞队列定义一个内部类去实现核心工作线程 /** * 内部类:工作的核心线程 */ class WorkThread extends Thread { @Override public void run() { getThreadLog("核心线程启动"); while (true) {

2020-05-12 18:04:02 364

原创 Java的自动装箱与自动拆箱

一:什么是自动装箱拆箱装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。java中需要装箱拆箱的类型如下:基本数据类型包装器类型int(4字节)Integerbyte(1字节)Byteshort(2字节)Shortlong(8字节)Longfloat(4字节)Floatdouble(8字节)Doublechar(2字节)Characterboolean(未定)Boolean二:

2020-05-11 15:58:42 304

原创 J.U.C系列(四)FutrueTask的使用

FutureTaskFutureTask实现了RunnableFuture接口,RunnableFuture接口继承于Runnable, Future<V>这使得FutureTask既可以当做一个任务执行,也可以有 返回值。public class FutureTask<V> implements RunnableFuture<V>public interface RunnableFuture<V> extends Runnable, Future&

2020-05-11 13:44:52 328

原创 Commit failed with error: pathspec 'src/main/java/com/leo/demo/juctest/test.java' did not match any

Git 提交报错:Commit failed with error:pathspec ‘src/main/java/com/leo/demo/juctest/test.java’ did not match any file(s) known to git.可以先参考这篇文章:https://www.jianshu.com/p/56f5589c66fc笔者的解决方案比较简单粗暴,直接把路径下的文件添加再提交本地,然后再删除,问题可以解决。...

2020-05-11 11:48:12 1172

原创 J.U.C系列(三)Semaphore的使用

Semaphore类似于操作系统中的信号量,可以控制值对互斥资源的访问线程数。举个例子:比如一共3把伞,9个人来借伞,伞借出去了就不能借给其他人,直到有人还伞。参考以下小demo理解以下。package com.leo.demo.juctest;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.*;/** * @ClassName: SemaphoreExample * @

2020-05-10 16:18:19 251

Java线程中wait,await,sleep,yield,join用法总结.pdf

Java线程中wait、await、sleep、yield、join用法汇总,文章里面总结了这些关键字的用法,并且里面带有源码帮助分析用法,此一文就可以理解这些关键字用法,推荐拥有

2020-06-28

空空如也

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

TA关注的人

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