自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(174)
  • 资源 (1)
  • 收藏
  • 关注

转载 Java面试笔记(强烈推荐)

本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那就点个小心心,文末赞赏一杯豆奶吧,嘻嘻。 让我们共同成长吧……第一部分:目录一、算法剑指 Offer 题解目录根据原书第二版进行编排,代码和原书有所不同,尽量比原书更简洁。Leetcode 题解对题目...

2020-03-16 15:46:25 795 1

原创 基于Finchley.SR2的springcloud系列代码(zuul 网关服务)(十)

备注:源代码已经全部上传到github,有错误地方请指正,谢谢!地址:https://github.com/hcmony/springcloud1,pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt...

2019-07-04 19:45:45 342

原创 基于Finchley.SR2的springcloud系列代码(Zipkin进行服务跟踪)(九)

备注:源代码已经全部上传到github,有错误地方请指正,谢谢!地址:https://github.com/hcmony/springcloud1,pom.xml 注意这里的父pom是直接引用springboot的1.5.6版本<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apa...

2019-07-04 19:38:57 985

原创 一个中小型互联网公司技术人员用到的知识与技能,以java开发为例,文末附学习资源

整理了下我们公司现在用到的技术,发现一个技术人员,要学的东西真是挺多的,我把它大概分级了下,具体内容如下:必备技能java8(基础+多线程+io+jvm+jms)springcloud/dubbo 框架mysql等关系型数据库maven构建工具redis缓存git代码管理增强技能mongodb其他类型的数据库zookeeper中间件rocketmq...

2019-06-25 17:41:23 1312

原创 基于Finchley.SR2的springcloud系列代码(bus 消息总线,不重启更新配置)(八)

备注:源代码已经全部上传到github,有错误地方请指正,谢谢!地址:https://github.com/hcmony/springcloud前言: 1,我是基于github做的配置中心:https://github.com/hcmony/config 2,使用bug必须安装消息队列,我这里安装的是rabbitmq1,pom.xml<?xml v...

2019-06-20 10:43:02 322

原创 基于Finchley.SR2的springcloud系列代码(config-client 文件配置应用示例)(七)

备注:源代码已经全部上传到github,有错误地方请指正,谢谢!地址:https://github.com/hcmony/springcloud前言:我是基于github做的配置中心:https://github.com/hcmony/config1,pom.xml<?xml version="1.0" encoding="UTF-8"?><project xm...

2019-06-20 10:36:18 278

原创 基于Finchley.SR2的springcloud系列代码(config-server 文件配置服务)(六)

备注:源代码已经全部上传到github,有错误地方请指正,谢谢!地址:https://github.com/hcmony/springcloud前言:我是基于github做的配置中心:https://github.com/hcmony/config1,pom.xml<?xml version="1.0" encoding="UTF-8"?><project xm...

2019-06-20 10:31:54 350

原创 基于Finchley.SR2的springcloud系列代码(consumer 服务消费者)(五)

备注:源代码已经全部上传到github,有错误地方请指正,谢谢!地址:https://github.com/hcmony/springcloud1,pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt...

2019-05-30 20:44:54 192

原创 基于Finchley.SR2的springcloud系列代码(provider 服务提供者,多台就可以实现负载均衡)(四)

备注:源代码已经全部上传到github,有错误地方请指正,谢谢!地址:https://github.com/hcmony/springcloud1,pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt...

2019-05-30 20:40:59 240

原创 基于Finchley.SR2的springcloud系列代码(admin 监控应用)(三)

备注:源代码已经全部上传到github,有错误地方请指正,谢谢!地址:https://github.com/hcmony/springcloud1,pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt...

2019-05-30 20:36:54 297

原创 基于Finchley.SR2的springcloud系列代码(eureka注册中心)(二)

备注:源代码已经全部上传到github,有错误地方请指正,谢谢!地址:https://github.com/hcmony/springcloud1,pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt...

2019-05-30 20:34:11 357

原创 基于Finchley.SR2的springcloud系列代码(父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/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/P...

2019-05-30 20:31:27 557

原创 idea创建springcloud项目图文教程(Feign实现负载均衡)(九)

1,创建注册中心http://blog.csdn.net/hcmony/article/details/778551582,创建服务提供者http://blog.csdn.net/hcmony/article/details/77855843画重点,这里创建两个或者多个的服务。把application.properties 里面的server.port=8762...

2017-09-05 20:49:22 9511 2

原创 idea创建springcloud项目图文教程(EurekaServer注册中心)(六)

上一篇:idea创建springboot项目图文教程(配置文件)(五) http://blog.csdn.net/hcmony/article/details/77854999idea创建springcloud项目图文教程(EurekaServer注册中心)(六)1,new -project 选择spring initializr、2,创建自己的包名...

2017-09-05 19:33:15 72584 21

转载 Maven使用详解,非常详细

本文转:http://blog.csdn.net/u010425776/article/details/52027706什么是Maven?如今我们构建一个项目需要用到很多第三方的类库,如写一个使用spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项...

2017-02-20 15:25:02 93653 14

原创 灵活使用Interceptor拦截器和Filter过滤器

什么是Filter在java的javax.servlet下有一个接口Filter。任何实现了Filter接口的类都可以称之为filter。Filter的主要用途是设置字符集、控制权限、控制转向等等。常见使用方法package com.yestae.message.controller.admin;import org.springframework.stereotype.Component;import javax.servlet.*;import java.io.IOExcept

2022-02-15 16:19:51 305

原创 idea Sources not found for: org.springframework.cloud

行执行如下命令mvn dependency:resolve -Dclassifier=sources

2021-11-03 13:58:09 468

原创 跨域问题 has been blocked by CORS policy: The request client is not a secure context

问题描述,前端请求后端接口出现了跨域,get请求是OK 的,POST 请求有问题。请求链路是前端请求接口先到服务端的网关系统,再由网关系统转发到其他业务系统中。第一步、首先看两个相关的服务是不是没有加跨域的配置。经检查发现两台服务都加了跨域代码,如下:业务系统解决跨域代码:@Configurationpublic class CorsConfiguration { @Bean public WebMvcConfigurer corsConfiguration() {

2021-10-21 14:20:52 17290

原创 自己手写一个类加载器demo

1,先写一个简单的java文件,保存在桌面。public class A{ static{ System.out.println("hello , hcmony !"); }}2.用javac编译成 A.classjavac A.java3.创建自己的ClassLoader类,如下:package com.hcmony;import java.io.*;/** * <h3>类的基本描述</h3> * * @author hc...

2021-02-19 11:00:41 320

转载 8张图,5大组件!了解MySQL查询语句执行过程。

开篇 相信广大程序员朋友经常使用MySQL数据库作为书籍持久化的工具,我们最常使用的就是MySQL中的SQL语句,从客户端向MySQL发出一条条指令,然后获取返回的数据结果进行后面的逻辑处理。尽管大家经常使用SQL语句完成工作,你是否关注过其执行的阶段,利用了哪些技术完成?今天,就带大家一起看看MySQL数据库处理SQL请求的全过程。下面将会讲述如下内容: 查询请求在MySQL中的处理流程 MySQL 中处理SQL的组件介绍,包括: 连接器 查询缓存 分

2021-02-18 10:28:58 409

原创 自已搭建的mysql 查看慢日志记录

1 ,查看mysql 存储位置show global variables like "%datadir%";2、查询慢日志是否开启。mysql> show variables like '%slow_query_log%'3、开启慢查询日志mysql> set global slow_query_log=1;4、去mysql 存储位置查看慢日志记录5、如下图:文件里面就有某个超过10S的sql语句...

2020-12-30 09:37:01 137

原创 Spring Cloud微服务 中的feign 超时配置

在Spring Cloud微服务架构中,大部分公司都是利用Open Feign进行服务间的调用,而比较简单的业务使用默认配置是不会有多大问题的,但是如果是业务比较复杂,服务要进行比较繁杂的业务计算,那后台很有可能会出现Read Timeout这个异常,因此定制化配置超时时间就有必要了。一,超时时间设置有三种方法 ,以yml 文件为例:# feign 设置超时时间feign: client: config: default: connectTimeout:

2020-11-16 21:34:58 1277 2

转载 利用Explain优化sql 详解

Explain简介Explain关键字是Mysql中sql优化的常用「关键字」,通常都会使用Explain来「查看sql的执行计划,而不用执行sql」,从而快速的找出sql的问题所在。在讲解Explain之前首先创建需要的「用户表user、角色表role、以及用户角色关系表role_user」作为测试用的表://用户表DROPTABLEIFEXISTS`user`;CREATETABLE`user`(`id`int(11)NOTNULL,`name`va...

2020-09-28 15:50:13 1732

转载 图解 MySQL 索引:B-树、B+树

看了很多关于索引的博客,讲的大同小异。但是始终没有让我明白关于索引的一些概念,如B-Tree索引,Hash索引,唯一索引….或许有很多人和我一样,没搞清楚概念就开始研究B-Tree,B+Tree等结构,导致在面试的时候答非所问!索引是什么?索引是帮助MySQL高效获取数据的数据结构。索引能干什么?提高数据查询的效率。索引:排好序的快速查找数据结构!索引会影响where后面的查找,和order by 后面的排序。公众号:Java后端 发布过几十篇 MySQL 文章,其中包括索引的文章,可以

2020-09-28 15:33:17 167

原创 时间窗口算法基于redis -zset 实现

时间窗口算法又名滑动时间算法,所谓的滑动时间算法指的是以当前时间为截止时间,往前取一定的时间,比如取1s的时间,在这1s时间内最大的访问数为1000。把这1秒分为1000格,每格是1毫秒。滑动时间窗口如下图所示:转存失败重新上传取消其中每一个小格子代表1ms,比如1s允许200次请求,那么就分成1000个小格。如何实现?借助Redis的有序集合ZSet来实现时间窗口算法限流,实现的过程是:第一步:先使用ZSet的key存储限流的ID,score用来存储请求的时间。第...

2020-08-12 17:43:50 1882 1

原创 并发编程之ThreadLocal分析二

ThreadLocalMap ThreadLocal最重要的内部类理解ThreadLocal 要理解它与Thread、ThreadLocalMap 的关系,如下图:每个线程都有一个LocalThreadMap,LocalThreadMap初始化时有16个卡槽,每个卡槽放着一个Entry,对应的Key是ThreadLocal,这里的Key就是上面说到继承了弱引用类型,在我们使用remove方法时候就会用到。Value为Object 类型,也就是我们要放入的对象。...

2020-05-12 20:08:02 169

原创 并发编程之ThreadLocal分析一

知识点:神奇的hashcode , 0x61c88647 弱引用 WeakReference 拓展java引用相关 关键点 ThreadLocalMap AtomicInteger应用案例:spring RequestContextHolder zuul RequestContext guava Dispatcher tomcat ApplicationContext1.神奇的hashcode 0x61c886470x61c88647是什么?转化为十进制是1640531..

2020-05-12 19:45:09 216

原创 Guava之EventBus 简单示例

EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。package com.hcmony.adscounter.api;import com.google.common.eventbus.EventBus;import...

2020-03-11 10:46:04 313

原创 Tomcat线程数占满而导致的线上事故

事故表现形式:昨天下午4点多的时候,有同学反映说,某个服务响应时间过长,怀疑是负载均衡的问题。排查过程:1,查看阿里云负载均衡表现正常,排除。2,查看单台服务日志出现OOM,可以断定是服务出问题了。分析原因:1,先重启服务。2,下载 *.hprof 日志,用MAT分析结果如下图:3,结果明显指示tomcat线程池满了,并指向了其中一个controller的外部请求。...

2020-03-10 09:30:00 5381

转载 Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等

在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:1.公平锁 / 非公平锁2.可重入锁 / 不可重入锁3.独享锁 / 共享锁4.互斥锁 / 读写锁5.乐观锁 / 悲观锁6.分段锁7.偏向锁 / 轻量级锁 / 重量级锁8.自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总...

2019-12-12 19:47:02 165

转载 记一次开发环境redis出现key丢失排查

开发环境大家共用redis集群, 出现设置的redis key随机丢失1. 检查key是否设置了过期时间执行ttl key发现值是-1,并没有设定过期时间2. 检查是否有人删除key,或者flushdb,flushall执行info commandstatscmdstat_XXX:calls=XXX,usec=XXX,usec_per_call=XXX看...

2019-11-15 15:16:54 841

原创 通过redis生成分布式自增的订单编号

在我们电商交易系统里面经常会生成订单号,一般采用UUID直接生成字符串,理论情况下不会重复,但是还是有可能重复的,并且这种订单号可读性特别差,所以我们会选择用redis来生成订单号,具体代码如下:1,用DateHelper生成由年月日时分秒生成14位数,再通过redis生成6位数。这种可以用BigInteger存储,理论上可以支持1秒产生100万个订单,如果实际生产会更大,可以把倍数值调大。...

2019-10-24 19:51:39 2716

原创 博客排名3220,一脸蒙逼

突然排名3000多,一脸蒙逼了。。。。

2019-09-29 16:04:54 223

原创 查找字符串中出现过两次以上的字符

package com.hcmony.sword.dataStructure.array;import com.alibaba.fastjson.JSON;import java.util.*;/** * <h3>查找字符串中出现过两次以上的字符</h3> * * @author hcmony * @since V1.0.0, 2019/9/23 16...

2019-09-23 17:53:22 1458

原创 SpringFactoriesLoader解析META-INF/spring.factories配置加载成为bean

private static Map<String, List<String>> loadSpringFactories(@Nullable ClassLoader classLoader) { MultiValueMap<String, String> result = cache.get(classLoader); if (result != n...

2019-08-16 18:15:30 1994

转载 淘宝千万级并发分布式架构的14次演进

淘宝千万级并发分布式架构的14次演进一、概述本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。二、基本概念在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍:1)分布式系统中的多个模块在不同服务器...

2019-08-07 19:32:27 585

转载 Specified key was too long; max key length is 767 bytes

今天生产上遇到上述的bug:系统变量innodb_large_prefix开启了,则对于使用DYNAMIC或COMPRESSED行格式的InnoDB表,索引键前缀限制为3072字节。如果禁用innodb_large_prefix,不管是什么表,索引键前缀限制为767字节。上述的bug很明显是索引超出了限制的长度767(我司生产上innodb_large_pref...

2019-08-06 17:27:03 184

原创 idea创建springcloud项目图文教程(Spring Boot Admin 监控应用)(十四)

前言:Spring Boot Admin是属于springboo应用的,它是在 Spring Boot Actuator 的基础上提供简洁的可视化 WEB UI。SpringBootAdmin是一个用于管理和监控SpringBoot微服务的社区项目,可以使用客户端注册或者Eureka服务发现向服务端提供监控信息,例如服务健康检查信息、CPU、内存、操作系统信息等。话不多说,先上两张图看看:...

2019-05-30 20:27:08 1073

转载 Spring AOP前置通知和后置通知

Spring AOP  AspectJ:Java社区里最完整最流行的AOP框架  在Spring2.0以上的版本中,可以使用基于AspectJ注解或基于XML配置的AOP在Spring中启用AspectJ注解支持  要在Spring应用中使用AspectJ注解,必须在classpath下包含AspectJ类库:aopalliance.jar、aspectj.weaver.jar和spr...

2019-05-28 14:57:11 3516

转载 Spring AOP

AOP简介  AOP(Aspect-Oriented Programming,面向切面编程):是一种新的方法论,是对传统OOP的补充  AOP的主要编程对象时切面(aspect),而切面模块化横切关注点  在应用AOP编程时,仍然需要定义公共功能,但可以明确的定义这个功能在哪里,以什么方式应用,并且不必修改受影响的类。这样一来横切关注点就被模块化到特殊的对象(切面)里。  AOP的好处 ...

2019-05-28 14:56:15 145

everything ,开发者必备利器

windows全局搜索工具everything,开发者必备利器,免费。。。。。

2017-08-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除