SpringBoot自动装配原理小结

约定优于配置(Convention Over Configuration)是一种软件设计范式,目的在于减少配置的数量或者降低理解难度,从而提升开发效率。先总结一下结论:springboot通过spring.factories...

2021-05-28

Java 手写LRU缓存淘汰算法

概述
LRU 算法全称为 Least Recently Used 是一种常见的页面缓存淘汰算法,当缓存空间达到达到预设空间的情况下会删除那些最久没有被使用的数据 。常见的页面缓存淘汰算法主...

2021-05-28

Java 二叉树遍历的常用方法

采用前序遍历、中序遍历、后续遍历实现时,即便采用不同的实现方式(递归方式、非递归),它们的算法结构是有很大的相似性。因而针对前三种的遍历我们会总结出对应通用的解决框架,便...

2021-05-28

贪心算法原理及在Java中的使用

贪心算法
由于贪心算法本身的特殊性,我们在使用贪心算法之前必须要进行证明,保证算法满足贪心选择性质。具体的证明方法无外乎就是通过数学归纳法来进行证明。但大部分人可能...

2021-05-28

springboot整合freemarker代码自动生成器

手撸一个代码自动生成器!!实现功能:MyBatis 逆向工程
技术架构页面是用 Vue ,element-ui开发;网络请求是 Axios。
服务端是 Spring Boot
页面模版是 Freemarker:开发步骤:一、创建...

2021-05-27

手把手教你用Java实现一套简单的鉴权服务

前言时遇JavaEE作业,题目要求写个简单web登录程序,按照老师的意思是用servlet、jsp和jdbc完成。本着要么不做,要做就要做好的原则,我开始着手完成此次作业(其实也是写实训作业的...

2021-05-27

Java 读取网络图片存储到本地并生成缩略图

之前使用 Python 爬虫抓取电影网站信息作为自己网站的数据来源,其中包含的图片都是网络图片,会存在这样一个问题:当原始网站访问速度比较慢时,网站图片加载时间也会变得很慢,而且...

2021-05-27

SpringBoot 图形验证码的生成和校验

1. 编写工具类package com.cn.beauty.util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import javax.imageio.ImageIO;import javax.servlet.http.HttpServle...

2021-05-27

servlet实现简单的权限管理和敏感词过滤功能

前言JavaEE课要求用servlet和过滤器实现权限管理和敏感词过滤功能,故有此文。
虽然早已知道了原理和用法,但是实际操作起来还是遇到了各种奇葩的情况。一、如何实现权限管理1....

2021-05-27

SpringBoot配置logback.xml 多环境的操作步骤

前提logback日志文件要实现springboot多环境配置,不然每次都需要修改logback.xml里面的配置文件,所以很麻烦。操作步骤1.resource文件的内容结构如下:2.配置application.ymlspr...

2021-05-27

Spring源码解析之事务传播特性

一、使用方式可以采用Transactional,配置propagation即可。
打开org.springframework.transaction.annotation.Transactional可见默认传播特性是REQUIRED。/** * The transa...

2021-05-27

详解Java关键字final

一、常见问题 所有的final修饰的字段都是编译期常量吗? 如何理解private所修饰的方法是隐式的final? 说说final类型的类如何拓展?比如String是final类...

2021-05-27

Spring Cache相关知识总结

简介 Spring 从 3.1 开始定义了 org.springframework.cache.Cache 和 org.springframework.cache.CacheManager 接口来统一不同的缓存技术; 并支持使用 JCache ( JSR-107 )注解...

2021-05-27

Java基础学习之集合底层原理

一、Collection集合Collection接口是单列集合类的父接口,这种集合可以将数据一个一个的存放到集合中。它有两个重要的子接口,分别是 java.util.List 和 java.util.Set二、List...

2021-05-27

Java多线程导致CPU占用100%解决及线程池正确关闭方式

简介情景:1000万表数据导入内存数据库,按分页大小10000查询,多线程,15条线程跑。
使用了ExecutorService executor = Executors.newFixedThreadPool(15)
本地跑了一段时间后,发现...

2021-05-27

你知道Java的这些骚操作吗?

一、try with catch还记得这样的代码吗?我们需要手动的关闭资源的流,不然会造成资源泄漏,因为虚拟机无法管理系统资源的关闭,必须手动释放。public void manualClose(String fil...

2021-05-27

你肯定能看懂的Java IO相关知识总结

一、IO底层是怎么回事?操作系统就是管家,电脑的设备就是资源,如果进程先要操作资源,必须要进行系统调用,有操作系统去处理,然后再返回给进程,这样的代理模式是不是很常见?因此app 就...

2021-05-27

详细总结Java创建文件夹的方法及优缺点

一、传统API创建文件夹方式Java传统的IO API种使用java.io.File类中的file.mkdir()和file.mkdirs()方法创建文件夹file.mkdir()创建文件夹成功返回true,失败返回false。如果...

2021-05-26

浅谈SpringSecurity基本原理

一、SpringSecurity 本质SpringSecurity 本质是一个过滤器链;
从启动是可以获取到(加载)过滤器链,当执行请求时就会执行相应的过滤器:org.springframework.security.web.context....

2021-05-26

SpringMVC注解之@ResponseBody注解原理

一、介绍 @ResponseBody 注解的作用是将方法的返回值通过适当的转换器转换为指定的格式之后,写入到 response 对象的 body 区,通常用来返回 JSON、XML 数据。 使用了 @R...

2021-05-26

springboot+vue实现登录功能

本文实例为大家分享了springboot+vue实现登录功能的具体代码,供大家参考,具体内容如下目录结构前端端口:8080
后端端口:8900
login.vue<template> <div class="login_content...

2021-05-26

详解Spring注解驱动开发之属性赋值

一、@Value注解在Person的属性上使用@Value注解指定注入值public class Person { @Value("#{20-2}") //SpEL表达式 #{} private Integer id; @Value("...

2021-05-26

Java集合的总体框架相关知识总结

一、集合概述数组其实就是一个集合。集合实际上就是一个容器。可以来容纳其它的数据。二、集合在开发中的应用集合是一个容器,是一个载体,可以一次容纳多个对象。在实际开发中...

2021-05-26

使用Java visualVM监控远程JVM的流程分析

VisualVM是JDK自带的一款全能型性能监控和故障分析工具,包括对CPU使用、JVM堆内存消耗、线程、类加载的实时监控,内存dump文件分析,垃圾回收运行情况的可视化分析等,对故障排查...

2021-05-26

java实现简单贪吃蛇小游戏

本文实例为大家分享了java实现贪吃蛇小游戏,供大家参考,具体内容如下有两个类,放在同一文件下下即可,背景图片,标题,蛇尾可自行更改import java.awt.*;import javax.swing.*;impor...

2021-05-26

详细总结Java中常用的原子类

一、什么是原子类Java中提供了一些原子类,原子类包装了一个变量,并且提供了一系列对变量进行原子性操作的方法。我们在多线程环境下对这些原子类进行操作时,不需要加锁,大大简化...

2021-05-26

详解Java的类加载机制及热部署的原理

一、什么是类加载类的加载指的是将类的.class文件的二进制数据读入到内存中,将其放在运行数据区的方法去,然后再堆区创建一个java.lang.Class对象,用来封装类在方法区的数据结...

2021-05-26

Mybatis-Plus的应用场景描述及注入SQL原理分析

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基...

2021-05-26

java使用BeanUtils.copyProperties踩坑经历

1. 原始转换提起对象转换,每个程序员都不陌生,比如项目中经常涉及到的DO、DTO、VO之间的转换,举个例子,假设现在有个OrderDTO,定义如下所示:public class OrderDTO { private l...

2021-05-26

Spring Boot如何读取自定义外部属性详解

测试的环境:Spring Boot2 + Maven +lombok准备需要用到的基础类:public class People { private String name; private String address; private String phone;}准备...

2021-05-26

值得收藏!教你如何在IDEA中快速查看Java字节码

一、javap的参数 -help --help -&#63; 输出此用法消息
-version 版本信息
-v -verbose 输出附加信息
-l...

2021-05-26

Java基础学习之标签

一、语法label: @Test public void test3() { inner: for (int i = 0; i < 5; i++) { if (i == 3) { break inner;...

2021-05-26

Java基础学习之Swing事件监听

一、初始代码架构import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Btn extends JFrame{ public static void main(String []args){...

2021-05-26

浅谈Java设计模式之原型模式知识总结

如何使用?1.首先定义一个User类,它必须实现了Cloneable接口,重写了clone()方法。public class User implements Cloneable { private String name; private int age;...

2021-05-26

JDBC核心技术详解

一、JDBC概述1、数据的持久化持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘...

2021-05-25

SpringBoot整合LDAP的流程分析

依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-ldap</artifactId></dependency><dependency> <groupId>o...

2021-05-25

Java基础之文件概述

一、基本概念和常识下面,我们先介绍一些基本概念和常识,包括二进制思维、文件类型、文本文件的编码、文件系统和文件读写等。1.1 二进制思维为了透彻理解文件,我们首先要有一个...

2021-05-25

Java基础之CardLayout的使用

一、案例介绍在编码前需要将本案例中使用到的三张图片(1.png 、2.png、3.png)保存到src所在的文件夹内。看下图:1.png:2.png:3.png:二、案例代码import java.awt.*;import java.aw...

2021-05-25

Java基础之spring5新功能学习

一、前言1.整个 Spring5 框架的代码基于 Java8 ,运行时兼容 JDK9,许多不建议使用的类和方 法在代码库中删除2.Spring 5框架自带了通用的日志封装Spring5 已经移除 Log4jConfig...

2021-05-25

Java基础之文件和目录操作

一、前言文件和目录操作最终是与操作系统和文件系统相关的,不同系统的 实现是不一样的,但Java中的java.io.File类提供了统一的接口,底层会 通过本地方法调用操作系统和文件系统...

2021-05-25

SpringBoot 过滤器、拦截器、监听器对比及使用场景分析

一、关系图理解二、区别1.过滤器 过滤器是在web应用启动的时候初始化一次, 在web应用停止的时候销毁 可以对请求的URL进行过滤, 对敏感词过滤 挡在拦截器的外层...

2021-05-25

datax-web在windows环境idea中模块化打包部署操作步骤

datax-web在windows环境idea中模块化打包部署操作步骤:1.在idea中点击Maven Projects,点击datax-web中的clean,等待执行完成后,点击package进行打包。等待打包完成。2.打包完成...

2021-05-25

JDBC的扩展知识点总结

一、数据库的事务1.1 事务概述 事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态 事务处理(事务操作):保证所有事务都作为一个工作单元来执行,即使出现了故障,都不...

2021-05-25

Java数据结构学习之树

一、树1.1 概念与线性表表示的一一对应的线性关系不同,树表示的是数据元素之间更为复杂的非线性关系。直观来看,树是以分支关系定义的层次结构。 树在客观世界中广泛存在,如人...

2021-05-25

SpringAOP 构造注入的实现步骤

AOP_面向切面编程初步了解
让我们先想象一个场景,你正在编写一个项目,在开发过程中的多个模块都有某段重复的代码,于是你选择将其抽象成一个方法,然后在需要的地方调用这个方法,...

2021-05-25

Java基础学习之实参和形参

关于变量的赋值:如果变量是基本数据类型,此时赋值的是变量所保存的数据值。
如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。public class ValueTransferTest...

2021-05-25

SpringBoot使用validation做参数校验的实现步骤

1.添加依赖
直接添加 hibernate-validator<dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId...

2021-05-25

Java基础之数组超详细知识总结

一、一维数组1、Java语言中的数组是一种 引用数据类型。不属于基本数据类型。数组的父类是 Object。2、数组实际上是一个容器,可以同时容纳多个元素。(数组是一个数据的集合)3...

2021-05-25

Java基础之枚举Enum类案例详解

一、文章序言Java中引用类型:数组、类、接口、枚举、注解枚举这个既熟悉又陌生的东西具体再哪里可以使用呢?什么是枚举?枚举是一个引用类型,枚举就是一个规定了取值范围的变量类...

2021-05-25

图文详解JAVA实现快速排序

高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数...

2021-05-25
返回顶部
顶部