- 博客(138)
- 资源 (2)
- 收藏
- 关注
原创 乐观锁与悲观锁
艺术来源于生活,很多技术解决思路也源于生活现实生活中的锁 什么是乐观锁和悲观锁? 乐观锁,悲观锁的作用 实现乐观锁与悲观锁现实生活中的锁锁在日常生活中很常见,给盒子上锁,这里锁的作用是锁定盒子里面的资源,只让持有钥匙的人访问,只有一把锁,并且只有一个锁孔,任何人要想看盒子里的东西(锁定的数据),就必须拿到钥匙,这样可以保证每个人按照顺序去打开盒子,替换盒子里的东西(锁定数据)什么是乐观锁和悲观锁?乐观锁和悲观锁是用来解决并发场景下数据访问安全问题的方案乐观锁:乐...
2020-12-28 10:12:36
307
原创 linux服务器快速安装 jdk1.8环境
服务器快速安装java环境 centos安装jdk1.8sudo yum install java-1.8.0-openjdk-devel ubuntu安装jdk1.8sudo apt install openjdk-8-jre-headless java -version 检测是否安装成功
2020-09-01 14:56:29
240
原创 HashMap(jdk1.8)源码解析
HashMap的扩容 /** *HashMap扩容方法 */ final Node<K,V>[] resize() { //旧哈希表 Node<K,V>[] oldTab = table; //旧容量 int oldCap = (oldTab == null) ? 0 : oldTab.length; //旧扩容阈值 int oldThr = thresho.
2020-06-29 11:58:43
289
原创 批量update
问题引入如果某个业务场景需要批量更新数据这个时候如果使用for循环来逐条update这样会导致频繁连接数据库,执行效率比较低一般单表都操作都不需要写sql 但是一些数据持久层框架不支持批量更新那只能自己写了解决方案解决方法其实也就是那几种 xml中使用 foreach list 来批量插入 ,Mysql Case语法批量插入,或者用ON DUPLICATE KEY UPDATE进行批量更新这里提供第二种批量插入方法 效率较高,也比较好用 语句我就直接引用别人写好的语句...
2020-06-15 10:11:33
420
原创 MySQL修改字符集及Collation
转载:https://blog.csdn.net/ghosind/article/details/83692869
2020-06-01 11:23:19
940
转载 补码为什么+1
首先,阅读这篇文章的你,肯定是一个在网上已经纠结了很久的读者,因为你查阅了所有你能查到的资料,然后他们都会很耐心的告诉你,补码:就是按位取反,然后加一。准确无误,毫无破绽。但是,你搜遍了所有俯拾即是而且准确无误的答案,却仍然选择来看这篇毫不起眼的文章,原因只有一个,只因为你还没有得到你想要的东西。因为你想要的,不是1+1=2,而是,1+1为什么等于2。当然,我们不讨论1+1的问题。我们讨论的,是补码。你已经困惑了很久,你明...
2020-05-17 20:35:40
1649
1
原创 dokcer-compose 安装 nexus 出现 Cannot open file ../sonatype-work/nexus3/log/jvm...解决办法
创建/usr/local/docker/nexus/data 目录 赋予权限 chmod 777 data/version: '3.1'services: nexus: restart: always image: sonatype/nexus3 container_name: nexus ports: - 8081:8081 vo...
2020-03-22 17:43:08
1432
原创 Spring普通类注入service
@Componentpublic class SpringUtil implements ApplicationContextAware { public static ApplicationContext applicationContext; /** * 实现ApplicationContextAware接口的context注入函数, 将其存入静态变量....
2019-09-03 21:13:41
634
原创 SpringBoot+Dubbo的注解坑
今天在做Dubbo+SpringBoot 项目的时候消费者一直注册不到Dubbo检查了配置文件都没问题最后发现原来是注解的原因我一直在入口添加的注解是@EnableDubboConfig 这样只是优先加载Dubbo的注解,然而没有加@DubboComponentScan@EnableDubbo=@DubboComponentScan+@EnableDubboConfig所以直接加@...
2019-07-11 14:32:05
459
原创 启动Zookepper占用8080
Zookeep内嵌jetty服务器,并且jetty端口默认8080zookeeper最近的版本中有个内嵌的管理控制台是通过jetty启动,也会占用8080 端口。通过查看zookeeper的官方文档,发现有3种解决途径:(1).删除jetty。(2)修改端口。修改方法的方法有两种,一种是在启动脚本中增加 -Dzookeeper.admin.serverPort=你的端口号.一种是在z...
2019-07-08 18:45:52
302
原创 SpringCloud之服务监控客户端-Spring-cloud-admin(2.x)
将需要监控的服务注册到spring-cloud-admin服务端在每个需要监控的服务的pom.xml中加入<dependency> <groupId>org.jolokia</groupId> <artifactId>jolokia-core</artifactId></dependency><...
2019-07-07 12:10:00
461
原创 SpringCloud之服务监控服务端-Spring-cloud-admin(2.x)
Spring-Cloud-Amind 用于检测所有服务的状态首先,创建hello-spring-cloud-admin项目pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o...
2019-07-07 12:04:36
652
原创 Spring-cloud之服务链路追踪
如果你的服务少了,在调用服务时,谁依赖谁应该能看的很清楚,但是成百上千个服务,a调用b,b又调用c,a又调用c,x调用y那么这么长的服务链我们如何清楚的知道他们之间的调用关系以便系统出现问题时进行定位追踪,解决那么ZipKin登场了ZipKin:是一个开放源代码的分布式跟踪系统,由 Twitter 公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和...
2019-07-07 10:42:27
2288
原创 SpringCloud之分布式配置中心客户端 spring-cloud-config
分布式配置中心客户端的作用是从github 或者 是 gitlab上加载配置 而不自己手动配置在某个服务的pom.xml中加入spring-cloud-config客户端依赖(每个服务都可使用,这里以feign消费者为例)<dependency> <groupId>org.springframework.cloud</groupId> &l...
2019-07-06 20:16:33
206
原创 SpringCloud之分布式配置中心服务端 spring-cloud-config
新创建一个工程 hello-spring-cloud-configpom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...
2019-07-05 19:47:13
185
转载 Spring Boot项目标准结构
Spring Boot框架对工程结构并没有什么特殊的限制,只是良好的工程结构划分可以使项目更清晰,明确,减少不必要的冲突,提高代码的统一性.推荐工程结构示例:代码层的结构根目录:com.springboot1.工程启动类(ApplicationServer.java)置于com.springboot.build包下2.实体类(domain)置于com.springboot.do...
2019-07-05 10:39:07
3429
原创 SpringCloud之使用路由网关统一访问接口-Zuul 和Zuul的服务过滤功能
Zuul 的主要功能是路由转发和过滤器。路由功能是微服务的一部分,比如/api/user转发到到 User 服务,/api/shop转发到到 Shop 服务。Zuul 默认和 Ribbon 结合实现了负载均衡的功能还是和其他服务一样 在父模块创建空文件夹创建Pom.xml文件(别忘记将此项目托管至maven)pom.xml<?xml version="1.0" encod...
2019-07-04 19:12:49
1561
原创 SpringCloud之熔断器仪表盘监控
Feign和Ribbon使用熔断器仪表盘监控都需要依赖于下面的Jar<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifac...
2019-07-04 17:02:58
420
原创 Spring-cloud之熔断器 Hystrix 防止服务雪崩
在分布式系统中,一种不可避免的情况就是某些服务会出现故障,导致依赖他们的其他服务出现远程调度的线程问题(雪崩效应)。而Hystrix提供的熔断器,通过隔离服务的访问点,能阻止这种分布式系统中出现的联动故障,并提供故障的解决方案,从而提高了整个分布式系统的弹性。设计原则1、防止单个服务的故障耗尽整个服务的servlet容器的线程资源2、快速失败机制,如果某个服务出现故障则调用该服务的请求...
2019-07-04 14:35:19
373
原创 Feign 和 Ribbon的区别
Feign和Ribbon都是用于调用Rest服务的组件,只是实现的方式不同,用法不太一样Ribbon需要自己构建通过RestTemplate 来构建http请求而Feign继承了Ribbon并且优化了使用方式,将rest每个服务对应一个接口,接口调用服务,从而实现对rest服务的访问不过要注意的是抽象方法的注解、方法签名要和提供服务的方法完全一致。...
2019-07-04 10:10:13
1829
原创 solr的特性
Apache Solr 是一个开源的搜索服务器,Solr 使用 Java 语言开发,主要基于 HTTP 和Apache Lucene 实现。定制 Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述所有 Field 及其内容的 XML 文档就可以了。定制搜索的时候只需要发送 HTTP GET 请求即可,然后对 Solr 返回的信息进行重新布局,以产生利于用户理解...
2019-06-27 14:57:03
200
转载 Nginx配置文件详解
.\conf\- 配置文件目录.\conf\nginx.conf- 主配置文件.\html\- 默认网站文件位置.\log\- 默认日志文件位置#定义Nginx运行的用户和用户组#user nobody; #nginx进程数,建议设置为等于CPU总核心数。worker_processes 1; #全局错误日志定义类型,[ debug | info |...
2019-06-18 17:22:49
139
转载 solr 问题总集
https://blog.csdn.net/guochunyang/article/details/51820749搭建solr 500https://blog.csdn.net/jiangchao858/article/details/76222331Solr的Filed中indexed与stored属性https://blog.csdn.net/zhufenglonglove/art...
2019-06-12 18:56:54
237
原创 org.springframework.beans.factory.NoSuchBeanDefinitionException: 解决方案
今天在跑项目时出现org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean found for dependency [com.chen.service.UserService]: expected at least 1 bean which qualifies as autowire c...
2019-06-08 11:01:44
5933
1
原创 Spring Cloud之 服务消费者(feign)
Feign 是一个声明式的伪 Http 客户端,它使得写 Http 客户端变得更简单。使用 Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用 Feign 注解和 JAX-RS 注解。Feign 支持可插拔的编码器和解码器。Feign 默认集成了 Ribbon,并和 Eureka 结合,默认实现了负载均衡的效果(所以说服务消费者一般使用Feign)Feign 采用的是基于接口...
2019-06-06 15:57:02
184
原创 SpringCould之服务消费者(Ribbon)
SpringCloud提供的服务消费者有两种(此处使用Ribbon实现)Ribbon +RestTemplate fegin和SpringCloud其他服务一样 创建一个消费者工程项目(在父工程spring-cloud下创建一个 spring-cloud-ribbon工程项目) pom.xml <?xml version="1.0" encoding="UTF-8"?&g...
2019-06-05 13:12:07
221
原创 Spring Cloud 之 服务提供者
pox.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="htt...
2019-06-04 11:34:27
142
原创 使用git 解决 Incorrect username or password ( access token )
使用场景:git push -u origin master 提交代码问题:$ git push -u origin masterremote: Incorrect username or password ( access token )fatal: Authentication failed for 'https://gitee.com/....../itrip-backend.g...
2019-06-04 09:51:01
2223
原创 Spring Cloud 之 服务注册与发现
需要的组件:Spring Cloud Netflix 的 Eureka (服务注册和发现模块) Netflix :内特弗丽克斯 Rureka:尤里卡 (还是个希腊语) Eureka和 Zookeeper都是服务注册和发现模块 功能几乎一摸一样 和其他服务一样,先创建一个服务模块 eg; hello-spring-cloud-rurek...
2019-06-03 10:57:20
183
原创 Spring Cloud 之 创建统一的依赖管理
创建一个文件夹hello-springcloud在文件夹下创建一个pom.xml文件pom.xml文件配置为:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLS...
2019-06-03 10:28:37
2888
原创 Spring Boot 整合 mybatis
SpringBoot整合Mybtis需要导入某些依赖Druid(是一个数据库连接池)<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>...
2019-05-30 16:52:07
141
原创 Spring boot 添加整合 thymeleaf
为什么使用themeleaf模块? themeleaf模块能够完全替代掉jsp若想使用 themeleaf 需要导入某些依赖spring-boot-starter-thymeleaf:Thymeleaf 自动配置 nekohtml:允许使用非严格的 HTML 语法由于spring-boot-starter-thymeleaf在创建SpringBoot项目时就能选...
2019-05-30 14:37:51
105
原创 Spring mvc 重定向参数乱码解决方法
String url = "/user/login?erro="+erro;这种方式通过重定向访问参数会乱码,重定向过去erro乱码 (下面两种方式都无效)request.setCharacterEncoding("utf-8") XString(parameter.getBytes("iso-8859-1","utf-8") X在controller...
2019-05-28 08:54:19
461
原创 搭建项目镜像
FROM tomcatWORKDIR /usr/local/tomcat/webapps/ROOTRUN rm -fr *ADD driversys.tar.gz /usr/local/tomcat/webapps/ROOTRUN rm -fr driversys.tar.gzWORKDIR /usr/local/tomcat
2019-05-22 19:59:06
137
原创 Docker-compose下载mysql
version: '3.1'services: mysql: restart: always image: mysql:5.7.22 container_name: mysql ports: - 3306:3306 environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD...
2019-05-22 18:16:15
374
原创 Docker-compose 常用下载服务配置
Docker-compose下载Mysqlmysql: restart: always image: mysql:5.7.22 container_name: mysql ports: - 3306:3306 environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: ...
2019-05-22 17:10:04
170
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人