- 博客(45)
- 收藏
- 关注
原创 Java内存区域-程序计数器
运行时数据区-总览Java虚拟机在运行Java程序过程中管理的内存区域,称之为运行时数据区。《Java虚拟机规范》中规定了每一部分的作用程序计数器程序计数器(Program Counter Register)也叫PC寄存器,每个线程会通过程序计数器记录当前要执行的的字节码指令的地址一个程序计数器的具体案例:案例在加载阶段,虚拟机将字节码文件中的指令读取到内存之后,会将原文件中的偏移量转换成内存地址。每一条字节码指令都会拥有一个内存地址在代码执行过程中,程序计数器会记录下一行字
2025-01-04 12:15:10
234
原创 JVM类加载器
类加载器(ClassLoader)是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术。类加载器只参与加载过程中的字节码获取并加载到内存这一部分。
2025-01-01 09:59:58
447
原创 外部应用调用xxljob接口
package com.bochao.devmgr.job;import com.bochao.devmgr.job.domain.XxlJobInfo;import com.xxl.job.core.biz.model.ReturnT;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import o
2022-05-23 14:10:45
2246
4
原创 SpringBoot读取Resource下文件的几种方式
ClassPathResource classPathResource = new ClassPathResource("excleTemplate/test.xlsx");InputStream inputStream =classPathResource.getInputStream();InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("excleTem...
2022-05-13 09:38:59
566
原创 Springboot 解决跨域
1、实现 WebMvcConfigurer#addCorsMappings 的方法import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Con.
2021-11-22 11:06:15
442
原创 Java生成二维码的几种方式
所需的jar <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.2</version> </dependency> <dependency>
2021-06-22 22:46:00
217
原创 前端常见方法函数
// 判断是不是一个真数组 $.isArray(); // 去空 $.trim(); // 判断是不是一个函数 $.isFunction();
2021-04-08 23:52:39
125
原创 前端遍历数组的常见方式
1. foreach<script type="text/javascript"> let arr = [1,2,3,6,8,4]; // 第一种遍历数组 arr.forEach(function (value,index) { console.log(index,value); });</script>2. $.each<script type="text/javascript"> let arr = [
2021-04-08 23:24:34
1146
原创 redis实现分布式锁跟限流
@Test public void testRedisLock(){ String uuid = UUID.randomUUID().toString(); // 分布式锁使用uuid String value = uuid; // 自增限流用 字符串1 value = "1"; // 加锁要设置过期时间,避免宕机造成死锁 Boolean lock = stringRedisTemplate.
2021-02-25 22:50:13
182
原创 plsql语法上手
简单的plsql语句块1.helloworld-- 1.在命令行窗口 这样才有输出结果set serveroutput on-- 简单的helloworlddeclare-- 声明的变量 类型 游标begin -- 程序的执行部分(类似Java中的main方法) dbms_output.put_line('helloworld');-- exception -- 针对begin块中出现的异常,提供异常的处理机制 -- when then -- when thene
2021-02-06 18:14:32
290
1
原创 spring注解校验跟分组校验详解
1.实体类package com.lg.sgg.product.entity;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import java.io.Serializable;import java.util.Date;import com.lg.common.valid.AddGroup;import com.lg.c.
2020-12-09 22:42:58
664
2
原创 @ControllerAdvice全局异常处理详解
全局异常处理代码package com.lg.sgg.product.exception;import com.lg.common.utils.R;import lombok.extern.slf4j.Slf4j;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.RestControllerAdvice;/** *.
2020-12-08 22:53:17
163
原创 递归获取组织架构或分类
第一种,java代码递归获取分类的实体类package com.lg.sgg.product.entity;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import java.io.Serializable;impor
2020-12-05 16:09:13
602
原创 nginx使用详解
1.简单使用启动步骤1.安装完nginx,默认会在linux系统的/usr/local/目录下会用一个nginx的目录2./usr/local/nginx/sbin,进入该目录,执行 ./nginx 命令启动nginx3.查看启动的nginx进程,ps -ef | grep nginx4.简单访问nginx,直接访问你部署本机的ip2.nginx的常用命令1.nginx 的命令都首先要进入/usr/local/nginx/sbin才能执行2.nginx的命令# 查看nginx 当前版
2020-11-28 14:24:27
239
原创 springCloud-gateway
1.引入gateway(common中有其他依赖)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.o
2020-11-08 13:26:38
160
原创 SpringCloud-nacos-config
1.简要说明使用nacos可以作为配置中心,将配置发布在nacos上,实现配置的动态刷新2. 引入nacos的配置中心依赖 <!-- 服务注册/发现--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-di
2020-11-08 13:18:26
245
原创 SpringCloud-Feign(远程调用)
1.简要说明1 想要调用别的服务1)、引入open-feign2)、编写一个接口告诉SpringCloud这个接口需要调用的远程服务1.声明接口的每一个方法都是调用远程服务3)、开启远程调用功能2.引入open-feign<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</a
2020-11-08 13:03:46
148
原创 linux-实用命令
1.进程查看1.1 查看所有进程-- 用 ps -aux 也可以查出,但是有个小提醒ps auxps aux | grep ps -le-- top 命令每三秒刷新一下,可查看系统健康状态ps命令2.杀死进程-- 杀死进程后平滑重启kill -HUP 进程号(PID)kill -1 进程号(PID)如:kill -HUP 1523-- 强制杀死进程kill -9 进程号(PID)-- 杀死一组进程killall -9 进程名-- 杀死进程名有httpdki
2020-11-05 23:54:27
171
原创 Spring Cloud Alibaba-Nacos
1.访问springCloud 访问springCloud.2.下载nacos1.nacos作为服务注册与发现,也作为配置中心使用(这里我们使用windows环境演示)2.https://github.com/alibaba/nacos/releases/tag/1.4.03.下载后解压,双击图中命令执行4.访问8848端口3.添加nacos依赖1.可参考–》 https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring
2020-11-03 22:21:13
165
原创 springboot整合mybatis-plus
1.简要说明package com.lg.sgg.product;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * 1整合mybatis-plus * 1)导入依赖 * <dependen
2020-11-03 21:16:09
201
原创 sql(3) - UNION ALL 和UNION
要将来自多个表的数据组织到一起,就像将一个结果集叠加到另一个上面一样。这些表不必有相同的关键字,但是,它们对应列的数据类型和列数应相同。示例,使用union allselect name,'demo' from demo union all select create_by,'test_person' from test_person;使用 union总结:这些表不必有相同的关键字,但是,它们对应列的数据类型和列数应相同。UNION具有去重的效果...
2020-09-09 22:58:57
127
原创 sql(2)-小技巧总结
小技巧分享最近看到一些sql的小技巧,跟大家分享一下1.从表中随机返回n条数量(以mysql为例)mysql使用内置函数Rand()表结构数据如下(现有随便一张表演示效果)查询全表select * from sys_menu;随机返回五条数据select menu_id, rand() as 随机 from sys_menu order by rand() limit 5;总结:在order by 字句中使用函数时,则按函数在每一行的计算结果排序拓展 (其他数据库使用的
2020-09-06 23:03:17
139
原创 sql(1)-在select语句中使用条件逻辑(使用case表达式)
要在select 语句中,对数值使用if-else操作的话,可以使用case表达式完成结果集查询(oracle中常用decode函数,更为高效)1.表结构如下(随便找个表演示)CREATE TABLE `sys_menu` ( `menu_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', `menu_name` varchar(50) NOT NULL COMMENT '菜单名称', `parent_id` bigint(20).
2020-09-06 22:23:45
2531
原创 Spring(12) -数据缓存Cache(1)
1.数据缓存Cache常见CacheManagerSimpleCacheManager使用简单的Collection来存储缓存,主要用来测试用途ConcurrentMapCacheManager使用 ConcurrentMap来存储缓存EhCacheCacheManager使用 EhCache作为缓存技术RedisCacheManager使用Redis作为缓存技术2.常用的三个注解@Cacheable、@CachePut、@CacheEvit @Caching表8-6声明式缓存注意
2020-08-30 22:57:40
130
原创 Spring(11)-Test
1.简要实战说明Spring提供了-一个SpringJUnit4ClassRunner类,它提供了Spring TestContext Framework的功能。通过@ContextConfiguration 来配置Application Context,通过@ActiveProfles 确定活动的profile。2.配置所需要的y依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.
2020-08-16 22:15:00
121
原创 Spring(10)-条件注解
1.条件注解@Conditional根据满足某-个特定条件创建一个特定的Bean。在Spring Boot中大量应用到条件注解2.编写判定条件(以操作系统为例)package com.lglg.springdemo01;import org.springframework.context.annotation.Condition;import org.springframework.context.annotation.ConditionContext;import org.springf
2020-08-16 20:06:06
144
原创 Spring(9)-计划任务
1.简要说明从Spring3.1开始,计划任务在Spring中的实现变得异常的简单。首先通过在配置类注解@EnableScheduling来开启对计划任务的支持,然后在要执行计划任务的方法上注解@Scheduled,声明这是一个计划任务。Spring通过@Scheduled支持多种类型的计划任务,包含cron、fixDelay、 fixRate 等。2.编写任务执行类package com.lglg.springdemo01;import org.springframework.schedu
2020-08-16 17:18:38
196
原创 Spring(8)-多线程应用-异步操作
1.简要说明Spring通过任务执行器( TaskExecutor)来实现多线程和并发编程。使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor. 而实际开发中任务一般是非阻碍的,即异步的,所以我们要在配置类中通过@EnableAsyne开启对异步任务的支持,并通过在实际执行的Bean的方法中使用@Asyne注解来声明其是- 个异步任务。2.编写配置类package com.lglg.config;/** * Date:2020/8/16 *
2020-08-16 16:46:08
195
原创 Spring(7)-事件(Application Event)
1.简要说明Spring的事件( Application Event) 为Bean与Bean之间的消息通信提供了支持。当一个Bean处理完一个任务之后,希望另外一个Bean知道并能做相应的处理,这时我们就需要让另外一个Bean监听当前Bean所发送的事件。Spring的事件需要遵循如下流程:(1)自定义事件,集成ApplicationEvent.(2)定义事件监听器,实现ApplicationListener.(3)使用容器发布事件。2. 自定义事件package com.lglg.spr
2020-08-15 22:02:57
178
原创 Spring(6)-Profile
1.简要说明Profile为在不同环境下使用不同的配置提供了支持(开发环境下的配置和生产环境下的配置肯定是不同的,例如,数据库的配置)。(1)通过设定Environment的ActiveProfiles 来设定当前context 需要使用的配置环境。在开发中使用@Profile注解类或者方法,达到在不同情况下选择实例化不同的Bean。(2)通过设定jvm的springprofiles.active参数来设置配置环境。(3) Web项目设置在Servlet的context parameter中。
2020-08-15 18:08:24
146
原创 Spring(5)-Bean的初始化跟销毁
1.简要说明在我们实际开发的时候,经常会遇到在Bean在使用之前或者之后做些必要的操作,Spring对Bean的生命周期的操作提供了支持。在使用Java配置和注解配置下提供如下两种方式:(1) Java 配置方式:使用@Bean的initMethod 和destroyMethod (相当于xml 配置的init-method和destory-method)。(2)注解方式:利用JSR-250的@PostConstruct和@PreDestroy。2.实战演示(导入依赖)<?xml ver
2020-08-15 17:28:10
132
原创 Spring(4)-Spring EL
1.简要说明Spring开发中经常涉及调用各种资源的情况,包含普通文件、网址、配置文件、系统环境变量等,我们可以使用Spring 的表达式语言实现资源的注入。Spring主要在注解@Value的参数中使用表达式。本节演示实现以下几种情况:(1)注入普通字符:(2)注入操作系统属性;(3)注入表达式运算结果;(4)注入其他Bean的属性;(5)注入文件内容;(6)注入网址内容;(7)注入属性文件。2.导入相关依赖<?xml version="1.0" encoding="UTF
2020-08-15 16:48:27
174
原创 Spring(3)-Bean的Scope(作用域)
1.scope简单说明Scope描述的是Spring容器如何新建Bean的实例的。Spring 的Scope有几种,通过@Scope注解来实现。下面介绍经常见到的两种(1) Singleton:一个Spring容器中只有一个Bean的实例,此为Spring的默认配置,全容器共享一个实例。(2)Prototype:每次调用新建一个Bean的实例。2.编写实例package com.lglg.springdemo01;import org.springframework.stereotype
2020-08-09 22:18:23
112
原创 Spring(2)-Aop切面的两种方式
AopAOP:面向切面编程,相对于OOP面向对象编程。Spring的AOP的存在目的是为了解耦。AOP可以让一组类共享相同的行为。在OOP中只能通过继承类和实现接口,来使代码的耦合度增强,且类继承只能为单继承,阻碍更多行为添加到一组类上,AOP 弥补了OOP的不足。1.添加依赖(版本要对应,不然报错)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"
2020-08-09 21:37:23
231
原创 Spring(1)-依赖注入
1.1依赖注入1.1.1 说明我们经常说的控制翻转( Inversion of Control-IOC)和依赖注入(dependency injection-DI)在Spring环境下是等同的概念,控制翻转是通过依赖注入实现的。所谓依赖注入指的是容器负贵创建对象和维护对象间的依赖关系,而不是通过对象本身负责自己的创建和解决自己的依赖。Spring loC容器(ApplicationContext) 负贵创建Bean,并通过容器将功能类Bean注入到你需要的Bean中。Spring 提供使用xml、注解
2020-08-09 17:20:27
110
原创 前后端分离项目部署(超详细)
前后端项目部署这里通过tomcat部署后端项目,nginx部署前端项目都是本地电脑window演示效果项目配置一下说明server: port: 8080 tomcat: max-swallow-size: -1 servlet: context-path: /springboot这里的端口,只是本地编辑器启动,SpringBoot内置tomcat的访问端口,跟部署项目tomcat里面配置的端口无关,以tomcat为主这里配置的context-path,也是
2020-07-12 23:55:37
11718
5
原创 SpringBoot学习(2)-常见配置方式
默认配置原理springboot的默认配置方式和我们之前玩的配置方式不太一样,没有任何的xml。那么如果自己要新增配置该怎么办?常用的java配置@Configuration:声明一个类作为配置类,代替xml文件@Bean:声明在方法上,将方法的返回值加入Bean容器,代替标签@Value:属性注入@PropertySource:指定外部属性文件。第一种常见java配置,这里使用jdbc来演示引入依赖<dependency> <groupId>c
2020-05-20 00:00:43
146
原创 SpringBoot学习(1)-入门介绍
1. 了解SpringBoot什么是SpringBoot为什么要学习SpringBootSpringBoot的特点1.1什么是SpringBootSpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品:在这里插入图片描述我们可以看到这样一段话:Spring Boot makes it easy to create stand-alone, production-grade Spring based Applicat
2020-05-18 23:30:58
189
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人