- 博客(36)
- 收藏
- 关注
原创 springcloud-gateway
什么是微服务网关?1.微服务api接口的入口,实现过滤api接口。2.作用:实现用户的验证登录,解决跨域,日志拦截,权限控制,限流,熔断,负载均衡,黑名单和白名单机制等。3.安全性:前后端分离架构中,前端调用接口地址都能被抓包分析到。4.过滤器和网关的区别:过滤器适合单个服务,网关是所有服务(一个局部,一个整体)5.gateway不依赖于springboot-start-web...
2020-02-20 20:58:34
598
原创 IDEA Gradle项目编译不通过踩坑
IDEA Gradle项目编译不通过踩坑IDEA和Gradle结合用起来开发很方便,可是偶尔会调皮捣蛋,编译不通过,把红色的Build Faild丢给你,气你个半死。项目编译不通过,setting.gradle是包含该Module,但是发现某个Moudle没有.iml文件------------------------- 解决办法-----------------在ID...
2020-02-20 17:09:45
3332
原创 spring-监听器与事件
1.定义一个事件,继承事件,重写构造方法,设置源applicationContext2.定义监听器,继承监听器,传事件泛型3.事件源发布事件,就会触发监听器...
2020-02-04 15:19:33
258
原创 spring-依赖注入和Autowired
在Spring容器中为一个bean配置依赖注入有三种方式:1·使用属性的setter方法注入这是最常用的方式;2·使用构造器注入;3·使用Filed注入(用于注解方式).对于使用字段(Filed)注入(用注解方式)在Spring中,注入依赖对象可以采用手工装配或自动装配,在实际应用开发中建议使用手工装配,因为自动装配会产生许多未知情况,开发人员无法预见最终的装配...
2020-02-03 15:19:45
645
原创 springmvc流程与源码
一个访问/index的请求发出经过tomcat处理后1.调用HttpServlet的service()方法2.service()方法内部会调用FrameWorkServlet的doGet()方法3.doGet()方法内部会调用FrameWorkServlet的processRequest()方法4.processRequest()方法内会调用DispatcherServle...
2020-01-07 23:59:09
152
原创 spring(二)
1.spring容器初始化mapper接口生成容器时就已经把mapper信息给初始化完了(sql,方法名......)放到mappedStatements(MappedStatement类型的Map)里,2.后面调mapper bean的方法时,会根据id去取mappedStatementmybatis mapper的id的 = 对应命名空间 + 方法名...
2019-12-05 22:44:16
148
原创 spring(一)实例化一个工厂DefaultListableBeanFactory流程
//实例化一个工厂DefaultListableBeanFactoryorg.springframework.context.support.GenericApplicationContext->GenericApplicationContext() 1、实力化一个AnnotatedBeanDefinitionReader 2、ClassPathBeanDefiniti...
2019-11-17 19:44:25
435
原创 linux调试好用命令
sudo strace -f -s1000 -etrace=network,read,write -p 28506netstat -ano | grep 28506
2019-09-30 12:48:05
209
原创 git ssh失效踩坑
重新生成秘钥并设置,竟然不生效????????????、解决方法(粗暴):1、先输入$ git remote rm origin2、再输入$ git remote add origingit@github.com:djqiang/gitdemo.git就不会报错了!3、如果输入$ git remote rm origin还是报错的话,error: Could not remo...
2019-09-27 11:12:00
3958
原创 git本地连接远程分支
git 关联远程分支git branch --set-upstream-to=origin/remote_branch your_branch其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支1、如果远程新建了一个分支,本地没有该分支。可以利用git checkout--trackorigin/branc...
2019-09-27 10:42:13
1212
转载 打破双亲委派()SPI+线程上下文
https://blog.youkuaiyun.com/yangcheng33/article/details/52631940
2019-09-07 12:24:48
432
转载 十大经典排序算法
https://blog.youkuaiyun.com/u012562943/article/details/100136531
2019-09-07 10:10:41
202
原创 Springboot踩坑记录
1.重复访问拦截器重定向到error页解决方法:1.拦截器拦截排除"/error"。 2.继承BasicErrorController,重写error处理方法。(治标不治本,springboot会继续交给自己的全局异常处理)...
2019-09-05 12:02:42
233
转载 jvm内存结构和内存模型
JVM内存结构《深入理解Java虚拟机(第2版)》中的描述是下面这个样子的:JVM的内存结构大概分为:堆(Heap):线程共享。所有的对象实例以及数组都要在堆上分配。回收器主要管理的对象。 方法区(Method Area):线程共享。存储类信息、常量、静态变量、即时编译器编译后的代码。 虚拟机栈(JVM Stack):线程私有。存储局部变量表、操作栈、动态链接、方法出口,对象指...
2019-09-04 17:44:12
4695
转载 Cookie的设置域名domain与跨域的问题
今天研究一天发现cookie无法设置除当前域名或者其父域名之外的其他domain.这个是浏览器出于对cookie的保护造成的,也就是cookie无法跨域设置。对于子域名也有如下规则,当前域名只能设置当前域名以及他的父域名,不能设置子域名如在www.wo.cao.baidu.com 域名下只能设置 cao.baidu.com,baidu.com不能设置 da.jia.wo.cao....
2019-09-04 10:48:35
5556
原创 多线程并发学习笔记(8) ThreadLocal
输出:ThreadLocal内部是hashmap实现set get是将当前线程作为key进行存储和取出
2019-09-03 16:24:08
234
原创 线程并发学习笔记(7)future设计模式
想象成蛋糕店买蛋糕:买蛋糕老板开始做蛋糕(futureService.submit()),但买了蛋糕需要等待老板给你一张凭证(future)但自己继续做蛋糕(call),你拿到凭证你可以去做其他事,做完其它事你再根据凭证找蛋糕店老板要蛋糕,这个时候要是还没做好(done=false),就继续在店里等待(wait),直到老板蛋糕做好通知你(done=true,)...
2019-09-03 14:53:17
178
原创 分布式锁
分布式锁要求:实现分布式锁的方式:总结以上三种方案:重点讲zookeeper锁:zk的数据结构与watcher机制:zk分布式锁思路:给来的第一个请求创建一个临时顺序节点,注册watcher,执行完毕,删除节点,通知下一个请求...
2019-09-03 00:24:41
199
原创 多线程并发学习笔记(6)
并发编程中三个比较重要的概念1.原子性2.可见性(主存缓存可见性)3.有序性(顺序性)【java重排序只要求最终一致性,它会影响多线程编程】volatile:这里不能保证并发原子性,两个线程操作可能导致输出值重复:我们可以将INIT_VALUE的值变化过程进行分解三个步骤有一个步骤放弃cpu执行权,就导致原子性得不到保证,只能加...
2019-08-29 18:05:32
167
原创 多线程并发学习笔记(5)
关于volatile关键字引出的问题首先我们来看看简单内存模型运行示例图:cpu不会直接从内存中拿取数据,而是经过一个缓存这也导致T1线程如果只读(ROT) cache1不更新,后当T2(RAT,刷新cache2,导致两边cache数据不一致(java做了优化,判断为只读,不更新cache1),这就叫cpu缓存不一致。解决方法:1.给数据总线加锁(数据总线,地址...
2019-08-29 16:49:32
160
原创 多线程并发学习笔记(4)
wait() notify() notifyAll()在java中,线程间的通信可以使用wait、notify、notifyAll来进行控制。从名字就可以看出来这3个方法都是跟多线程相关的,但是可能让你感到吃惊的是:这3个方法并不是Thread类或者是Runnable接口的方法,而是Object类的3个本地方法。其实要理解这一点也并不难,调用一个Object的wait与notify/n...
2019-08-29 10:56:57
141
原创 多线程并发学习笔记(3)
thread.join();等待当前线程结束才会去执行主线程thread.join(100);等待当前线程100毫秒才会去执行主线程thread.join(100,10);等待当前线程100毫秒又100纳秒才会去执行主线程关于interrupt中断线程:1. sleep() & interrupt() 线程A正在使用sleep()暂停着: Thread.sleep...
2019-08-26 20:09:57
167
原创 多线程并发学习笔记(1)
main(非守护线程)和jvm其他的守护线程(守护线程后续会介绍)线程生命周期:blocked状态线程获取锁或结束睡眠变为runnable状态,然后获取到cpu时间片变为running状态。running状态线程也会因为cpu时间片分配切换线程使其变为runnable,然后再获取到时间片变为running(这些进程“看起来像”同时运行,实则是轮番运行,由于时间片通常很短(...
2019-08-24 12:03:59
171
转载 spring-boot-starter-parent的一些记载
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version> <...
2019-08-09 15:55:07
272
原创 docker基础
docker架构图:远程仓库拉取镜像流程:常用命令:docker mysql踩坑:mysql8之后版本要授权远程登陆和更改编码格式!
2019-08-04 23:48:05
153
转载 Nginx服务器安装及配置文件详解
nginx在工作中已经有好几个环境在使用了,每次都是重新去网上扒博客,各种编译配置,今天自己也整理一份安装文档和nginx.conf配置选项的说明,留作以后参考。像负载均衡配置(包括健康检查)、缓存(包括清空缓存)配置实例,请参考http://seanlook.com/2015/05/17/nginx-install-and-config,ssl加密请参考http://seanlook.co...
2019-07-31 15:27:09
232
转载 Nginx配置
nginx快速入门之配置篇nginx.conf 配置结构... #全局块events { #events块...}http #http块{ ... #http全局块 server #server块 { ... #server全局块 location [PATTERN] #location块 { ...
2019-07-31 15:24:46
424
转载 Git(ssh)多用户配置
在Git使用中经常会碰到多用户问题,例如:你在公司里有一个git账户,在github上有一个账户,并且你想在一台电脑上同时对这两个git账户进行操作,此时就需要进行git多用户配置。首先配置不同的SSH KEY,使用ssh-keygen命令产生两个不同的SSH KEY,进入.ssh目录:#切换到.ssh目录cd ~/.ssh #使用自己的企业邮箱产生SSH KEYssh-k...
2019-07-31 14:48:41
1460
原创 springboot与redis
JSR107: springboot整合redis缓存的原理 RedisTemplet序列化默认配置是使用jdk的序列化,不够直观,所以一般我们自己配置将对象转成json进行序列化...
2019-07-28 23:09:31
183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人