深入理解Java 线程池

线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concu...

2020-11-04

详解mybatis #{}和${}的区别、传参、基本语法

1 #{}和${}的区别、及注入问题(1) 区别: 首先清楚一点,动态 SQL 是 mybatis 的强大特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析,#{...

2020-11-04

MyBatis 中 ${}和 #{}的正确使用方法(千万不要乱用)

1、#{}是预编译处理,MyBatis在处理#{ }时,它会将sql中的#{ }替换为?,然后调用PreparedStatement的set方法来赋值,传入字符串后,会在值两边加上单引号,如上面的值 “4,44,514”就会...

2020-11-04

详解Mybatis中的 ${} 和 #{}区别与用法

Mybatis 的Mapper.xml语句中parameterType向SQL语句传参有两种方式:#{}和${}我们经常使用的是#{},一般解说是因为这种方式可以防止SQL注入,简单的说#{}这种方式SQL语句是经过...

2020-11-04

Maven安装过程图文详解

Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK。maven作用其中maven的主要作用有: 项目管理:编译、测试、打包、部署、运行,这一套流程都可以用maven来管理...

2020-11-04

SpringBoot登录拦截配置详解(实测可用)

背景:写一个用户登录拦截,在网上找了一圈没找到好用的,于是自己试验了一下,总结出来,分享给大家。1.自定义登录拦截器LoginInterceptorpublic class LoginInterceptor implements...

2020-11-04

JAVA 内存溢出案例汇总

写在前面作为程序员,多多少少都会遇到一些内存溢出的场景,如果你还没遇到,说明你工作的年限可能比较短,或者你根本就是个假程序员!哈哈,开个玩笑。今天,我们就以Java代码的方式来列...

2020-11-04

Java8新特性之接口中的默认方法和静态方法

写在前面
在Java8之前的版本中,接口中只能声明常量和抽象方法,接口的实现类中必须实现接口中所有的抽象方法。而在Java8中,接口中可以声明默认方法和静态方法,本文,我们就一起探...

2020-11-04

Maven打包并生成运行脚本的示例代码

1.定义插件<properties> <maven-jar-plugin.version>2.4</maven-jar-plugin.version> <maven-assembly-plugin.version>2.4</maven-assembly-plugin.version> <maven-com...

2020-11-04

Spring Boot Actuator端点相关原理解析

Spring Boot Actuator的关键特性是在应用程序里提供众多Web端点,通过它们了解应用程序 运行时的内部状况。有了Actuator,你可以知道Bean在Spring应用程序上下文里是如何组装在...

2020-11-04

jenkins 构建项目之 pipeline基础教程

一、pipeline 简介&#8203;pipeline ,简单来说,就是一套运行在 jenkins 上的工作流框架。将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程 编...

2020-11-04

详解JAVA8 函数式接口

写在前面Java8中内置了一些在开发中常用的函数式接口,极大的提高了我们的开发效率。那么,问题来了,你知道都有哪些函数式接口吗?函数式接口总览这里,我使用表格的形式来简单说明...

2020-11-04

Maven3种打包方式中maven-assembly-plugin的使用详解

maven-jar-plugin,默认的打包插件,用来打普通的project JAR包; maven-shade-plugin,用来打可执行JAR包,也就是所谓的fat JAR包; maven-assembly-plugin,支持自定义的打包结构,也可...

2020-11-04

Java反射框架Reflections示例详解

MAVEN 坐标<dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId> <version>0.9.10</version></dependency>Reflections 的作用Reflectio...

2020-11-04

Javaweb使用getPart接收表单文件过程解析

使用getPart接收表单文件时,注意Tomcat版本要在8之上。前台 : form.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</ti...

2020-11-04

Java lastIndexOf类使用方法原理解析

lastIndexOf 在字符串中根据搜索条件来返回其在字符串中的位置,空格也计数,如果字符串中没有这样的字符,返回-1。其方法主要有4个: lastIndexOf(int ch) ,返回指定字符在此字符...

2020-11-04

Javaweb接收表单数据并处理中文乱码

前端表单数据
常见的表单项的传值,如: 普通input 单选radio 多选checkbox select下拉选择 textarea文本域
普通 input : name属性值为后台接收时的参数值。用户名:<inpu...

2020-11-04

Java数组的声明与创建示例详解

今天在刷Java题的时候,写惯了C++发现忘记了Java数组的操作,遂把以前写的文章发出来温习一下。首先,数组有几种创建方式?Java程序中的数组必须先进行初始化才可以使用,所谓初始化,...

2020-11-04

Java遍历文件夹及子目录代码实例

主要逻辑
使用scanner类获取输入的目录,并创建文件对象。
新建一个遍历文件夹的方法,参数是已创建的文件对象,递归调用自己。import java.io.File;public class BianLi{ publi...

2020-11-04

Spring中的singleton和prototype的实现

关于spring bean作用域,基于不同的容器,会有所不同,如BeanFactory和ApplicationContext容器就有所不同,在本篇文章,主要讲解基于ApplicationContext容器的bean作用域。关于bean...

2020-11-04

Java应用服务器之tomcat会话复制集群配置的示例详解

  会话是识别用户,跟踪用户访问行为的一个手段,通过cookie(存在客户端)或session(存在服务端)来判断本次请求是那个客户端发送过来;常用的会话保持有绑定会话,就是前边我们聊的在...

2020-11-04

Java下SpringBoot创建定时任务详解

序言使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式: 一、基于注解(@Scheduled) 二、基于接口(SchedulingConfigurer) 前者相信大家都很熟悉,但是实际使用中...

2020-11-04

深入理解Spring注解@Async解决异步调用问题

序言:Spring中@Async根据Spring的文档说明,默认采用的是单线程的模式的。所以在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的。那么当多个任务的执行势必会相...

2020-11-04

Spring中异步注解@Async的使用、原理及使用时可能导致的问题及解决方法

前言其实最近都在研究事务相关的内容,之所以写这么一篇文章是因为前面写了一篇关于循环依赖的文章:《Spring循环依赖的解决办法,你真的懂了吗》然后,很多同学碰到了下面这个问...

2020-11-04

浅谈Java中spring 线程异步执行

多线程并发处理起来通常比较麻烦,如果你使用spring容器来管理业务bean,事情就好办了多了。spring封装了Java的多线程的实现,你只需要关注于并发事物的流程以及一些并发负载量等...

2020-11-04

java RMI详细介绍及实例讲解

  java本身提供了一种RPC框架——RMI(即RemoteMethodInvoke远程方法调用),在编写一个接口需要作为远程调用时,都需要继承了Remote,Remote接口用于标识其方法可以从非本地虚拟机...

2020-11-04

Spring MVC 拦截器 interceptor 用法详解

Spring MVC-拦截器
今天就是把有关拦截器的知识做一个总结。1.拦截器概述
1.1 什么是拦截器?
Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截...

2020-11-04

SpringBoot + Spring Cloud Consul 服务注册和发现详细解析

什么是ConsulConsul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与...

2020-11-04

浅谈SpringMVC的拦截器(Interceptor)和Servlet 的过滤器(Filter)的区别与联系 及SpringMVC 的配置文件

1.过滤器:  依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过...

2020-11-04

详解java实践SPI机制及浅析源码

1.概念正式步入今天的核心内容之前,溪源先给大家介绍一下关于SPI机制的相关概念,最后会提供实践源代码。SPI即Service Provider Interface,属于JDK内置的一种动态的服务提供发...

2020-11-04

java Random.nextInt()方法的具体使用

lic int nextInt(int n)该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。直接上代码:
package org.xiaowu.random.demo;imp...

2020-11-04

浅析JAVA Lock锁原理

同样是锁,先说说synchronized和lock的区别: synchronized是java关键字,是用c++实现的;而lock是用java类,用java可以实现 synchronized可以锁住代码块,对象和类,但是线程从开始获...

2020-11-04

使用Java实现简单串口通信

本博文参考自https://www.freexyz.cn/article/100269.htmwww.freexyz.cn/article/100269.htm没想到挺多人需要这个的,很高兴这篇文章能对大家有帮助,主要的工具类博文里已经有了,当...

2020-11-04

详解Java8中的Lambda表达式

Lambda是什么Lambda表达式,也可称为闭包,是java8的新特性,作用是取代大部分内部类,优化java代码结构,让代码变得更加简洁紧凑。Lambda的基本语法 (expression)->expression 或 (e...

2020-11-04

IntelliJ IDEA 2020安装使用教程详解

对于JetBrains IntelliJ IDEA 2020的认识IntelliJ IDEA 2020是一款JAVA编程软件,捷克IntelliJ公司研发推出。该软件提供了一个非常强大的JAVA集成开发环境,不仅添加了对Record...

2020-11-04

Java之单例设计模式示例详解

单例设计模式保证一个类在内存中只能有一个对象。思路:1)如果其他程序能够随意用 new 创建该类对象,那么就无法控制个数。因此,不让其他程序用 new 创建该类的对象。2)既然不让其...

2020-11-04

解决Java & Idea启动tomcat的中文乱码问题

问题描述 idea启动tomcat后乱码了,并且,idea的各种编码都是设置的为UTF-8,但是中文就是乱码了。解决方法 进入idea的安装目录, 进入bin目录下。找到idea.exe.vmoptions这个文件...

2020-11-04

idea切换git地址并刷新右下角git分支

1 点击VCS-Git-Remotes...2 点击Edit修改输入新地址即可,name可以自己写 3 修改成功以后,点击VCS-Git-fetch,刷新远程修改到本地,此时点击右下角git分支树,就是最新的分支树了ID...

2020-11-04

将idea中xml文件背景颜色去除的图文教程

Darcula主题中的xml默认配置很影响视觉感受,如下图:第一步:除去SQL代码块的背景颜色,步骤如下设置后还是很影响视觉第二步:除去代码背景颜色,步骤如下修改配置后效果如下注意:更换...

2020-11-04

idea直接修改新的git地址的方法(图文)

之前因为没有添加到项目成员之中,代码提交是通过别人的账号。后来添加进入后,要修改成自己的账号,从网上搜查资料,几乎全部都是在idea中File-->Settings-->Appearance-->System...

2020-11-04

如何基于js及java分析并封装排序算法

前言  本次来分享一下排序的api底层的逻辑,这次用js模拟,java的逻辑也是差不多。  先看封装好的api例子:  js的sort排序
  java的compareTo排序自己模拟的代码(JS)func...

2020-11-04

IDEA版最新MyBatis程序配置教程详解

实验环境:IDEA2020.1+MySQL8.0.21+Mybatis3.5.5+Junit4.13搭建环境–>导入Mybatis—>编写代码—>测试1、搭建实验数据库我们创建一个mybatis实验数据库,并创建一个user表为后...

2020-11-04

Java下Struts框架中的ActionForm类详解

ActionForm的应用(1) 、创建一个form类必须继承四个父类中的一个。比如继承ActionForm。(2) 、一个form类中的每一个属性都将和页面中form 表单中的每一个元素一一对应例如...

2020-11-04

Java中接口和抽象类的区别详解

需求:接口是否可继承接口&#63;抽象类是否可实现(implements)接口&#63;抽象类是否可继承实体类(concrete class)&#63;抽象类中是否可以有静态的main方法?先说明二者的定义,然后...

2020-11-04

java中stringBuilder的用法详解

String对象是不可改变的。每次使用System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况...

2020-11-04

浅谈Java实现面向对象编程java oop

一、对象的综述面向对象编程(OOP)具有多方面的吸引力。对管理人员,它实现了更快和更廉价的开发与维护过程。对分析与设计人员,建模处理变得更加简单,能生成清晰、易于维护的设计...

2020-11-04

Java中BigDecimal类的使用详解

不论是float 还是double都是浮点数,而计算机是二进制的,浮点数会失去一定的精确度。Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。BigD...

2020-11-04

Java +Tomcat + SpringMVC实现页面访问示例解析

window7下Java环境安装记录:
一、安装Tomcat
1、下载tomcat 7.0,解压,无需安装,放置到目录:D:\apache-tomcat-7.0.90。
2、配置系统环境变量,CATALINA_BASE=D:\apache-tomcat-7.0...

2020-11-04

Java实现飞机航班管理系统的思路详解

学习Java实现飞机航班管理系统,本文有该系统的功能截图,和数据库设计SQL语句供大家参考1.飞机航班管理系统背景本系统模拟飞机航班管理业务开发。2.飞机航班管理系统技术架构...

2020-11-04

springboot命令行启动的方法详解

下面通过本文给大家介绍springboot命令行启动的方法,具体内容如下所示:创建的springboot项目想看看效果,不想打开idea等开发工具,使用直接使用命令行启动。maven的命令启动需...

2020-11-04
返回顶部
顶部