- 博客(22)
- 收藏
- 关注
原创 手写简易RPC(实践版)
rpc-远程过程调用,openFeign,Dubbo都可以算作rpc,以微服务来具体说明,就是在本地不需要去发送请求,通过rpc框架,像调用本地方法一样调用其他服务的方法,本质上还是要经过网络,去请求其他服务的资源。构造好必要的参数,向rpc发起请求,rpc通过http请求,向存在的provider的网络请求资源,执行对应的方法,然后将结果进行处理返回给。一般rpc都会有一个注册中心,使用rpc框架的服务称为消费者,被调用的服务成为生产者,以下是简单的图示。需要启动一个网络服务,成为一个提供服务的服务器;
2025-02-19 16:24:07
1081
原创 分布式项目pom配置
5.在子模块就可以直接使用lombok了。1. 父项目打包方式为 pom。3. 父项目依赖-Lombok为例。2. 父项目版本配置。
2024-10-29 10:15:05
572
1
原创 Java调用星火AI
用于决定结果随机性,取值越高随机性越强即相同的问题得到的不同答案的可能性越高 非必传,取值为[0,1],默认为0.5。// 模型回答的tokens的最大长度,非必传,取值为[1,4096],默认为2048。log.info("星火 AI 返回的结果 {}", responseContent);// 指定请求版本,默认使用最新2.0版本。* 调用ai--参数为向ai提问的内容。--修改version为最新稳定版-->
2024-10-08 19:04:47
1059
1
原创 idea一直更新索引问题
点击任何按钮都无效,包括关闭,只要是个功能按钮就会出现 xxx is not available while IDEA is updating indexes先说网上的解决办法,几乎所有的都这样:都说清缓存就好了事实上根本什么都点不了,更别说清缓存了,都是第一个人出现这种问题的人写的文章,其他人复制粘贴发出来恶心人,根本不是自己实际遇到的问题如果你也像我一样这样可以尝试如下几种方式。
2024-08-21 20:18:23
4422
6
原创 i++ 与 ++i 的解析(从字节码角度)
本文标题是从字节码分析,但是正文没有涉及字节码内容,因为我在学习这里的时候,我看到字节码是头都大,我相信大部分普通人也是不愿意去看那种东西。所以我只挑选了我认为关键的部分来进行分析,使用一些更加容易理解的词,而不是使用大量的专业术语。,那么这句话执行结束后 i 的值又变回了0,如果没有其他因素干扰,这样循环多少次,i 仍然是0;这时对 i++ 这个运算理解不深的人就会觉得,i 每次自增之后赋值给自己,结果不应该是10 吗。等,我们主要了解这两个就可以,结合下面的图会更直观一些。,i最后的结果是 0。
2024-07-18 11:54:58
445
原创 Java面试 : String
①串池中放入一个 "ab" 对象 ,②堆中new了一个由 "a" "b" 拼接的对象 ③尝试将b放入串池,发现串池中已经存在"ab"对象,直接返回给s。:jdk1.6之前 如上代码调用intern的时候,是把b复制一份放入串池,也就是说无论如何b都是一个存放在堆中的对象。中的,他们两个并不是一个对象,这也是证明了字符串的比较不能使用 == 而要使用equals方法,Javac在编译期的优化,由于"a"和"b"都是。的对象,如果调用intern方法之后,发现串池中。,依照上面的内容,s3与s4都会。
2024-07-17 09:52:02
1194
原创 Activiti7--进阶学习
/创建ProcessEngine对象//获取仓库服务//获取流程定义集合.processDefinitionKey("leaveProcess")//根据名查.list();//由于可能出现多次部署同一个key的流程图,所以查到的可能不是一个流程定义String businessKey = "唯一性标识";//创建ProcessEngine对象//获取RuntimeService对象//根据流程定义的key启动流程实例,这个key是在定义bpmn的时候设置的。
2024-07-16 09:21:16
915
原创 Activiti7工作流入门
/创建ProcessEngine对象//获取RepositoryService对象//进行部署.addClasspathResource("bpmn/leave.bpmn")//根据bpmn文件.addClasspathResource("bpmn/leave.png")//根据png文件.name("请假流程")//根据name.deploy();//部署。
2024-07-16 09:16:55
559
原创 Springboot集成shiro--登录拦截/权限控制
anon: 匿名拦截器,即不需要登录即可访问;一般用于静态资源过滤;示例“/static/**=anon”authc: 表示需要认证(登录)才能使用;示例“/**=authc”authcBasic:Basic HTTP身份验证拦截器roles: 角色授权拦截器,验证用户是否拥有资源角色;示例“/admin/**=roles[admin]”perms: 权限授权拦截器,验证用户是否拥有资源权限;示例“/user/create=perms["user:create"]”user。
2024-07-16 09:14:05
1281
原创 springboot项目部署到云服务器(超级清晰通透版)
这里如果不小心忘记复制又关掉了xshell也不用担心,执行 bt 命令就会有提示,可以按照需要查看修改,就像这样http:// 公网ip : 程序端口号/controller接口(web程序有入口的话可以不写)首先是端口号一定要记得打开,云服务以及宝塔都需要,其次就是程序的配置文件的端口号与你部署的端口号无关,外网访问你的程序只能是从部署的端口号进,比如我的程序在本地运行在8080,而我部署在8090,我在访问的时候就是访问8090端口,这点要注意其次是关于ip。
2024-07-13 14:42:36
2327
8
原创 直观方式理解重写hashcode的必要性
简单来说,hashmap的存储结构是一个存放多个链表的数组,但是在jdk8之后由链表转换为红黑树,无论是链表还是红黑树,都是为了解决hash冲突的问题,由于本文章目的是针对重写hashcode方法进行解释,因此不对hashmap的底层数据结构做过多描述。首先调用key的hashcode方法计算出它的哈希码,然后以这个哈希码作为索引,使用哈希函数来确定在数组中的存储位置。,如果不重写hashcode方法,将这些数据作为key存储的时候,无法计算出哈希码,那么就会被。
2024-07-11 20:31:25
231
原创 POI处理单元格类型不同(例:电话号码会被识别为数字)
通过判断类型返回字符串,再从字符串改成具体的类型即可,一般来说大多数问题出现在STRING和NUMERIC之间。
2024-07-11 17:26:56
395
原创 Activiti7想创建一个新的工作流表失败
第一次执行如下代码的时候会创建25张表如果在同一个链接下创建一个新的数据库,仅仅是修改原有的配置文件中的数据库,会提示数据库中表不存在。
2024-07-11 17:23:26
279
原创 Spring boot 整合websocket注入对象出现空指针的问题
问题:像如下方式在websocket端点中使用@Autowired注入service,在调用service时会报空指针异常产生原因:spring默认为单例,而websocket是多对象的,也就是每次连接会产生不同的对象;当服务器启动后会默认创建一个websocket对象,此时注入一次service,但是当客户端需要请求时必须新建websocket;但是spring只给websocket对象注入了一次service,即服务器启动时注入,这时在客户端新建的websocket对象sprin
2024-07-11 17:20:15
574
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人