复习
文章平均质量分 56
绿皮船长
这个作者很懒,什么都没留下…
展开
-
springboot的几个注解
ConfigurationProperties最适用于所有具有相同前缀的分层属性,@也可以替换成@Component、@Service等其他注解。原创 2022-11-01 10:58:53 · 75 阅读 · 0 评论 -
volatile JMM CAS ABA 集合安全问题
1.collections的synclist方法2.vector类3.写时复制,读写分离思想:copyonwriterArrayList写时复制底层原创 2021-12-27 21:28:17 · 2123 阅读 · 0 评论 -
java限流
背景:高并发PV:PageView综合浏览量;QPS:每秒请求查询数量响应时间:服务器响应时间吞吐量:单位时间内处理请求的数高并发:1.物理角度(扩容) 扩容是目前效果最明显的增加并发量技巧之一(水平扩容)单体数量的增加,伴随着数据库的访问限制成为了瓶颈-->服务的拆分 2.提高接口并发能力(提高接口响应速度,缩短接口的响应时间)缓存(把数据...原创 2021-12-20 11:39:04 · 569 阅读 · 0 评论 -
Threadlocal
堆空间上的线程私有空间Spring中保证bean的线程安全事务:ThreadLocal中的Map,key是线程池value是connThreadLocal是一个壳子,真正的存储结构是ThreadLocal里有ThreadLocalMap这么个内部类而ThreadLocalMap的引用是在Thread上定义的ThreadLocal只是作为key,存储set到ThreadLocalMap的变量当然是线程私有的咯为什么不用Thread当做key?如果用Thread当做key,.原创 2021-12-19 18:54:57 · 272 阅读 · 0 评论 -
java分布式事务
不同的连接事务:数据库操作的最小单元分布式事务:跨越connect的事务CAP理论一致性:Consistency 集群的各个节点数据都是一致的,因此可以向任意节点读写数据,并且总是得到相同数据 可用性:Availability 可用性表示总是能够访问集群(读/写),即便集群中某个节点宕机了 分区容忍性:Partition toleranc 数据库之间网络连接,但是宕机了,变为分区依然可以进行数据库操作 1.一旦出现了分区的情况下,需要保证数据的一致性,就要牺牲.原创 2021-12-17 20:09:32 · 2699 阅读 · 0 评论 -
JAVA消息中间件RoketMQ
1.消息中间件是什么能够实现与平台无关的消息调用拥有失败重试机制2.2限流削峰3.模型消息具有topoic,并且也是按照topic进行存储原创 2021-12-15 11:50:27 · 3236 阅读 · 0 评论 -
分布式锁以及redis主从结构锁失效问题
前提:分布式请求分发在多个服务器上,利用redis进行分布式锁setnx请求设置过期时间,以及锁的值是uuid,执行完成之后删除锁但是问题是如果调用过程中出现卡顿,锁失效因此如果没有执行结束就给锁续命Redission框架的lock与unlock,底层lua脚本问题:当redis存在主从架构,加锁成功,执行逻辑此时redis挂掉,信息没有同步给集群,线程二访问到了新的主机,此时显示没有加锁又进行了操作,那么出现问题zookeeper集群与redis区别(cap原则)redis a原创 2021-12-14 19:06:18 · 3346 阅读 · 1 评论 -
项目三介绍
mall-parent-pom只有gateway使用了web其他不需要,因为服务间的调用dubbo不用http协议身份认证拦截器模块的api下提供者下提供接口实现类3.去网关层写控制器方法打开redis和zookeeper利用response返回数据(try-catch) response就像Basedata定义response接受请求自定义一个response对象继承requst类 ->封装对象,封装行为,参数校验...原创 2021-12-11 16:42:18 · 315 阅读 · 0 评论 -
微服务(四)Mapstruct_jwt_spi_API网关
1.2.3.注入对象4. 包扫描====与DO与DTO之间的属性映射@Mappings({@Mapping})list对象转换把方法改成传入list和返回list<dto>的方法(因为调用的是上面那个方法,所以不需要映射)====================1.接口有不同的实现方式2.动态替换与发现感觉没啥用;===API网关...原创 2021-12-10 19:37:41 · 537 阅读 · 0 评论 -
(三)微服务 dubbo
微服务架构进程级别的隔离API网关客户端 --> 后端应用CDN:Content Delivery Network 静态资源 ,内容分发网络对外揭露请求,对内路由Dubbo从一个运行的进程中调用另一个进程里的方法去这取得接口实现类Dubbo原理提供者启动spring容器容器中:1.实现了真正对外暴露的接口功能的对象 2.供外界调用的服...原创 2021-12-09 17:54:07 · 447 阅读 · 0 评论 -
分布式锁 java
redis 分布式锁服务治理线程进来获得锁,进行操作,线程二获得锁2,watch线程1(只会watch前一个节点),当1结束时进行操作;原创 2021-12-08 23:24:02 · 75 阅读 · 0 评论 -
(二)Nginx
与tomcat的对比nginx集成的情况Nginx不处理请求,只负责分发给代理的集群,由集群中的web应用处理请求1.正向代理2.反向代理与静态资源服务器3. Nginx的优势1. 高并发、高性能2. 扩展性好(模块化设计)3. 异步非阻塞的事件驱动模型4. 高可靠性(热部署、7*24多进程模型,一个master管理worker进程,挂掉后重启使用nginxNginx指令:在目标位置输入1.配置文件...原创 2021-12-08 11:51:30 · 647 阅读 · 0 评论 -
JAVA虚拟机(四)方法区
存储类信息,各个线程共享的内存区域,OOM问题:大量的jar包,比如tomcat部署的工程过多时会导致方法区溢出问题;大量动态反射类设置元空间的初始大小与最大可见方法区OOM方法区的运行时常量池中的Stringtable 字符串常量池的位置会发生变化类信息:全类名,接口,类的修饰符等等域信息,成员属性的信息(classloader加载到方法区)甚至抛出的异常也有异常表进行记录,最后都由classloader加载到方法区...原创 2021-12-08 10:06:22 · 65 阅读 · 0 评论 -
linux(二)jdk mysql tomcat配置
5.1 JDK环境搭建从oracle官⽹下载linux的jdk8,之后⽤winscp⼯具等将jdk8上传到linux机器上解压tar.gz到某个目录下sudo mkdir /usr/local/java cd /usr/local/java sudo tar -zxvf jdk-8u231-linux-x64.tar.gz sudo mv jdk1.8.0_231/ jdk配置JDK的环境变量1. 进入配置...原创 2021-12-07 22:57:35 · 92 阅读 · 0 评论 -
(一)linux
/:根⽬录,所有的⽬录、⽂件、设备都在/之下,/就是Linux⽂件系统的组织者,也是最上级的领 导者。 /bin:bin 就是⼆进制(binary)英⽂缩写。在⼀般的系统当中,都可以在这个⽬录下找到linux常⽤的命令。系统所需要的那些命令位于此⽬录。 /boot:Linux的内核及引导系统程序所需要的⽂件⽬录。 /dev:dev 是设备(device)的英⽂缩写。(除了cpu与内存(主机)以外的)这个⽬录对所有的⽤户都⼗分重要。因为在这个⽬录中包含了所有linux系统中使⽤的外部设备。但...原创 2021-12-07 22:47:55 · 891 阅读 · 0 评论 -
shiro组件
根据uri找到对应filter,通过代理来进行验证认证通过之后访问带锁的handler(授权filter)会遍历所有钥匙 ---> 授权的filter和handler方法绑操作:1.导入依赖2.shiro配置类实现realm(并且注册进容器)将这两个注入容器中的方法,放入容器之后,(配置类????)这容器类取出,设置进自己的realm(这样重写的类的方法,就会执行了)注册filter组件(...原创 2021-12-03 11:26:25 · 463 阅读 · 0 评论 -
项目二 BUG 与 方法
1.循环出现的时区bug找mysql的版本问题(time zone) mysql驱动改成5.1.47 2.yml配置文件,prefix要全文小写 3.typehandler package com.cskaoyan.typehandler;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.ObjectMapper;import org.apache原创 2021-12-01 20:18:37 · 872 阅读 · 0 评论 -
TypeHandler(查询mysql表中的数组)
查询roleids(varchart),用integer数组 接收1.实现接口2.利用objeckmapper json转化(new一个)3.4.5.利用json 转换6.配置7.注解@MappedTypes(String[].class)@MappedJdbcTypes(JdbcType.VARCHAR)public class StringArrayHandler implements TypeHandler<String[...原创 2021-11-30 23:13:43 · 966 阅读 · 0 评论 -
MultipatFile 文件上传
原创 2021-11-30 21:45:18 · 214 阅读 · 0 评论 -
JAVA虚拟机(三)堆_空间分配,GC,TLAB(线程私有部分),对象逃逸分析
堆上的缓存区不是共享的对象逃逸:对象在方法块中出生与消亡:此时的对象没有在堆上出生堆空间结构堆空间分为新生代与老年代,永久代虽然属于堆空间,但是目前调优不能影响到它默认新生代与老年代的比例为1:2新生代内 伊甸园:幸存者0:1 = 8:1:1,但是在Visual VM中显示为6:1:1自适应内存分配策略:UseAdaptiveSizePolicy要想是8,需要显示的赋值为8几乎所有的对象都是在伊甸园中被创造,但是当伊甸园区满的时候有可能...原创 2021-11-27 23:22:47 · 221 阅读 · 0 评论 -
MVC配置类_hibernate参数校验_方法拦截器_异常集中管理_AspectJ_文件上传
1.MVC配置类在boot中@Configurationpublic class MvcConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new MyInterceptor()).addPathPatterns("/user/hello/**");...原创 2021-11-25 21:31:43 · 654 阅读 · 1 评论 -
SpirngMVC(二)小结
--原创 2021-11-23 09:59:50 · 48 阅读 · 0 评论 -
Spring(五)复习
原创 2021-11-22 10:16:00 · 192 阅读 · 0 评论 -
MybatisPlus_注解_逆向工程_逻辑删除
核心配置:配置文件映射配置:sql映射勾选sql勾选Mybatis与sql驱动MP原创 2021-11-21 20:51:57 · 900 阅读 · 0 评论 -
linux命令
原创 2021-11-15 23:30:27 · 700 阅读 · 0 评论 -
JAVAEE项目1
数据回显:商品表,详情表订单表,订单状态(条件查询,分页)未回复表,已回复表1.8080请求,返回html页面2.页面里请求数据-->8084,返回json数据不需要知道数据的用法,只需要按照接口的要求返回数据前后端的统一的数据要求规范(一个http的请求响应过程)1.改conf下的配置文件的发送地址(让前端发送给本地,服务器文件)3.tomcat : 80844.配置跨域写逻辑,注意从前端获得的数据格式是...原创 2021-11-08 18:40:19 · 62 阅读 · 0 评论 -
JDBC(查询反射封装对象)
第一个参数表示:第几个问号,第二个参数表示具体?的值原创 2021-11-08 10:37:42 · 89 阅读 · 0 评论 -
JAVA_EE(九)JSON&&MVC
json主要用在前后端进行数据交换:数据传输的格式;k-v数据对于具有层级结构的数据不能很好展示而xml与json可以,其中json可以很轻松的表示出数据之间的层级结构原创 2021-11-05 19:54:59 · 82 阅读 · 0 评论 -
JAVA_EE(八)监听器&&过滤器
第一个:就是双向链表第二个:遍历链表1.监听器1.编写一个类实现ServletContextLisener接口2.1.1 原理每次启动baby的时候family都会执行方法,2.过滤器Filter 1.编写一个类实现Filter接口 2.设置filter的url-patterns(注解) filter的init在应用启动成功直接触发,比servlet默认情况下提前 ...原创 2021-11-05 11:50:35 · 95 阅读 · 0 评论 -
JAVAEE(七)会话技术
1.Http协议是不是无状态性,体现在什么地方? 在服务器看来所有客户端发送的请求报文都是相同的 2.会话技术的原理1.cookie存在浏览器,默认是会话级别的(开启浏览器到关闭浏览器存储在内存中) ,如果希望可以持久化保存,设置时间=正数 客户端技术,数据在服务器产生,但是在客户端存储; 通过响应报文传输给客户端,当下一次访问,就会将该数据再次携带,此时服务器可以识别对应客户端 仅仅访问 app35/last2的时候才会携带cookie(并且如果该cookie没有.原创 2021-11-04 18:57:03 · 141 阅读 · 0 评论 -
JAVAEE_(六点五)几个api记录
1.编码问题:2.写回响应体:3. 几个路径问题绝对路径也就是path2,通过网络访问应该是path14.获得参数问题key-v可以这样,文件上传应该利用工具类(fileuload) private void opFormfiled(FileItem fileItem, Map<String, Object> userParam) throws Exception { //对表单元素获取,以及封装 ...原创 2021-11-03 16:07:59 · 61 阅读 · 0 评论 -
JAVA(六)FileUpload
概念:a标签src 本地检索头像存在redis里面,并发量过高,redis同步数据库的数据缓慢,导致看不到最新头像1.上传文件,需要在表单标签加上enctype:(如果不加会直接上传文件名)2.但是发现上传之后,内容被重组了,...原创 2021-11-02 17:42:22 · 87 阅读 · 0 评论 -
JAVA_EE(五)response_api(路径名)_响应头返回中文
ServletResponseContent-type text/html乱码出现问号,表示是一种压根不支持中文的编码格式如果出现锟斤拷表明支持中文,只是截断的问题Content-Type响应头设置了编码格式之后,1.设置响应头告诉客户端使用编码格式2.服务器根据设置的charset,将响应体的编码格式设置为输入的编码格式(也就不需要setCharacterEncoding("UTF-8"))response.getoutputstreamgetRe...原创 2021-11-02 16:01:16 · 258 阅读 · 0 评论 -
JAVA_EE(四)_Request
1.ServletRequst-->HttpServletRequst常用方法得到请求报文的各个部分API:===行request.getMethod() request.getRequestURI() request.getProtocol()(协议)===头request.getHeaderNames()===体request.getinputstream()(迭代器))除此之外,request中还封装了一些其他的内容2.获取请求参数getP.原创 2021-11-01 19:05:59 · 96 阅读 · 0 评论 -
JAVA_EE(三)->生命周期_url-pattern_Context域图_真实路径
0.se->eebase 卡特琳娜 为了方便指向, + - 号是表示base路径下那个xml存不存在-->ee以下部署资源导入tomcat包1.生命周期1.init方法完成初始化操作2.任何客户端的请求都会交给sevlet的service 方法来进行处理,servlet的service是程序入口3.销毁时会调用destroy方法来完成销毁工作注:servlet只被创建出一个对象安全问题:init()线程安全问题:如...原创 2021-11-01 11:52:59 · 143 阅读 · 0 评论 -
Springmvc(中央调度器)
1.web.xml中配置中央控制器2.spring.xml中开启注解扫描3.访问与控制层的消息反馈4.使用(ModelAndView)总结:前端页面发送请求(some.do),tomcat已经配置了web文件,所以直接将请求给中央调度器了,因为全表扫描调度器的容器里面已经有所有对象了(some.do),因此能找找到需求的那个对象,并且执行方法MVC的启动调度请求以及执行请求的过程MVC的视图解析器(跳转的时候使用)...原创 2021-10-28 23:28:27 · 686 阅读 · 0 评论 -
JAVA_EE(二)_WEB服务器开发
服务器两种解释1.硬件,云服务器,性能很好2.软件层面,软件,功能是可以将本地的资源文件发布到网络上,供其他用户访问静态资源服务器的本质:通过浏览器去输入一个网络路径,服务器需要做的事就是将该网络路径,转化解析成为本地硬盘路径,然后将该资源加以响应静态web资源:一成不变的动态web资源:不同人,不同时间所看到的内容各不相同(servlet)互联网发展的早起就是静态web资源服务器思想:socket端口接收到(因为有两个堵塞,可以用多线程来处理与封装...原创 2021-10-28 18:59:52 · 259 阅读 · 0 评论 -
JAVA_EE(一)_Http协议_请求头_响应头
制定了一套特殊api来应对EE的需求HTTP协议HTTP:Hyper Text Tranfer ProtocolHTML:Hyper Text Markup Language超文本:超越了普通文本.文本,音频,视频,图片传输:通讯的双方协议:规范双防的权利与义务规范:通讯双方都应该遵守的规范网络模型无论客户端与服务器发送消息都需要通过网络设施.分层的目的:解耦Http工作流程1.域名解析:拿到域名对应的ip地址 浏览器缓存-->操作...原创 2021-10-28 16:14:34 · 288 阅读 · 0 评论 -
Spring_Mybatis_druid整合_事务_传播行为
<!--开启基于注解的事务,使用xml配置形式的事务(必要主要的都是使用配置式) --> <aop:config> <!-- 切入点表达式 --> <aop:pointcut expression="execution(* com.cskaoyan.service..*(..))" id="txPoint"/> <!-- 配置事务增强 --> <!--<...原创 2021-10-28 09:45:35 · 140 阅读 · 0 评论 -
JAVA(三)Redis
1.介绍Redis是一个NsSQL数据库NoSQL数据库指非关系型数据库;Not only SQL,是作为关系型数据库的一个良好的补充 因为大多的关系型数据库都是将数据存储在磁盘上(.fram(表结构) .myi(索引结构) .myd(数据文件)),读写较慢,当需要快读读写时,需要一些存储与内存之中的数据作为支撑;这些数据库又被称为"缓存中间件"; Redis 基于内存进行数据存储,并且提供了持久化的功能 3 配置3.1常规配置3.2持久化配置Redis支持两种持久化.原创 2021-10-26 18:42:09 · 100 阅读 · 0 评论