教你怎么用java一键自动生成数据库文档

这是该工具的github地址:https://github.com/pingfangushi/screw一、引入pom.xml依赖<dependencies> <!-- screw 库,简洁好用的数据库表结构文档生成器 --> <dependency>...

2021-05-12

教你在SpringBoot中管理多环境配置文件

实现1、可以通过配置项 spring.profiles.active 的值来激活对应的环境(思路:使用一个默认的文件作为通用配置文件,不同的配置项写入不同环境的配置文件中,部署不同环境时,只需要...

2021-05-12

Mybatis Plus使用条件构造器增删改查功能的实现方法

java后端层级结构Controller 接口层接口层比较好理解,它是面向web网络的接口,使用http格式去调用/** * 图文课程管理Controller */@RestController@RequestMapping("/driver/i...

2021-05-12

Spring自动注入失败的解决方法

Spring自动注入失败如何解决?
我有一个被Spring @Service注解的类(MileageFeeCalculator),它有一个用@Autowired注入的变量(rateService),但是当我用这个变量的时候,它显示为null。...

2021-05-12

SpringBoot对Druid配置SQL监控功能失效问题及解决方法

由于我使用的是properties类型的配置文件,在对druid的参数进行配置的时候,多加了druid,也就是spring.datasource.druid.xxx,运行sql语句后SQL监控功能无效。spring.datasource.d...

2021-05-12

Java CAS机制的一些理解

多线程实践public class test { private static int x; public static void main(String[] args) throws InterruptedException { Thread task1 = new Thread(...

2021-05-12

教你怎么用Idea打包jar包

一、创建项目创建一个简单的Java项目,其中Main.java为主函数,包含main方法:二、完成JAR配置进入File->Project Structure->Project Settings->Artifacts,选中Artifacts后,点击右...

2021-05-11

vscode 配置java环境并调试运行的详细过程

下载vscode以及安装jdk 度娘一大堆 这里不介绍 jdk最好安装jdk11及以上 vscode扩展插件有关在vscode扩展插件中安装图示插件包,该包基本覆盖java所需的所有内容新建一个vsco...

2021-05-11

Java实用工具之StringJoiner详解

背景在平时的业务开发中,我们可能会遇到字符串列表根据分隔符进行拼接的需求。比如:输入:数组:[“a”,“b”,“c”]分隔符:","输出:“a,b,c” 处理通常我们可以使用StringBuilder...

2021-05-11

SpringSecurity整合springBoot、redis实现登录互踢功能

背景基于我的文章——《SpringSecurity整合springBoot、redis token动态url权限校验》。要实现的功能是要实现一个用户不可以同时在两台设备上登录,有两种思路:
(1)后来的登录自...

2021-05-11

JAVA并发中VOLATILE关键字的神奇之处详解

并发编程中的三个概念:
1.原子性在Java中,对基本数据类型的变量的读取和赋值操作是原子性操作,即这些操作是不可被中断的,要么执行,要么不执行。2.可见性对于可见性,Java提供了vo...

2021-05-11

java算法之静态内部类实现雪花算法

概述在生成表主键ID时,我们可以考虑主键自增 或者 UUID,但它们都有很明显的缺点主键自增:1、自增ID容易被爬虫遍历数据。2、分表分库会有ID冲突。UUID: 1、太长,并且有索引碎...

2021-05-11

Java Stack与Queue详解

一、Stack示例:package StackPack;import java.util.Stack;public class StackDemo { public static void main(String[] args) { Stack<Integer> stack=new Stack...

2021-05-11

详解java设计模式之六大原则

一、单一职责原则1、单一职责定义单一职责原则:一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。单一职责原则告诉我们:一个...

2021-05-11

java高级用法之注解和反射讲义

前言反射和注解在java中偏高级用法,一般在各种框架中被广泛应用,文章简单介绍下反射和注解的用法,希望对你的工作学习有一定帮助java注解
什么是注解Java 注解也就是Annotation...

2021-05-11

Java实现NIO聊天室的示例代码(群聊+私聊)

功能介绍功能:群聊+私发+上线提醒+下线提醒+查询在线用户



文件Utils需要用maven导入下面两个包 <dependency> <groupId>org.projectlombok</groupId>...

2021-05-11

simpledateformat线程为什么不安全

线程不安全验证:/** * SimpleDateFormat线程安全测试 * 〈功能详细描述〉 * * @author 17090889 * @see [相关类/方法](可选) * @since [产品/模块版本] (可选) */public class S...

2021-05-10

IDEA快速搭建jsp项目的图文教程

推荐教程idea2021激活idea2020.3最新激活idea无限重置IDEA搭建jsp环境为了方便在IDEA中集成tomcat环境搭建好WEB的jsp项目先讲解原理: 首先在IDEA中加入WEB模块 配置ID...

2021-05-10

Java中Https发送POST请求[亲测可用]

1、直接建一个工具类放入即可/** * 发送https请求共用体 */public static JSONObject sendPost(String url,String parame,Map<String,Object> pmap) throws IOException...

2021-05-10

hibernate 配置数据库方言的实现方法

本文主要介绍了hibernate 配置数据库方言的实现方法,分享给大家,具体如下: RDBMS 方言 DB2...

2021-05-10

Java基础之包装类

一、java的包装类 什么是包装类对于基本数据类型来讲,其实就是一个数字,但是当给基本数据类型添加一些属性 方法和构造器,将基本数据类型对应进行一个封装,就产生了一个新的...

2021-05-10

SpringCloud Gateway加载断言predicates与过滤器filters的源码分析

  我们今天的主角是Gateway网关,一听名字就知道它基本的任务就是去分发路由。根据不同的指定名称去请求各个服务,下面是Gateway官方的解释:https://spring.io/projects/sprin...

2021-05-10

使用SpringBoot AOP 记录操作日志、异常日志的过程

平时我们在做项目时经常需要对一些重要功能操作记录日志,方便以后跟踪是谁在操作此功能;我们在操作某些功能时也有可能会发生异常,但是每次发生异常要定位原因我们都要到服务器...

2021-05-10

Java8 Optional判空详解(简化判空操作)

一、导语
在没有用Optional判空之前,你是否也像下面的代码一样判空呢?如果是,请往下看,Optional 相对传统判空的优势。传统阶层判空为什么要用Optional,它到底是什么东西你也看到...

2021-05-10

Java基础之初识Maven

一、为什么使用Maven? 首先我们先灵魂拷问一下jar包是什么?我们可以将它理解为我们写的一个Java程序,整个Java程序中由多个Java文件和依赖组成。了解清楚这个之后,接下来介绍...

2021-05-10

spring-security关闭登录框的实现示例

事情要从同事的一个项目说起,项目中需要集成公司的单点登录系统,但是无论如何都无法跳转到正常的登录页面。相反,却始终跳转到另外一个登录页面。但是代码却非常简单,简化一下@C...

2021-05-10

Spring Boot简介与快速搭建详细步骤

Spring Boot简介SpringBoot为了简化在开发基于 Spring的项目的难度,减少了哪些繁杂的配置,从而让开发基于 Spring的项目变成一个相当简单容易的事。SpringBoot其本身没有添加...

2021-05-10

详解Java中的内存屏障

为什么要有内存屏障
这个是为了解决因为cpu,高速缓存,主内存出现的时候,导致的可见性和重序性问题,什么问题呢,看下面
我们都知道计算机运算任务需要CPU和内存相互配合共同完成,其...

2021-05-10

SpringBoot自动配置原理,你真的懂吗?(简单易懂)

概述上面博文(SpringBoot简介与快速搭建)我们简单的介绍了什么是SpringBoot,以及如何使用SpringBoot,但是我们对于SpringBoot的基本原理并没有介绍,这篇博文我们重点介绍SpringBo...

2021-05-10

Java黑盒测试之nextDate函数测试

一、实验目的(1)掌握应用黑盒测试技术进行测试用例设计。(2)掌握对测试用例进行优化设计方法。二、实验内容日期问题测试以下程序:该程序有三个输入变量month、day、year(month、d...

2021-05-10

Java 使用Filter实现用户自动登陆

前言
安全,是如今互联网行业特别注重的一个话题。在大家学习了JavaWeb之后呢,发现一个网站应该有安全限制,例如:如果用户未登录,则不允许相关CRUD操作,而如果我们在后台的每一个Se...

2021-05-10

Java基础之集合Set详解

一、概述Set是Java中的集合类,提供了一种无顺序,不重复的集合。常用的子类包括HashSet, TreeSet等。 HashSet底层使用HashMap实现,根据元素的hashCode和equals来判断是否为...

2021-05-10

JVM中ClassLoader类加载器的深入理解

JVM的体系结构图先来看一下JVM的体系结构,如下图:JVM的位置JVM的位置,如下图:JVM是运行在操作系统之上的,与硬件没有直接的交互,但是可以调用底层的硬件,用JIN(Java本地接口调用底层...

2021-05-10

Java基础之static的用法

一、前言在java中static可以用来修饰以下内容: 成员变量静态变量,可以直接通过类名去访问 成员方法静态方法,可以直接通过类名去访问 代码块静态代码块,当java虚拟机...

2021-05-09

java基础之方法和方法的重载详解

一、带参方法1.1 带参方法的定义和调用之前定义的方法大部分都是无参方法,但是有些方法的执行是需要前提条件的,那么参数就是将这些前提条件传送过来
定义带参数的方法:<访问...

2021-05-09

IDEA连接mysql数据库报错的解决方法

IDEA连接mysql数据库出现Server returns invalid timezone. Go to ‘Advanced' tab and set ‘serverTimezone' property manually.
报错意思是服务器返回了无效时区。也就...

2021-05-09

SpringBoot整合SpringDataRedis的示例代码

&#8195;&#8195;本文介绍下SpringBoot如何整合SpringDataRedis框架的,SpringDataRedis具体的内容在前面已经介绍过了,可自行参考。1.创建项目添加依赖&#8195;&#8195;创建Spring...

2021-05-08

Spring Boot中快速操作Mongodb数据库指南

前言在Spring Boot中集成Mongodb非常简单,只需要加入Mongodb的Starter包即可,代码如下:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s...

2021-05-08

带你快速上手Servlet

一、Servlet与Tomcat的关系(1)Tomcat是什么?Tomcat其实是Web服务器和Servlet容器的结合体(2)什么是Web服务器?比如,我当前在杭州,你能否用自己的电脑访问我桌面上的一张图片?恐怕不行...

2021-05-07

Java实现雪花算法的原理

SnowFlake 算法,是 Twitter 开源的分布式 id 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 id。在分布式系统中的应用十分广泛,且ID 引入了时间戳,...

2021-05-07

Java并发编程之同步容器

简介同步容器主要分两类,一种是Vector这样的普通类,一种是通过Collections的工厂方法创建的内部类虽然很多人都对同步容器的性能低有偏见,但它也不是一无是处,在这里我们插播一...

2021-05-07

详解Java中的hashcode

一、什么是hashHash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映...

2021-05-07

详解IDEA的快捷键及智能提示

一、快捷键添加代码块:Ctrl +ALT + T快速生成属性等:ALT + SHIFT+ S导包:CTRL +ALT + SHIFT+ S自动创建变量名:CTRL + ALT+ V查找源代码:CTRL +SHIFT+ T按条件查找替换:CTRL +SHIF...

2021-05-07

教你怎么使用Java实现WebSocket

一、WebSocket简介WebSocket协议通过在客户端和服务端之间提供全双工通信来进行Web和服务器的交互功能。在WebSocket应用程序中,服务器发布WebSocket端点,客户端使用url连接到...

2021-05-07

JDBC编程的详细步骤

前言JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范。这个API由java.sql.,javax.sql. 包中的一些类和接口...

2021-05-07

Java排序算法之选择排序

一、选择排序选择排序就是在每一次遍历过程中将数组中值最小的排到当前的第一位。总共需要(数组长度-1)次遍历,在每次遍历中假定第一位索引的值为最小值,然后与下一个值对比,如果...

2021-05-06

IDEA有哪些快捷键

快速生成main输入psvm
快速生成System.out.print使用sout
文件保存IDEA是自动保存的,不需要我们去Ctrl + S保存。删除一行Ctrl+Y
新添,新建,添加的快捷键Alt + lnsert切换java...

2021-05-06

Spring AOP的半注解和全注解模式是什么

<bean id="logUtils" class="com.lagou.edu.utils.LogUtils"></bean><aop:config> <aop:aspect id="logAspect" ref="logUtils"> </aop:aspect></aop:config>修改成以...

2021-05-06

Java8 Optional优雅空值判断的示例代码

先介绍一下API,与其他文章不同的是,本文采取类比的方式来讲,同时结合源码。而不像其他文章一样,一个个API罗列出来,让人找不到重点。1、Optional(T value),empty(),of(T value),o...

2021-05-06

java线程中start方法与run方法的区别是什么

我们知道Java中的线程是通过Java.lang.Thread来实现的,那么我们就可以通过实例化Thread一个对象来创建一个线程,然后再调用start()启动,但是Thread的一个特定的方法run()也可以...

2021-05-05
返回顶部
顶部