技术
雁听雨
是个女的
展开
-
家人再也不用担心我面试了(一),并发系列之闭锁、栅栏以及信号量
首先记下:闭锁和栅栏是通过线程数+await()方法实现的,而闭锁有一个countDown()方法来减线程数;栅栏是可以循环使用的 信号量是通过许可证数+acquire()+release()方法实现的。1.闭锁:通过CountDownLatch的构造方法中的parties,通过每次执行countDown()方法,等计数器减为0后,await()方法不再阻塞,继续往下运行其他内容。(三人同时去吃饭,并行三个线程,最后一起吃饭)new CountDownLatch(2);//...原创 2020-05-21 16:56:26 · 150 阅读 · 0 评论 -
家人再也不用担心我面试了(一),sql执行顺序还不知道?
面试中有的时候会遇到这个问题,比较偏面试官:一个sql的编写顺序是什么?我:select * from A join B on a=bwhere 1=1 group by c having d>=1 order by e limit 1,10。完美,这难不倒我哦,我经常写啊,内心暗喜。面试官:嗯嗯【一脸淡定】,那你再写一下执行顺序我:小白面试:我去,还有执行顺序么?脑子蒙圈开始一顿瞎说,最后尴尬的说不会。但此时你不会,并不影响你的整体面试 几年混日子面试:完蛋,我之前...原创 2020-05-19 17:54:28 · 187 阅读 · 0 评论 -
springcloud config刷新不生效 热更新问题
1.刷新生效的四步栗子:如果你修改了bi-service-dev.properties里的common_service_config=devdev,把devdev改成devdev111。如果你启动客户端bi-service服务,是可以读取到新的devdev111.但是启动客户端成本较大,我们需要实现热更新。解决方法:(上面贴的代码里已包含)1.客户端pom.xml中引入了spring-boot-starter-actuator。2.在controller的类上加了注解@RefreshScope。原创 2020-05-16 11:41:47 · 2627 阅读 · 0 评论 -
springcloud config配置时报错Could not resolve placeholder common_service_config in value common_serv
报错:启动完注册中心、配置中心、在启动客户端时,如报错:Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'common_service_config' in value "${common_service_config}"原因是:客户端的应用名和配置文件的应用名没有一致本客户端..原创 2020-05-16 11:37:50 · 692 阅读 · 0 评论 -
springcloud config配置时报错 git.privateKey is not a valid private key
可能的原因一:码云不接受以-----BEGIN OPENSSH PRIVATE KEY开头的私钥形式,你需要生成以----BEGIN RSA PRIVATE KEY开头的形式。用这个命令生成哦:ssh-keygen -m PEM -t rsa -b 4096 -C "****"可能原因二:这是我搜索出来的,private-key空格后加一个真实的 |才行...原创 2020-05-16 11:33:39 · 4333 阅读 · 0 评论 -
跑偏聊聊??springcloud config配置中心步骤以及踩的坑
一、心路历程终于告一段落了,从开始搭建配置中心到现在,经历了心理和现实的一系列过程。入职这家公司后,有个公司架构给了一个基础的框架,说是用springcloud,里面切切实实是一个架子,springcloud的多个组件都没有引入(在这里提一下,这个架构是我们投资人的其他公司的技术,不属于我们公司,只是顺便带一下我们)。看我之前的文章大家知道,业务开发中基本的springcloud zuul和feign组件是我一步一步搭建起来的。虽说对于大部分人来说很简单,但对于我来说,由于之前公司使用的是spr原创 2020-05-14 14:13:29 · 1628 阅读 · 2 评论 -
热腾腾的编程——个人金字塔
for(int i=1;i<=5;i++){ for(int j = 5-i;j>0;j--){ System.out.print(" "); } for(int m = 6-i;m<i+3;){ System.out.print("*"); m+=2; } for(int k = 0;k&...原创 2020-05-08 16:24:47 · 135 阅读 · 0 评论 -
三种String的转换 String.valueOf String强转 toString使用区别
1.最最好用的是String.valueOf(i)2.(String)Object.强转类型容易出现类型不正确3.toString()方法,如果对象是null,再调用此方法容易报空指针 String i = "ddd"; String j = null; Object m = 2;// ok System.out.prin...原创 2020-05-05 14:58:32 · 512 阅读 · 0 评论 -
生产环境的sql出现:Illegal mix of collations for operation UNION
早晨刚来上班没多久,突然收到测试童鞋发过来生产环境的一个报错。Illegal mix of collations for operation 'UNION'。什么鬼情况,怎么刚上线就出问题了我让测试童鞋重现了一下,我监视着服务器的日志。我去。还真的有。接下来就开始茫茫找问题路。——————————————————————————————————————————————————...原创 2020-03-13 10:13:33 · 480 阅读 · 0 评论 -
一种对于多台服务器处理定时任务的方法
最近要写一个拉取其他项目数据的定时任务。最先写了一个,首先查询主表,获取主数据后,循环去拉取子数据。这种方式在同一个定时任务里,超级慢。果断改成多个定时任务,第一个定时任务获取主数据存表。第二个定时任务查询本地主表数据,循环去拉取。这种方式比在一个定时任务里快很多。接下来说说线上出现的问题:在跟进定时任务时,发现:1,数据没有同步完全;2,服务器日志里报请求太频繁。可能是其他项...原创 2020-03-05 10:45:48 · 3099 阅读 · 0 评论 -
springcloud+zuul+swagger2之微服务通过网关进行分发
因公司技术架构需要,我从zk+dubbo+springboot开始接触springcloud一系列架构。首先接触到新东西,我内心是希望得到学习的,毕竟技多不压身,更何况用springcloud也不是新技术了[苦瓜脸]。此文章主要讲述整个配置关键点,其他细节请找我家彦宏。进入正题:用zuul网关的目的,就我目前来看是为了让几个服务对外保证一个域名请求,得到请求后网关进行转发到各个服务上。第一步准...原创 2019-11-09 14:14:08 · 476 阅读 · 0 评论 -
拦截器中实例化不了redistemplate的问题
今天和往常一样进行着程序媛的日子,没啥波澜壮阔写登录拦截器,需要用到redis去判断token失效问题,代码如下:在进行接口请求过程中,接口被拦截,但是拦截器里的redisTemplate的hasKey()方法报指针异常,等我进行debug模式看值时发现redisTemplate为null;随后找我家彦宏问了问,现把网上的解决方法写出来,加深自己印象,也给大家一些方法。之前添加...原创 2019-10-29 16:07:09 · 729 阅读 · 0 评论 -
swagger-请求参数为对象的解决方式
如果请求参数为某个对象,还需要在swagger里显示出注释第一步:在对象的类上加注解@ApiModel,类的字段上加注解@ApiModelProperty(value = "id或者姓名等注释")第二步:controller类里直接使用@RequestBody OrderModel orderModel,json接收(如果是想表单提交,则用@ModelAttribute OrderMode...原创 2019-10-17 18:44:33 · 13418 阅读 · 2 评论 -
通俗易懂学Docker
一、初识DockerDocker是一个虚拟机技术,是应用程序和系统的中间层Docker本身并不是容器,它是创建容器的工具,是应用容器引擎大部分人用过虚拟机,例如VirtualBox,应用程序需要安装在VirtualBox上的某个系统上,第一需要安装VirtualBox,第二需要在虚拟机上安装系统,第三才能部署应用。而Docker,应用程序直接安装在Docker镜像里,而Docker...原创 2019-09-27 16:52:01 · 179 阅读 · 0 评论