- 博客(31)
- 收藏
- 关注
原创 http请求的过程
1.输入域名之后,通过DNS(域名解析器)解析域名,找到对应的ip地址;2.通过ip地址找到对应的服务器,建立tcp的三次握手;3.tcp连接后,发起http请求;4.服务器响应http请求,浏览器得到html代码;5.浏览器解析html代码,加载css、js、图片等等资源;6.浏览器渲染页面(6.1:html代码构建一个DOM树;6.2:CSS代码构建一个渲染树;3.js因为是单线程,加载时会改变DOM的结构,也会阻碍后面资源的加载)7.服务器关闭tcp连接...
2021-08-25 22:37:27 157
原创 处理json对象的三种方式:
1.IDEA默认的:jackson2.阿里巴巴:fastjson对应的依赖: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.75</version> </dependenc
2021-08-17 14:53:40 263
原创 面试的体验总结
1.JDK1.8中,HashMap,ConcurrentHashMap的区别及各自的数据结构?区别:1.HashMap不支持并发操作,线程不安全,ConcurrentHashMap支持并发操作,线程是安全的(锁对象:segement)2.HashMap的 结构为数组+链表+红黑树,ConcurrentHashMap的结构为数组+链表+红黑树2.在数据量比较大的情况下,list和set集合那个效率更高?set的效率高,set底层和map一样是hashtable,list底层是数组3
2021-08-16 11:08:49 244
原创 Sentinel系统规则和授权规则的测试
一、系统规则的设置:1.系统规则设置--CPU执行的占有率2.当前任务管理器CPU的运行情况3.进行CPU设置的访问测试:二、授权规则的设置:当前代码层级结构:1.添加测规则测试类:package com.cy.interceptor;import com.alibaba.csp.sentinel.adapter.spring.webmvc.callback.RequestOriginParser;import org.spri...
2021-08-10 18:40:01 317
原创 Sentinel热点数据的处理机制
代码层级结构:1.控制层:package com.cy.controller;import com.alibaba.csp.sentinel.annotation.SentinelResource;import com.cy.service.ConsumerService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annota.
2021-08-10 17:13:43 196
原创 项目面试相关
第一部分:项目相关1、简单介绍介绍一下你在上家公司做过的项目、项目的主要流程、你所负责的模块、你在项目担任的职责2、你在项目里面得到了学习到了什么,得到了哪些技术提升3、有没有code review习惯,平时code review时候都会去注意哪些点4、团队人员的组成,开发规模有多大,平时是如何迭代开发一个需求的(从产品经理到最终上线的流程)第二部分:jdk源码相关1、volatile的作用和底层原理、项目中或哪些地方(JDK或中间件)用到了volatile、volatile的使用场景、d
2021-08-10 16:29:38 114
原创 Sentinel的异常处理机制
代码层级结构:1.添加对应异常处理类:package com.cy.interceptor;import com.alibaba.csp.sentinel.adapter.spring.webmvc.callback.BlockExceptionHandler;import com.alibaba.csp.sentinel.slots.block.BlockException;import org.springframework.stereotype.Component;im.
2021-08-10 16:12:23 907
原创 Sentinel的原理
原理图:1.增加了拦截器类和配置类2.拦截类:package com.cy.interceptor;import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.time.LocalDateTime;..
2021-08-10 15:08:30 117
原创 Sentinel的限流使用
Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案,它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性1.安装Sentinel服务https://github.com/alibaba/Sentinel/releases(开源)文档手册https://www.bookstack.cn/read/sentinel-v1.7/9ebfccfa6f74ea4f.md(1.7版本)2.安装完成后,在当前目录进行cmd(
2021-08-10 13:09:35 2340
原创 @Autowired报红
报红的原因:1.在报红的本类(业务层)中,没有这个注解@Service解决方式:添加对应的注解2.依赖注入的等级,IDEA默认为了error解决方式:进行等级修改或是取消(忽略)完成以上步骤,依赖注入爆红,就解决了,恭喜您!...
2021-08-07 17:16:49 1120
原创 bootstrap.yml的格式变换
如果bootstrap.yml的格式为下面的图示【不是绿叶】当前的代码层级结构:【聚合工程】解决方式:在父工程的pom文件里进行依赖的添加就可以进行解决 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discov..
2021-08-05 16:32:36 479 1
原创 IDEA连接Mariadb数据库
1.选择对应的数据库【我这里使用的Mariadb】2.选择对应的版本数据进行连接操作3.填写配置信息4.连接数据成功的的页面显示:5.选择对应的表格(schemas)找到刚刚连接的数据库进行查看信息有上面的数据库里信息,表示连接成功了,恭喜您注意:如果在安装驱动的时候,有错误提示:1.重新填写对应的数据信息,用户名、密码及对应的版本信息2.检查自己连接数据库,是MySQL或是Mariadb...
2021-08-05 11:45:39 2479
原创 Nacos注册中心如何配置
选择的环境为springcloudAlibaba一套体系,选择的注册中心为Nacos官网链接:https://nacos.io/en-us/【阿里开源的注册中心】1.启动Nacos注册中心Linux或是Mac系统下启动Nacos:sh startup.sh -m standaloneWindows系统下启动Nacos:startup.cmd -m standalone默认访问端口为:http://localhost:8848/nacos/当然自己也可以进行路径的更改.
2021-08-05 10:38:31 1039
原创 Connection refused: connect; nested exception is java.net.ConnectException: Connection refused: 解决办法
1.报错的原因:数据库连接的密码错误,进行修改我使用的是Nacos注册中心,在配置文件application.properties,进行密码的查看,是否正确2.报错的原因:访问的端口被占,可以参考这篇文档,释放端口https://blog.csdn.net/weixin_56859779/article/details/119204459?spm=1001.2014.3001.55023.报错的原因:远程调用的提供者,配置文件application.yml端口错误,进行更改为...
2021-08-05 09:25:55 11651 2
原创 注册中心的模仿(Nacos)
1.注册中心:package cn.tedu.basic.nacos;import java.io.IOException;import java.io.ObjectInputStream;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket;import java.util.ArrayList;import java.util.HashMap;import java.util.
2021-08-04 17:45:29 219
原创 Feign的远程调用
SpringCloudAlibaba中的四种远程方式的调用方式:【Fegin的远程调用方式】Feign是一种声明式Web服务客户端,底层封装了对Rest技术的应用,通过Fegin可以简化服务消费放对远程服务提供方法的调用实现:Feign 最早是由 Netflix 公司进行维护的,后来 Netflix 不再对其进行维护,最终 Feign 由社区进行维护,更名为 OpenFeign1.代码层级结构:2.服务的提供者:启动类:package com.cy;..
2021-08-04 16:29:09 521
原创 消费者与服务者的远程调用(负载均衡的方式)[微服务--阿里]
首先完成对nacos的基本配置,配置文件,yml等等使用了3个方法ResTemplate、LoadBalancerClient【实现了负载均衡】、LoadBalancedRestTemplate【实现了负载均衡】代码层级结构:1.服务的提供者--Provider启动类:package com.cy;import org.springframework.beans.factory.annotation.Value;import org.springframewo..
2021-08-04 09:39:55 192
原创 错误: 找不到或无法加载主类 cn.tedu.dbinit.DbInitApplication
解决方式1:选择IDEA里左边的maven,进行clean操作后,看到bulid success后,再执行找不到主类的程序解决方式2:调整代码模块的层级结构,看看是否对应解决方式3:对当前无法找到主类的Module编译版本进行调整...
2021-08-02 12:21:29 1413 3
原创 Java基础和Web基础
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2021-08-02 10:10:56 678
原创 开发网站必备大全
1.https://jmeter.apache.org/【阿帕奇压力测试网站】2.https://mybatis.org/mybatis-3/getting-started.html【Mybatis入门网站】3.https://maven.aliyun.com/mvn/guide【阿里远程仓库网站】4.https://mvnrepository.com/【maven仓库网站】5.https://github.com/【github网站】6.https://www.dcloud.io/hb
2021-07-31 15:04:39 79
原创 负载均衡的实现
1.Client【客户端】package cn.tedu.basic.net;import java.io.IOException;import java.io.ObjectOutputStream;import java.net.Socket;public class Client { public static void main(String[] args) throws IOException { //客户端对象 Socket socket
2021-07-31 14:40:31 97
原创 本地缓存的实现【线程安全的情况下】
方式一:1.本地缓存:Tomcat服务器内部或JVM当中构建的一个对象,这个对象可以存储很多数据Tomcat本身就是JVM当中的一个对象【本地缓存指的就是JVM当中内部的缓存】2.Tomcat运行的本质:Tomcat本身也是一个对象,运行在JVM当中package cn.tedu.basic.net;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;//Tomcat本身也是
2021-07-31 11:30:18 437
原创 软件架构的基础知识
1.分布式:系统中的多个模块在不同的服务器上部署(分布式系统),原先一个Tomcat服务器放在一台电脑上,现在一个Tomcat服务器放在两台电脑上2.高可用:系统中部分节点失效时,其他节点能够接替它继续提供服务(高可用性)高可用,系统在每年或者整天7*24hour*365day,几乎没有出现过故障,或是出现故障的频率很小出现故障,马上也能够恢复故障原因:1)无计划的系统故障:自然灾害2)有计划的日常维护:运维、数据库升级等等3.集群:一个特定领域的软件部署在多
2021-07-30 22:12:44 495
原创 访问计数[处理多线程的安全问题]
并发访问时线程不安全原因:1.多线程并发2.共享数据集3.线程共享数据时的非原子性操作方式1:常规手段,加锁,牺牲效率@RestController//@Controller+@RequestBody@RequestMapping("/demo/")public class DemoController { //计算访问次数的安全条件下方式1: public DemoController(){ System.out.println("De
2021-07-30 20:14:01 131
原创 杀死、释放被占用的端口号
如图:上面端口8083被占解放方式:1.执行netstat -ano|findstr 8083该命令表示查询被占用的端口是哪个pid(线程)在使用2.执行 taskkill /f /t /im 12768该命令表示杀死或是释放正在使用pid(线程)上面的命令执行完成后,再启动使用8083 端口的程序就可以了Windows系统更多相关的指令:【Windows系统下执行操作,不区分大小写,Linux系统下严格区分大小写】window+r 后 ...
2021-07-29 10:20:11 858
原创 Gitee和GitHub仓库的使用
Gitee是国内的远程构建代码仓库的常用平台:https://gitee.com/Github是全球最大的远程仓库平台:https://github.com/第一步:1.安装git bashgit bash是连接仓库的一个软件 官方文档https://git-scm.com/about2.选择对应的系统版本【Windows或是Mac】参考网址:https://git-scm.com/安装过程中,直接下一步即可,需要设置对应的存储路径,自己设置(存储路径不要出现中文或是特殊
2021-07-28 18:54:15 917
原创 环境变量中系统变量与用户(test)变量的区别:【Windons系统下的环境变量】
环境变量的配置一般产生在安装JDK【Java开发工具包】或是安装其他开发工具的时候,例如在安装:DevEco Studio 2.1.0.501 x64【鸿蒙开发工具时】也需要配置对应的环境变量1.系统变量:2.用户变量
2021-07-27 11:36:08 355
原创 DevEco Studio 2.1.0.501 x64报错: problem occurred configuring project ‘:entry‘.
**报错:*** What went wrong:A problem occurred configuring project ':entry'. Could not create task ':entry:HelloWorld.main()'.SourceSet with name 'main' not found.报错图片:解决方式1:检查:对应的依赖是否下载完成;在File里的Settings进行,路径选择后,下载对应的依赖:【注意:最好不要选择系统盘(C盘)】.
2021-07-27 08:44:21 553
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人