04 2022 档案

摘要:本地调试SpringBoot工程时,因为服务会注册到dev环境上的Eureka上,导致其他人调用服务失败,因此在本地调试时可以不用将服务注册上去。而实现这个只需要在application.yml中增加一个配置:eureka: client: register-with-eureka: false 阅读全文
posted @ 2022-04-30 09:25 甜菜波波 阅读(548) 评论(0) 推荐(0) 编辑
摘要:在mybatis的配置文件中添加 <settings> <!--标准日志工厂实现--> <srtting name="logImpl" value="STDOUT_LOGGING"/> </settings> 名字不能写错。 SLF4J | LOG4J | LOG4J2 | JDK_LOGGING 阅读全文
posted @ 2022-04-28 16:34 甜菜波波 阅读(1484) 评论(0) 推荐(0) 编辑
摘要:问题: 控制台可以**出sql语句,说明可以查出数据,因此,很纳闷为什么这个res为什么会是空(debug看这个res的值是:All elements are null),res其实是有大小的,截图也可以看见size为1,但是这个并不是没有数据,而是这个值为null。 解决: 1、查看<select 阅读全文
posted @ 2022-04-21 14:37 甜菜波波 阅读(1014) 评论(0) 推荐(0) 编辑
摘要:前言 重新配置开发环境,记录maven安装配置。maven安装依赖JDK (1.8.0_191) 1、下载安装包 maven是Apache基金会下的开源软件,可以在Apache官网找到对应下载包 http://maven.apache.org/download.cgi download 2、解压压缩 阅读全文
posted @ 2022-04-21 09:59 甜菜波波 阅读(140) 评论(0) 推荐(0) 编辑
摘要:@Component public class Person { @Value("#{11*20}") private int age; @Value("true") private boolean merry; @Value("${person.name}") private String nam 阅读全文
posted @ 2022-04-20 11:13 甜菜波波 阅读(1839) 评论(0) 推荐(0) 编辑
摘要:phone.whiteList={'123','346','456'}@Value("#{${phone.whiteList}}")private List<String> phoneList; 方法2: role.id=[ 1,2,3 ] @ApolloJsonValue("${role.id}" 阅读全文
posted @ 2022-04-20 11:01 甜菜波波 阅读(251) 评论(0) 推荐(0) 编辑
摘要:在开发中可能会有这样的情景。需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoot给我们提供了两个接口来帮助我们实现这种需求。这两个接口分别为CommandLineRunner和ApplicationRunner。他们的执行时机为容器启动完成的时候。 这两个接口中 阅读全文
posted @ 2022-04-19 17:48 甜菜波波 阅读(1039) 评论(0) 推荐(0) 编辑
摘要:@Controllerdvice 可以用于全局异常处理@Aspect 可以用于添加traceID,方法日志记录HandlerInterceptorAdapter 拦截器,可以用于方法级权限验证,添加日志 阅读全文
posted @ 2022-04-13 20:12 甜菜波波 阅读(46) 评论(0) 推荐(0) 编辑
摘要:自定义一个注解 @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface UserAuthorization { } 复制代码 其中@Target注解解决 阅读全文
posted @ 2022-04-13 18:26 甜菜波波 阅读(1498) 评论(0) 推荐(1) 编辑
摘要:有些时候我们不想让一些权限不足的人看到一些敏感字段,因此我们可以使用注解+AOP+反射来实现将返回的对象中的敏感字段设置为null值。 1. 编写一个注解,在属性上使用,用来控制字段的权限 @Target(ElementType.FIELD) @Retention(RetentionPolicy.R 阅读全文
posted @ 2022-04-13 18:24 甜菜波波 阅读(1439) 评论(0) 推荐(0) 编辑
摘要:监控JVM信息的工具有JConsole。而ManagementFactory是一个可以获取JVM线程、内存、编译等信息的一个工厂类。 ManagementFactory使用: public class JvmInfo { private static final long MB = 1024 * 1 阅读全文
posted @ 2022-04-13 14:46 甜菜波波 阅读(245) 评论(0) 推荐(0) 编辑
摘要:一、什么是函数式接口 一个只能有一个抽象方法的接口。 二、函数式接口的用途 主要在Lambda表达式和方法引用上。 如: @FunctionalInterface interface GreetingService{undefined void sayMessage(String message); 阅读全文
posted @ 2022-04-13 10:06 甜菜波波 阅读(418) 评论(0) 推荐(0) 编辑
摘要:import com.baomidou.mybatisplus.extension.service.IService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.B 阅读全文
posted @ 2022-04-13 09:56 甜菜波波 阅读(308) 评论(0) 推荐(0) 编辑
摘要:前言最近在做excel解析的编码,其中涉及到一个内存占用空间优化的问题。解决的方法是尽量少的创建对象,可以共用的对象信息不用创建多份。查阅资料后得到如下文章,作为学习记录使用。JAVA对象头由于Java面向对象的思想,在JVM中需要大量存储对象,存储时为了实现一些额外的功能,需要在对象中添加一些标记 阅读全文
posted @ 2022-04-12 14:56 甜菜波波 阅读(519) 评论(0) 推荐(0) 编辑
摘要:如何判断一个对象占用多少字节?这是我之前遇到的一个面试题,在这里分享一下。 要判断一个对象占用多少字节,对象内存布局是必须要了解的。 对象内存布局 在HotSpot虚拟机里对象内存布局分为3个部分:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding) 对象头 对 阅读全文
posted @ 2022-04-12 14:49 甜菜波波 阅读(205) 评论(0) 推荐(0) 编辑
摘要:一、先上答案 这个问题有坑,有两种回答 第一种解释: object实例对象,占16个字节。 第二种解释: Object o:普通对象指针(ordinary object pointer),占4个字节。 new Object():object实例对象,占16个字节。 所以一共占:4+16=20个字节。 阅读全文
posted @ 2022-04-12 14:43 甜菜波波 阅读(123) 评论(0) 推荐(0) 编辑
摘要:通常的处理,我们还是要在FULLGC时取到当时的dump文件,来分析内存里都有哪些数据占居着内存。这里有两种办法来获取dump文件: 1.通过在jvm里添加参数配置:+HeapDumpBeforeFullGC,+HeapDumpAfterFullGC 这种方法需要在应用启动前要提前配置好,如果不需要 阅读全文
posted @ 2022-04-08 16:02 甜菜波波 阅读(1038) 评论(0) 推荐(0) 编辑
摘要:线上FullGC频繁的排查腾讯云服务器 2核4G 8M带宽 3年只要222😂😂,正常价格要4千多,这羊毛不薅白不薅😍😍。 https://curl.qcloud.com/50OxDE4W本应该写在文末的这个问题我再github上提交了一个issue,具体issue的讨论见这里问题前段时间发现 阅读全文
posted @ 2022-04-08 16:00 甜菜波波 阅读(232) 评论(0) 推荐(0) 编辑
摘要:1:部分对象会在From和To区域中复制来复制去,如此交换15次(由JVM参数MaxTenuringThreshold决定,这个参数默认是15),最终如果还是存活,就存入到老年代。 2:如果对象的大小大于Eden的二分之一会直接分配在old,如果old也分配不下,会做一次majorGC,如果小于ed 阅读全文
posted @ 2022-04-08 15:51 甜菜波波 阅读(385) 评论(0) 推荐(0) 编辑
摘要:JVM定义了若干个程序执行期间使用的数据区域。这个区域里的一些数据在JVM启动的时候创建,在JVM退出的时候销毁。而其他的数据依赖于每一个线程,在线程创建时创建,在线程退出时销毁。 1、程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。分支、循环、跳转、异常处 阅读全文
posted @ 2022-04-08 14:29 甜菜波波 阅读(81) 评论(0) 推荐(0) 编辑
摘要://1.设置sentinel 各个节点集合Set<String> sentinelSet = new HashSet<>();sentinelSet.add("192.168.14.101:26379");sentinelSet.add("192.168.14.102:26380");sentine 阅读全文
posted @ 2022-04-08 10:50 甜菜波波 阅读(612) 评论(0) 推荐(0) 编辑
摘要:上一篇文章中对ThreadLocal进行了详尽的介绍,另外还有一个类: InheritableThreadLocal 他是ThreadLocal的子类,那么这个类又有什么作用呢? 原文地址: InheritableThreadLocal类原理简介使用 父子线程传递数据详解 多线程中篇(十八) 测试代 阅读全文
posted @ 2022-04-08 09:40 甜菜波波 阅读(148) 评论(0) 推荐(0) 编辑
摘要:子线程如何获取父线程ThreadLocal的值 最近微信群里一个网友分享了他京东一面的过程,我这里分享给大家其中一道面试题。 京东一面」子线程如何获取父线程ThreadLocal的值 子线程如何获取父线程ThreadLocal的值 图片 想要子线程获取父线程中 ThreadLocal 中的值,需要其 阅读全文
posted @ 2022-04-07 19:50 甜菜波波 阅读(173) 评论(0) 推荐(0) 编辑
摘要:面试题剖析数据的丢失问题,可能出现在生产者、MQ、消费者中,咱们从 RabbitMQ 和 Kafka 分别来分析一下吧。RabbitMQrabbitmq-message-lose生产者弄丢了数据生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。此时可 阅读全文
posted @ 2022-04-06 14:48 甜菜波波 阅读(208) 评论(0) 推荐(0) 编辑
摘要:分布式系统架构特别是进入微服务架构后,服务治理的重要性愈发变得不可缺少而且处于重要地位。缺乏服务治理的的分布式系统架构,很难正式投入生产。那么服务治理包括哪些方面呢?主要包括服务发现,负载均衡,限流,熔断,超时,重试,服务跟踪等。下面展开讲。 侵入式服务治理 1.服务发现 服务发现是指使用一个注册中 阅读全文
posted @ 2022-04-06 14:28 甜菜波波 阅读(248) 评论(0) 推荐(0) 编辑
摘要:总结:Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。 Dubbo是基于RPC的SOA框架 作为RPC:支持各种传输协议,如dubbo,hession,json,fastjson,底层采用mina,netty长连接进 阅读全文
posted @ 2022-04-06 14:11 甜菜波波 阅读(850) 评论(0) 推荐(0) 编辑
摘要:Controller 默认是单例的,一般情况下,如果用Spring MVC 的 Controller时,尽量不在 Controller中使用实例变量。否则会出现线程不安全性的情况,导致数据逻辑混乱。正因为单例所以不是线程安全的。举个简单例子: @Controller public class Sco 阅读全文
posted @ 2022-04-02 16:09 甜菜波波 阅读(517) 评论(0) 推荐(0) 编辑
摘要:Spring框架为什么采用三级缓存而不采用二级缓存来解决循环依赖?CGLIB动态代理的AOP存在! 发现每次执行一遍singleFactory.getObject()方法又是一个新的代理对象,这就会有问题了,因为AService是单例的,每次执行singleFactory.getObject()方法 阅读全文
posted @ 2022-04-02 14:59 甜菜波波 阅读(1597) 评论(0) 推荐(0) 编辑
摘要:面试官:今天要不来聊聊Spring对Bean的生命周期管理? 候选者:嗯,没问题的。 候选者:很早之前我就看过源码,但Spring源码的实现类都太长了 候选者:我也记不得很清楚某些实现类的名字,要不我大概来说下流程? 面试官:没事,你开始吧 候选者:首先要知道的是 候选者:普通Java对象和Spri 阅读全文
posted @ 2022-04-02 14:28 甜菜波波 阅读(614) 评论(0) 推荐(1) 编辑
摘要:Spring学习(五):动态代理的两种实现方式(全网最容易懂)前言 要学习SpringAOP之前,肯定要弄清楚什么是动态代理,动态代理是怎样实现的,以及动态代理能解决什么问题。一、什么是动态代理1、字面意思,代理就是代替别人去做一些事情,如线下店代替工厂去卖电脑、代理工厂做售后工作,线下店就是代理商 阅读全文
posted @ 2022-04-01 15:37 甜菜波波 阅读(2490) 评论(0) 推荐(0) 编辑
摘要:BeanFactory和ApplicationContext的区别 描述 BeanFactory: 是Spring里面最低层的接口,提供了最简单的容器的功能,只提供了实例化对象和拿对象的功能; ApplicationContext: 应用上下文,继承BeanFactory接口,它是Spring的一各 阅读全文
posted @ 2022-04-01 15:01 甜菜波波 阅读(389) 评论(0) 推荐(0) 编辑
摘要:1. LockSupport简介 在之前介绍AQS的底层实现,已经在介绍java中的Lock时,比如ReentrantLock,ReentReadWriteLocks,已经在介绍线程间等待/通知机制使用的Condition时都会调用LockSupport.park()方法和LockSupport.u 阅读全文
posted @ 2022-04-01 14:17 甜菜波波 阅读(110) 评论(0) 推荐(0) 编辑
摘要:问题:请讲下mysql中binlog、undolog、redolog三种日志的区别 分析:mysql中这三种日志很常见,也是面试中涉及比较多的方面,要理解清楚这三种日志的定位及区别; 回答要点: 主要从以下几点去考虑 1、三种日志的作用分别是什么; 2、三种日志解决的问题; 3、三种日志分别是什么时 阅读全文
posted @ 2022-04-01 11:20 甜菜波波 阅读(326) 评论(0) 推荐(1) 编辑
摘要:目录:java虚拟机汇总 class文件结构分析 1).class文件常量池中的常量项结构 2). 常用的属性表的集合 类加载过程 1).类加载器的原理以及实现 虚拟机结构分析 1).jdk1.7和1.8版本的方法区构造变化 2).常量池简单区分 对象结构分析<<== 现在位置 1).压缩指针详解 阅读全文
posted @ 2022-04-01 10:57 甜菜波波 阅读(432) 评论(0) 推荐(0) 编辑
摘要:package TestAQS; import sun.misc.Unsafe; import java.lang.reflect.Field; import java.util.concurrent.locks.AbstractQueuedSynchronizer; public class Ot 阅读全文
posted @ 2022-04-01 09:08 甜菜波波 阅读(41) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示