- 博客(11)
- 收藏
- 关注
原创 微服务挑战之远程调用、集群与负载均衡问题,nacos和openfeign提供解决方法,总结
负载均衡策略微服务架构的应用之进行远程调用时,需要写一长串的地址并拼接上自己的参数。问题:地址过长,确式的服务调用地址,若为集群应用则过于麻烦且需频繁修改已应对服务器宕机不可用出bug等等问题。确定式的硬编码来实现远程调用,灵活性差。参数拼接,地址长度限制,不符合面向对象直接调用方法的编程习惯。解决:nacos注册中心,服务注册,提供服务查询,监测服务状态“心跳”(30 90 不可用 注销服务)。服务提供接口的地址和参数等信息,调用方从中心查询所需服务。
2024-08-06 17:55:46
493
原创 组件之远程调用RestTemplate和HttpClient、Hutool的snowFlake雪花算法
1.需要springweb的jar包,import org.springframework.web.client.RestTemplate;2.spring默认不自动自动装配它,需要配置类直接new一个。3.使用时直接导入RestTemplate,就可使用参数: 调用路径,返回值的用什么来包装。
2024-08-05 17:51:32
258
原创 vue+redis完成认证授权
1. vue通过脚手架搭建前端项目。vue ui2. 组件:[1]创建一个组件网页[2]注册组件(局部: import 组件名 from "组件路径" components:{名称:组件名})(全局注册main: import 组件名 from "组件路径" Vue.component("名称",组件名) )[3]使用组件 <名称></名称>3. 组件之间的通信: 父子。props $emit(事件,数据)4. 路由: 组件和路径绑定关系 router/index.js。
2024-08-03 15:39:38
929
原创 Java使用微信支付的必要流程
微信支付时序图必要且重要流程:生成微信支付二维码的code_url,转为二维码图片,根据微信支付订单号或者商家订单号查询支付状态。前端项目与后端项目交互需要跨域,推荐后端进行跨域,不能两端均跨域。
2024-08-03 15:36:37
765
原创 【无标题】linux常用指令
1]切换目录 cd [路径<相对和绝对>][2]列出指定目录下的内容: ls [参数 -a -l][3]查看当前所在的路径 pwd[4]创建文件 touch 文件名[5]创建目录 mkdir [参数 -p] 目录名[6]删除文件和目录 rm [-rf] 文件或目录名[7]复制: cp [-r] 文件或目录 /目标远程复制: scp [-r] 文件或目录 远程主机名@远程ip:/远程目录注意: 输入远程主机的密码。[8]重命名或者移动: mv。
2024-07-17 11:24:40
288
原创 一个包学习单例模式,饱汉式与饿汉式,思路分析
直接创建可能指令重排,改变指令顺序,由指空间、初始化和赋值转为指空间、赋值和初始化。若执行的赋值那一步就不为空了,但属性没有初始化,调用不了属性的方法。所有需要再次判断是否为空,实例加上volatile表示不稳定的属性,用到的时候不能从本线程的缓存中查看,需要看主线程及其他线程中是否改变。不存在加锁,再次判断空不空再创建。饱汉式,调用才创建。如果对象体量大但不经常使用,不建议用单例模式,直接新建,清理线程会自动清理。//基本用法,用到时调用,返回一个对象。但重复创建对象,浪费资源。
2024-07-09 20:16:16
181
原创 一个包完成线程池的常用方法,总结及单词
最后,进来办业务的人少了,大厅的临时工空闲时间也超过了1个小时(最大空闲时间),经理就会让这部分空闲的员工人下班.(销毁线程).但是为了保证银行银行正常工作(有一个allowCoreThreadTimeout变量控制是否允许销毁核心线程,默认false),即使正式工闲着,也不得提前下班,所以1、2号工作人员继续待着(池内保持核心线程数量);在a客户业务还没办完时,b客户(任务)又来了,于是经理(线程池管理者)就安排2号工作人员(创建2号线程执行任务)接待b客户(又创建了一个新的线程);//创建可变线程池。
2024-07-09 19:31:47
514
原创 一个包完成线程的常用方法,总结及单词
System.out.println( Thread.currentThread().getName() + "存入" + amount + ",余额:" + balance);System.out.println( Thread.currentThread().getName() + "取出" + amount + ",余额:" + balance);System.out.println(Thread.currentThread().getName()+"正在出售第"+ticket+"张票");
2024-07-04 20:43:10
953
原创 手撕orm之selectAll()和selectById()
思路:拼接sql,将sql执行结果赋值到相应的字段上。设置Field属性的值:属性对象。set(反射类对象,相应字段的值(Object类型) )。可以抽取将执行结果赋值给相应字段的部分的代码成一个方法,参数为结果集ResultSet和反射类。//获取数据库中指定列的值。//获取数据库中指定列的值。//为指定对象的属性赋值。//为指定对象的属性赋值。//为实体类的属性赋值。//封装数据到实体类。
2024-07-03 19:23:56
365
原创 一个包学习线程的使用
*21.使用setUncaughtExceptionHandler()方法设置异常处理器*//*18.使用getThreadGroup()方法获取线程组*//*19.使用getStackTrace()方法获取线程堆栈*//*16.使用getPriority()方法获取线程优先级*//*7.使用setPriority()方法设置线程优先级*//*20.使用setDaemon()方法设置守护线程*//*8.使用setDaemon()方法设置守护线程*//*17.使用getState()方法获取线程状态*/
2024-07-03 19:05:23
260
原创 利用反射和自定义注解写一个Basedao,dao类继承它就可以完成简单的增删改,需要写简单的dbutil读取资源包的工具类,需要写entity
*思路:字符串拼接。* 方法字面化的简化描述,this起手,得反射类,获取其家族父类,转参数化类型,得实际参数类型数组的第一个,转反射类。//insert into 表名(列名1,列名2,列名3) values(值1,值2,值3)//update 表名 set 列名1=值1,列名2=值2,列名3=值3 where 条件。//update 表名 set 列名=值,列名=值,列名=值 where 条件。/*注意:末尾逗号去除,deleteCharAt() */*//*注意:*//*
2024-07-02 21:00:42
552
2
网上商城系统JavaWeb(jsp+servlet+MySQL+jdbc+css+js+jQuery2套源码1报告ppt缺数据库
2022-12-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人