- 博客(23)
- 资源 (5)
- 收藏
- 关注
原创 JVM调优-jstat查看jvm内存的使用情况
目录1. jstat 命令的基本格式2. jstat 命令的使用2.1 类加载统计2.2 垃圾回收统计2.3 堆内存统计2.4 新生代垃圾回收统计2.5 新生代内存统计2.6 老年代垃圾回收统计2.7 老年代内存统计2.8 元数据空间统计2.9 总结垃圾回收统计1. jstat 命令的基本格式jstat [-命令选项] [进程号] [间隔时间/毫秒] [查询次数]2. jstat 命令的使用jdk版本 1.82.1 类加载统计jstat -class 51Loaded:加载class的数
2021-09-15 20:13:12
1441
转载 重温Redis-4.Redis的主要数据类型及其API操作
目录1.字符串类型1.1 简介1.2 基本命令1.3 应用场景2.哈希2.1 简介2.2 基本命令3.列表3.1 简介3.2 基本命令4.集合4.1 简介4.2 基本命令5.有序集合5.1 简介5.2 基本命令1.字符串类型1.1 简介字符串类型:简单的字符串、复杂的字符串(JSON、XML)、数字、二进制(图片、视频等),但是最大值不能超过 512M。1.2 基本命令设置值SET key value [EX seconds] [PX milliseconds] [NX|XX]SET my
2021-07-10 11:11:58
524
原创 Spring事务提交之后,再进行其他操作
目录1.场景说明2.使用@TransactionalEventListener 注解解决问题1.场景说明场景:在项目中存在以下使用场景:在 service1 中往数据库中新插入了一条数据,同时在这个 service1 中调用了另外一个异步方法,在异步方法中需要查询刚刚 service1中新插入的数据,发现查询不到原因:service1的事务未提交,数据库中没有新插入的数据,异步方法采用了新的数据库连接,查询数据库查询不到对应的数据解决方法:让service1方法事务提交之后,再调用异步方法2.使用
2021-06-28 23:16:30
2947
原创 重温Redis-1.阿里云Docker安装Redis
目录1.买个阿里云服务器2.安装Docker2.1 确定Linux的版本2.2 卸载旧的Docker版本(如果有)2.3 下载安装依赖和设置镜像仓库2.4 安装Docker2.5 启动Docker并验证Docker是否安装成功2.5.1 启动Docker2.5.2 看看Docker的版本2.5.3 下载一个Hello-Docker 镜像玩玩3.Docker安装Redis(非常简单)3.1 Docker拉取和查看镜像3.2 官网获取 Redis 的配置文件3.3 配置文件修改3.4 上传配置文件并启动Redi
2021-06-26 11:02:28
200
原创 Jvm学习笔记3:运行时数据区概述(PC寄存器、虚拟机栈、本地方法栈)
目录1 整体图:运行时数据区2 线程基本概念回顾3 程序计数器(PC寄存器)1 整体图:运行时数据区内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。Jvm内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的JVM对于内存的划分方式和管理机制存在着部分差异。阿里手册Jvm内存划分图:Java 虚拟机定义了若干程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁(生命周期与
2021-04-13 21:04:46
274
原创 Jvm学习笔记2:类的加载器及类加载过程(概述)
1. 类加载子系统1.1 概述类加载子系统负责从文件系统或者网络中加载Class文件,Class文件在文件开头有特定的文件标识ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine 决定加载的类信息存放于一块成为 :方法区的内存空间,除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)字节码中的常量池加载到 方法区 -----> 运行时常
2021-04-13 18:04:10
511
原创 Jvm学习笔记1:内存结构概述
1.原理图(简图)类加载子系统:加载字节码文件(**.class)到运行时数据区(可以粗略理解为内存)运行时数据区:程序运算时的内存空间执行引擎:将 字节码指令 翻译成 机器指令,同时包含垃圾回收机制...
2021-04-08 13:02:59
273
转载 Java设计模式--责任链1
参考博客: 大神博客 点赞请去大神博客1.什么是责任链责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。2.责任链模式的结构下面使用了一个责任链模式的最简单的实现。责任链模式涉及到的角色如下所示:抽象处理者(Handler)角色:定义出一个处理请求的接口。如
2021-04-06 21:41:10
122
转载 CAS单点登录原理
转载地址:转载博客1、基于Cookie的单点登录的回顾基于Cookie的单点登录核心原理:将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从Cookie中取出用户名密码进行登录,让用户从某种意义上觉得只登录了一次。该方式缺点就是多次传送用户名密码,增加被盗风险,以及不能跨域。同时www.qiandu.com与mail.qiandu.com同时拥有登录逻辑的代码,如果涉及到修改操作,则需要修改两处。2、统一认证中心方案原理在生活中我们
2021-03-03 20:45:28
905
1
原创 Java定时任务-ScheduledExecutorService
1.ScheduledExecutorService的接口介绍package java.util.concurrent;public interface ScheduledExecutorService extends ExecutorService { //单次执行,在指定延时delay后运行command任务 public ScheduledFuture<?> schedule(Runnable command,long delay, TimeUnit unit);
2021-01-27 23:26:29
1386
原创 Java定时任务 Timer 和 TimerTask
1.基本简介java.util.TimerTask:表示一个定时任务基本使用:TimerTask task1=new TimerTask() { @Override public void run() { String name = Thread.currentThread().getName(); System.out.println("[当前线程是:"+name+",执行定时任务1:"+
2021-01-27 14:17:20
976
转载 Spring AOP 面向切面编程-注解理解与实例
参考博客: 大神的博客,点赞请去大神贴,本人仅做参考。SpringBoot中的AOP处理1 理解AOP1.1 什么是AOP1.2 AOP体系与概念2 AOP实例2.1 第一个实例2.2 第二个实例3 AOP相关注解3.1 @Pointcut3.2 @Around3.3 @Before3.4 @After3.5 @AfterReturning3.6 @AfterThrowing1 理解AOP1.1 什么是AOPAOP(Aspect Oriented Programming),面向切面思想,是Sprin
2021-01-17 00:18:18
946
1
原创 ApplicationEvent-Spring的事件使用
1、Spring事件使用思路Spring的事件为Bean与Bean之间的消息通信提供了支持,当一个Bean处理完一个任务之后,希望另外一个Bean知道并能做相应的处理,这时我们就需要让一个Bean监听当前Bean所发送的事件。Spring的事件需要遵循如下流程:自定义事件,集成ApplicationEvent。定义事件监听器,实现ApplicationListener。使用容器发布事件。2、ApplicationEvent事件的使用2.1 自定义事件实现ApplicationEvent接
2021-01-16 10:21:10
170
转载 Java Stream流的理解与使用
转载至博客:大神的博客Java8 Stream1 Stream概述2 Stream的创建3 Stream的使用案例使用的员工类3.1 遍历/匹配(foreach/find/match)3.2 筛选(filter)3.3 聚合(max/min/count)3.4 映射(map/flatMap)3.5 归约(reduce)3.6 收集(collect)3.6.1 归集(toList/toSet/toMap)3.6.2 统计(count/averaging)3.6.3 分组(partitioningBy/gro
2021-01-12 19:56:59
821
1
原创 ThreadLocal的理解
1、什么是ThreadLocalThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get或set方法访问)时能保证各个线程里的变量相对独立于其他线程内的变量。ThreadLocal实例通常来说都是private static类型的,用于关联线程和线程的上下文。可以总结为一句话:ThreadLocal的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。总结: ThreadLocal就是一个变量,
2021-01-06 20:19:43
281
原创 单独MyBatis框架-配置多数据源
1、思路此图片引用至博客 【Mybatis】MyBatis之配置多数据源思路描述:(1)主要通过创建两份配置文件,不同的配置文件中设置不同的数据源(设置不同数据库连接信息);(2)在每个配置文件中扫描不同的Mapper路径与Mapper.xml配置文件路径;(3)使用不同的配置文件创建不同的SqlSessionFactory对象,从而实现MyBatis中多数据源的配置2、直接上代码2.1 maven 的pom.xml 依赖因为用的是原生的mybatis框架,故只需要导入一下依赖即可<
2020-12-22 21:58:55
636
1
原创 Eureka入门学习--含实现案例
Eureka入门学习–含实现案例1、什么是eureka参考博客:参考参考,看看别人的博客1)参考一2)参考二3)参考三2、SpringBoot + Eureka+Feign:Eureka注册中心搭建、服务注册发现、服务间调用一个Server:注册中心、两个Client Demo: Client2 调用 Client12.1服务注册中心的搭建创建springboot项目,导入相应依赖 pom.xml<!--web或其他的依赖省略--><!--eureka 服务端--&
2020-11-28 21:58:09
330
原创 SpringSecurity实现基于数据库的身份验证
1. 问题描述基于数据库MySQL实现用户登录的身份验证,暂时不考虑权限问题;2.技术选型SpringBoot+SpringSecurity+SpringData JPA+MySQL;3.Pom依赖3.1 springboot版本 <parent> <groupId>org.springframework.boot</groupId>...
2020-04-21 12:28:16
615
转载 Java equals()方法和"=="的区别
java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 基本类型的比较应用双等号(),比较的是他们的值。 2.复合数据类型(类) 当复合数据类型用()进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个...
2019-03-28 10:03:33
124
转载 Java中的String,StringBuilder,StringBuffer三者的区别
Java中的String,StringBuilder,StringBuffer三者的区别最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下,便于大家观看,也便于加深自己学习过程中对这些知识点的记忆,如果哪里有误,恳请指正。这三个类之间的区别主要是在...
2019-03-23 15:39:18
108
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅