java
L-960
后端开发 java、python、asp.net core、半个vue
展开
-
jvm性能监控工具(jps、jstat、jinfo、jmap、jhat、jstack、jvisualvm和jconsole)介绍及示例
JDK本身提供了很多方便的JVM性能调优监控工具,除了jps、jstat、jinfo、jmap、jhat、jstack等小巧的工具,还有集成式的jvisualvm和jconsole。这些工具在 $JAVA_HOME/bin目录下。转载 2023-09-22 11:44:58 · 816 阅读 · 0 评论 -
maven根据操作系统的不同打包时引入不同的依赖(jar)
maven根据操作系统的不同打包时引入不同的依赖(jar)原创 2023-09-07 11:02:29 · 1059 阅读 · 0 评论 -
java使用wait()和notify()线程间通讯
java使用wait()和notify()线程间通讯原创 2023-09-01 11:17:12 · 135 阅读 · 0 评论 -
子类到底能不能继承父类的私有属性?
子类到底能不能继承父类的私有属性转载 2023-07-08 13:40:50 · 508 阅读 · 0 评论 -
事务管理器报错TransactionManager available:expected single matching bean but found 2: tx,transactionManager
事务管理器报错TransactionManager available:expected single matching bean but found 2: tx,transactionManager原创 2023-06-28 15:38:50 · 532 阅读 · 0 评论 -
在Java中使用字节流进行对象的序列化和反序列化
在Java中使用字节流进行对象的序列化和反序列化原创 2023-05-17 15:11:55 · 293 阅读 · 0 评论 -
win11安装java8后,jps、jvisualvm等jdk工具无法使用的问题
找不到jps命令,使用jps命令不显示java进程id问题,同时jvisualvm也提示无法检测到本地java应用程序原创 2023-05-14 19:14:15 · 2905 阅读 · 0 评论 -
mybatisplus日期映射报错解决
mybatisplus日期映射报错解决原创 2023-02-20 16:45:36 · 794 阅读 · 0 评论 -
@ResponseBody注解帮助我们返回的数据与自己返回的HttpEntity、ResponseEntity对象有什么区别?
@ResponseBody注解帮助我们返回的数据与自己返回的HttpEntity、ResponseEntity对象有什么区别?原创 2023-02-02 17:06:00 · 465 阅读 · 0 评论 -
由浅入深使用validation框架进行参数校验
由浅入深使用validation框架进行参数校验原创 2023-01-18 15:10:58 · 1441 阅读 · 0 评论 -
java高级:利用Lambda表达式解决代码中硬编码的问题
java高级:利用Lambda表达式解决代码中硬编码的问题原创 2023-01-13 15:42:25 · 1587 阅读 · 0 评论 -
java时间戳与LocalDateTime常用转换方式
java时间常用操作原创 2023-01-06 14:38:29 · 4933 阅读 · 0 评论 -
Maven的packaging打包方式 pom,jar,war的区别
Maven的packaging打包方式 pom,jar,war的区别原创 2022-12-30 15:00:27 · 2761 阅读 · 1 评论 -
SpringBoot2.X版本在Controller上加统一请求前缀
SpringBoot2.X版本在Controller上加统一请求前缀原创 2022-12-23 14:12:32 · 454 阅读 · 0 评论 -
java使用httpclient发送带json请求体的post请求
java使用httpclient发送带json请求体的post请求原创 2022-12-19 09:59:40 · 3745 阅读 · 1 评论 -
maven解决无法下载依赖源码的问题(Cannot download sources;Sources not found for: org.apache.rocketmq:rocketmq)
maven解决无法下载依赖源码的问题(Cannot download sources;Sources not found for: org.apache.rocketmq:rocketmq)原创 2022-12-05 10:17:39 · 1083 阅读 · 0 评论 -
idea拉完代码,代码爆红,但是不影响运行,如何解决
idea拉完代码,代码爆红,但是不影响运行,如何解决原创 2022-11-15 09:38:38 · 1554 阅读 · 0 评论 -
在Spring中使用监听器以及事件监听机制
在Spring中使用监听器以及事件监听机制原创 2022-11-08 17:58:19 · 1150 阅读 · 0 评论 -
spring设置bean作用域为多例、request
spring设置bean作用域为多例、request原创 2022-11-07 16:30:04 · 384 阅读 · 0 评论 -
java将字符串指定编码
java将字符串指定编码原创 2022-10-26 10:01:04 · 218 阅读 · 0 评论 -
rabbitmq中spring.rabbitmq.publisher-confirm-type详解
rabbitmq中spring.rabbitmq.publisher-confirm-type详解原创 2022-10-14 16:49:37 · 2405 阅读 · 1 评论 -
AOP处理类上或者方法上面的自定义或指定注解
AOP处理类上或者方法上面的自定义或指定注解原创 2022-09-15 15:02:37 · 2172 阅读 · 0 评论 -
springboot配置跨域、静态资源地址映射、拦截指定地址资源
springboot配置跨域、静态资源地址映射、拦截指定地址资源原创 2022-09-08 15:08:21 · 1456 阅读 · 0 评论 -
java对象与字节数组互转
java对象与字节数组互转原创 2022-09-02 15:00:55 · 1994 阅读 · 0 评论 -
java字符转二进制和十六进制
3、使用Integer.toBinaryString()获取二进制。2、使用Integer.toHexString()获取十六进制。1、获取byte[]数组。原创 2022-09-01 11:38:29 · 870 阅读 · 0 评论 -
java查看对象真实地址和哈希值的工具类
HotSpot JVM 中有不同的压缩引用模式。因此,我们不应该根据该地址执行一些本机内存操作,因为它可能会导致奇怪的内存损坏。hashCode()方法是所有 Java 对象的常用方法之一。有一种常见的误解,认为 JVM 中对象的内存地址是作为其默认 toString 实现的一部分表示的,例如。此外,大多数 JVM 实现中的内存地址会随着 GC 不时移动对象而发生变化。可以查看对象未被重写的hashcode值;在JVM中查找特定对象的内存地址;也就是说,许多人认为这里的。是该特定对象的内存地址。...原创 2022-09-01 11:00:39 · 2183 阅读 · 0 评论 -
maven项目如何打包运行指定java程序(maven-shade-plugin插件的使用)
把整个项目(包含它的依赖)都打包到一个 “uber-jar” 中;shade - 即重命名某些依赖的包。按需选择要添加到最终 jar 包中依赖;重定位 class 文件;生成可执行 jar 包;生成项目资源文件。原创 2022-08-23 11:52:45 · 6389 阅读 · 0 评论 -
SpringBoot多环境区分
spring boot允许通过命名约定按照一定的格式来定义多个配置文件,然后通过在的来具体激活一个或者多个配置文件,如果没有没有指定任何profile的配置文件的话,spring boot默认会启动application-default.properties。原创 2022-08-22 15:17:47 · 2166 阅读 · 0 评论 -
高并发之使用RateLimiter、Semaphore对访问资源进行限流
限流是保护高并发系统的三把利器之一,另外两个是缓存和降级。限流在很多场景中用来限制并发和请求量,比如说秒杀抢购,保护自身系统和下游系统不被巨型流量冲垮等。限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务或进行流量整形。...原创 2022-07-18 16:54:19 · 3713 阅读 · 0 评论 -
java中常用的阻塞队列与非阻塞队列
阻塞队列可以阻塞,非阻塞队列不能阻塞,只能使用队列wait(),notify()进行队列消息传送。而阻塞队列当队列里面没有值时,会阻塞直到有值输入,输入也一样,当队列满的时候,会阻塞,直到队列不为空。BlockingQueue 继承了 Queue 接口,是队列的一种。阻塞队列(BlockingQueue)是一个在队列基础上又支持了两个附加操作的队列。注意:阻塞队列是线程安全的在ThreadPoolExecutor中就使用的阻塞队列来实现线程的不结束,以达到线程复用。add(E e):添加一个元素,添加成原创 2022-07-13 10:55:50 · 644 阅读 · 0 评论 -
java并发多线程通信—wait()、notify()、notifyAll()、join()
wait() ,notifyAll(),notify() 三个方法都是Object类中的方法。假如有一个对象锁Documentwait(): 调用该方法的线程进入WAITING状态,并将当前线程放置到对象的等待队列,只有等待另外线程的通知(notify)或被中断才会返回,需要注意,调用wait()方法后,会释放对象的锁。notify(): 通知一个在对象上等待的线程,由WAITING状态变为BLOCKING状态,可以参考下图,从等待队列移动到同步队列,等待CPU调度获取该对象的锁,当该线程获取到了对象的锁后原创 2022-07-11 11:49:17 · 393 阅读 · 0 评论 -
使用ConstraintValidator自定义注解和校验器
在开发过程中,使用validation框架提供的注解大大降低了我们编码的复杂度,但是有一些需求需要我们自定义校验逻辑,比如用户名的唯一校验,这类需要查询数据库或者其他复杂的需求。然后我们又不想在业务代码中掺杂大量的if-else判断,这时候我们可以自定义注解,然后使用aop切面完成校验。但是有更优雅的方式来做,就是实现ConstraintValidator接口。我们有一张用户表,现在需要开发其增、删、改、查的接口。对于增加的接口内有大量的校验,于是我们打算自定义校验接口实现。使用mybatisplus生原创 2022-07-07 14:57:02 · 906 阅读 · 1 评论 -
java注解开发
Java注解是附加在代码中的一些元信息,用于一些工具在编译、加载class、运行时进行解析和使用,起到说明、配置的功能。注解相关类都包含在包中。元注解用于修饰其他的注解@Retention:定义注解的保留策略@Documented:指定被修饰的该Annotation可以被javadoc工具提取成文档.@Inherited:指定被修饰的Annotation将具有继承性2.3 注解的生命周期@Retention@Retention的3个生命周期@Retention作用是定义被它所注解的注解保留多久原创 2022-07-06 16:02:37 · 352 阅读 · 0 评论 -
springboot全局的异常拦截处理
一、为什么使用 Validation 来验证参数 通常我们在使用spring框架编写接口时,对于部分接口的参数我们要进行判空或者格式校验来避免程序出现异常。那是我们一般都是使用if-else逐个对参数进行校验。这种方法按逻辑来说也是没有问题的,同样也能实现预期效果。但是,这样的代码从可读性以及美观程序来看,是非常糟糕的。那么,我们就可以使用@valid注解来帮助我们优雅的校验参数。二、如何使用Validation相关注解进行参数校验 ①为实体类中的参数或者对象添加相应的注解;②在控制器原创 2021-11-15 15:20:49 · 8569 阅读 · 0 评论 -
理解Java泛型的复杂写法<? super T>,<? extend T>
“原创 2022-07-04 15:30:12 · 1484 阅读 · 0 评论 -
在springboot中使用拦截器
目前有一个需求,是在现有项目中集成一个简单的登录功能,想到了使用过滤器和拦截器实现,这篇文章介绍如何使用spring的拦截器。拦截器是在面向切面编程中应用的,就是在你的service或者一个方法前调用一个方法,或者在方法后调用一个方法。是基于JAVA的反射机制。过滤前->拦截前->Action处理->拦截后->过滤后1)预处理preHandle()方法2)后处理postHandle()方法3)返回处理afterCompletion()方法注:一般使用preHandle这个拦截器进行预处理,对url进行请求原创 2022-06-30 17:27:20 · 8450 阅读 · 3 评论 -
PO BO VO DTO POJO DAO DO这些Java中的概念分别指一些什么
看到一篇文章,通俗易懂的解释了pojo相关概念,原文链接,StevenZhang:https://www.zhihu.com/question/39651928/answer/2490565983上班,无聊来写写,打发一下,看官老爷们觉得有问题请评论区指出,但请不要抬杠,答主也会认真看评论。就比如说我用一个实际场景举例子吧,你更好懂,假如有一张user表,里面有几个字段:那么我现在需要对于User这张表进行增删改查,那么如果我假设你学过Mybatis?还是JPA这种持久层框架的话,或者你只要学过JDBC转载 2022-06-28 14:32:21 · 223 阅读 · 0 评论 -
启动jar包报错UnsupportedClassVersionError,如何修复
首先查看完整异常日志大致意思是,这个jar包已由最新版本的Java运行时(类文件版本55.0)编译,当前版本的Java运行时仅识别高达52.0的类文件版本。通俗来讲,就是我们使用Java 11编译了我们的类,并尝试使用Java 8运行它。解决方案,使用java11环境运行即可Java版本号参考...原创 2022-06-24 13:52:15 · 1403 阅读 · 0 评论 -
JVM调优相关命令以及解释
通过jps获取java进程的PID,通过jmap分析当前java进程的内存数据,常用命令:通过jmap可以查看堆的使用情况,比如定位简单的内存泄漏,通过1,3可以看到那些类的对象比较多。可以设置参数控制发生内存溢出时记录xx.hprof日志,此可以用于分析内存泄漏。这个命令可以查看线程的堆栈信息,jstack可以定位到简单的死锁,常用的是通过jstack定位CPU高的问题,具体步...原创 2022-06-23 15:20:00 · 340 阅读 · 0 评论 -
关于Lombok的@Data注解
@Data注解包含了原创 2022-06-20 10:04:20 · 238 阅读 · 0 评论