自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 JUC-ThreadLocal

事实上,在ThreadLocalMap中的set/getEntry方法中,会对key为null(也即是ThreadLocal为null)进行判断,如果为null的话,那么是会对value置为null的。使用弱引用,如果当前线程仍然在运行,但是ThreadLocalMap的key被垃圾回收了,value永远不会被访问到了,导致value内存泄漏。用于关联线程和线程上下文。4.​对于不同的线程,每次获取副本值时,别的线程并不能获取到当前线程的副本值,形成了副本的隔离,互不干扰。内存泄漏的堆积终将导致内存溢出。

2024-08-09 09:34:44 915

原创 JUC-Future&CompletableFuture

thenApply方法中的函数返回一个值,这个值成为新的CompletableFuture的结果。,这个新实例的结果要么是原CompletableFuture的正常结果(如果原CompletableFuture正常完成),要么是通过fn函数处理异常后返回的值(如果原CompletableFuture因异常而失败)。thenCompose方法中的函数返回一个新的CompletableFuture,这个CompletableFuture的结果成为新的CompletableFuture的结果。

2024-08-08 17:15:53 908

原创 JUC-线程基础篇

在Java线程中,通过一个整型成员变量priority来控制优先级,优先级的范围从1~10,在线程构建的时候可以通过setPriority(int)方法来修改优先级,默认优先级是5,优先级高的线程分配时间片的数量要多于优先级低的线程。, 中断好比其他线程对该线程打了个招呼,“A,你要中断了”,不代表线程A会立即停止自己的工作,同样的A线程完全可以不理会这种中断请求。,中断线程,如果被中断线程正在 sleep,wait,join 会导致被中断的线程抛出 InterruptedException,

2024-08-07 22:49:56 561

原创 什么是SOCKET通信,看完马上明白

一、Socket概述Socket,即套接字。就是两台主机之间逻辑连接的端点。(通俗来说:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket)。TCP/IP协议是传输层协议,主要解决数据如何在网络中传输。HTTP是应用层协议,主要解决如何包装数据。Socket是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议、本地主机的IP地址、本地进程的协议端口、远程主机的IP地

2022-01-12 11:16:49 11026

原创 xml文件中出现URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs),解决方案

在xml文件的<beans>标签中,出现类似报红的情况:并且控制台中报错:URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)解决方案:需要手动把报红的url设置到DTD中1.2.完美解决,效果:...

2021-12-31 17:35:29 500

原创 dubbo的简单搭建

1.父工程pom中指定依赖以及版本<?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 http://ma

2021-12-31 00:22:16 1150

原创 解决No application config found or it‘s not a valid config Please add <dubbo:application name=“...“ >

用springboot启动dubbo时,如果出现这个报错:1.检查依赖版本,然后检查配置文件关于dubbo的前缀,低版本是spring.dubbo为前缀,高版本是dubbo为前缀。2.大多数是因为dubbo依赖和jdk版本冲突,如果是jdk1.8,那么就用2.7.5版本的dubbo。如果用jdk11而导入2.7.5版本的dubbo,就会报这个错误,把jdk切换到1.8即可完美解决。如果必须用jdk11,解决方法:引入依赖: <dependency>

2021-12-30 23:19:58 4388

原创 在基于Netty的自定义RPC的案例基础上,进行改造。基于Zookeeper实现简易版服务的注册与发现机制

要求完成改造版本:1. 启动2个服务端,可以将IP及端口信息自动注册到Zookeeper2. 客户端启动时,从Zookeeper中获取所有服务提供端节点信息,客户端与每一个服务端都建立连接3. 某个服务端下线后,Zookeeper注册列表会自动剔除下线的服务端节点,客户端与下线的服务端断开连接4. 服务端重新上线,客户端能感知到,并且与重新上线的服务端重新建立连接---------------------------------------------------------------

2021-12-29 21:47:44 1403

原创 基于课上自定义RPC代码中做如下功能实现

1.客户端集成springboot,引入依赖 <!--集成springboot--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>

2021-12-21 22:38:08 321

原创 1分钟了解什么是幂等性

幂等定义:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。举例说明:1.2.3.现在是不是对幂等瞬间恍然大悟了呢!...

2021-12-15 19:44:45 227

原创 开发Minicat V4.0,在已有Minicat基础上进一步扩展,模拟出webapps部署效果 磁盘上放置一个webapps目录,webapps中可以有多个项目,例如demo1、demo2、demo

在minicat的resources目录下,增加server.xml配置文件 <?xml version="1.0" encoding="UTF-8" ?><Server> <!--可以有多个service--> <Service> <Connector port="8080"/> <Engine> <Host name="localhost" appB

2021-11-24 18:46:11 863 1

原创 java面试集锦

Java基础JAVA数据类型JAVA有哪些数据类型JAVA数据类型分为基本数据类型和引用数据类型基本数据类型有四类八种:整型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)浮点型:float(4字节)、double(8字节)字符型:char(2字节)布尔型:boolean(1位)引用类型:类class、接口interface、数组[]float和long哪个存放的数据更大,为什么?(9月9日)Float存放的更大,因为虽然float占用..

2021-07-10 07:56:18 857

转载 解决redis数据一致性问题之选择性读主库

实现一种情况,只有这一段时间,可能读到从库脏数据的读请求去读主库,平时读从库。可以利用一个缓存记录必须读主的数据。如上图,当写请求发生时:(1)写主库(2)将哪个库,哪个表,哪个主键三个信息拼装一个key设置到cache里,这条记录的超时时间,设置为“主从同步时延”画外音:key的格式为“db:table:PK”,假设主从延时为1s,这个key的cache超时时间也为1s。如上图,当读请求发生时:这是要读哪个库,哪个表,哪个主键的数据呢,也将这三个信息拼装一个..

2021-07-10 07:43:06 911

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除