自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(179)
  • 资源 (13)
  • 收藏
  • 关注

转载 JVM调优思路

JVM调优是一件很严肃的事情,前期需要严密的分析和监控。实际上,JVM调优是不得已而为之,有那功夫,好好把烂代码重构一下不比瞎调JVM参数强么?

2023-03-01 16:21:31 208

原创 CentOS7部署k8s集群

CentOS版本角色 IPKubernetes 默认 CRI(容器运行时)为 Docker,因此先安装 Docker。(1)安装 Docker(2)添加阿里云 YUM 软件源设置仓库地址添加 yum 源(3)安装 kubeadm,kubelet 和 kubectl(1)在 172.26.197.206(Master)执行由于默认拉取镜像地址 k8s.gcr.io 国内无法访问,这里指定阿里云镜像仓库地址。确保能够访问到 quay.io 这个 registery。

2022-09-28 13:57:41 1683

转载 几种常见的JVM调优场景(建议收藏)

以上三种严格地说还算不上jvm的调优,只是用了jvm工具把代码中存在的问题找了出来。我们进行jvm的主要目的是尽量减少停顿时间,提高系统的吞吐量。但是如果我们没有对系统进行分析就盲目去设置其中的参数,可能会得到更坏的结果,jvm发展到今天,各种默认的参数可能是实验室的人经过多次的测试来做平衡的,适用大多数的应用场景。如果你认为你的jvm确实有调优的必要,也务必要取样分析,最后还得慢慢多次调节,才有可能得到更优的效果。作者:我是满意吖。...

2022-08-16 18:43:59 440

转载 《我想进大厂》之Dubbo普普通通9问

一致性hash:通过hash算法,把provider的invoke和随机节点生成hash,并将这个 hash 投射到 [0, 2^32 - 1] 的圆环上,查询的时候根据key进行md5然后进行hash,得到第一个节点的值大于等于当前hash的invoker。从大的范围来说,dubbo分为三层,business业务逻辑层由我们自己来提供接口和实现还有一些配置信息,RPC层就是真正的RPC调用的核心层,封装整个RPC的调用过程、负载均衡、集群容错、代理,remoting则是对网络传输协议和数据转换的封装。..

2022-08-14 18:10:35 221

转载 Dubbo基础及原理机制

Dubbo是 阿里巴巴公司开源的一个高性能RPC 分布式服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成,现已成为 Apache 基金会孵化项目

2022-06-11 12:13:44 47750 2

转载 分布式事务:seata

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。AT模式是阿里首推的模式,阿里云上有商用版本的GTS(Global Transaction Service 全局事务服务)。...

2022-06-06 10:50:27 486

转载 SPRINGBOOT启动流程及其原理

SpringBoot启动原理精简版 Spring Boot、Spring MVC 和 Spring 有什么区别? 一 springboot启动原理及相关流程概览 二 springboot的启动类入口 三 单单是SpringBootApplication接口用到了这些注解  1)@Configuration注解  2)@ComponentScan注解 3)@EnableAutoConfiguration AutoConfigurationPackage注解: Impor...

2021-11-09 15:09:58 391

原创 Logstash Grok patterns

** logstash正则关键字,记录于此,不必每次十啬 **grok-patternsUSERNAME [a-zA-Z0-9._-]+USER %{USERNAME}EMAILLOCALPART [a-zA-Z][a-zA-Z0-9_.+-=:]+EMAILADDRESS %{EMAILLOCALPART}@%{HOSTNAME}INT (?:[+-]?(?:[0-9]+))BASE10NUM (?<![0-9.+-])(?>[+-]?(?:(?:[0-9]+(?:\.[0-

2021-04-29 13:52:27 219

原创 ELK+Filebeat+Kafka,SpringBoot异常日志收集

ELK+Filebeat+Kafka,SpringBoot异常日志收集概述SpringBoot项目日志输出格式化配置Filebeat汇集换行的日志为一行Logstash格式化项目日志概述FileBeat + Kafka + ELK,收集SpringBoot项目的日志输出,有几个地方需要注意:项目日志输出格式化Filebeat将多行日志汇集成一行Logstash将项目日志格式化为jsonSpringBoot项目日志输出格式化logback-spring.xml<?xml versio

2021-04-29 11:01:46 689

原创 ELK集群+Filebeat+Kafka

ELK+Filebeat+Kafka集群配置

2021-04-22 17:17:22 853 1

原创 Sentinel监控SpringBoot项目

Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性一、下载启动Sentinel下载sentinel地址:https://github.com/alibaba/Sentinel/releases下载sentinel-dashboard-1.8.1.jarjava -jar sentinel-dashboard-1.8.1.jar --server.port=8305--server.port=8305 以8305为sentinel控制台的端口

2021-03-11 09:28:31 299

转载 Tomcat 启动速度优化

本文简单介绍如何让 Tomcat 更快启动, 同时提供一些建议。一般建议问题一般分为2类: 一类是BUG,还有一类是性能问题。首先提醒一点: 如果碰到 Tomcat hang 住或者请求不响应, 必须先诊断和排查问题, 而不要急着去优化。 可以执行 线程转储, 看看 JVM 出了什么问题。请参考Tomcat的wiki页面: 问题检测与诊断 。JAR 包扫描在Servlet 3....

2020-03-14 18:14:23 275

转载 过滤器(Filter)解决跨域问题

最近在做一个项目,前端资源与服务端单独部署。遇到一个跨域问题,常见的跨域问题可以通过jsonp方式解决。下面介绍另一种解决方式:服务端环境:spring + dubbo + tomcat第一步:在WEB-INF目录下添加一个crossdomain.xml文件,内容如下:<cross-domain-policy><allow-access-from domain=...

2019-03-23 11:15:44 2716

转载 HashMap,LinkedHashMap,TreeMap的区别

原文地址:http://blog.csdn.net/xin_jmail/article/details/25975085Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。HashMap最多只允许一...

2019-02-18 10:56:58 236

转载 从接入层入手,设计高并发的微服务架构?

从接入层入手,设计高并发的微服务架构?对于静态资源来讲,其实在真实的访问机房内的对象存储之前,在最最接近用户的地方,可以先通过 CDN 进行缓存,这也是高并发应用的一个总体的思路,能接近客户,尽量接近客户。from http://developer.51cto.com/art/201803/567754.htm作者:刘超来源:通俗云计算|2018-03-12 09:05本篇介绍微服...

2019-02-15 05:57:50 344

转载 高并发高性能分布式框架从无到有微服务架构设计分享

微服务架构模式(Microservice Architect Pattern)。近两年在服务的疯狂增长与云计算技术的进步,让微服务架构受到重点关注微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具...

2019-02-11 16:59:30 223

转载 这可能是最为详细的Docker入门总结

在计算机技术日新月异的今天, Docker 在国内发展的如火如荼。特别是在一线互联网公司 Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,不信的话看看下面这张图。这是我在某招聘网站上看到的招聘 Java 开发工程师的招聘要求,其中有一条熟悉 Docker 成为了你快速入职的加分项,由此可见熟悉 Docker 在互联网公司的地位之重要。市面上已经有很多优秀的 Docke...

2019-02-09 20:39:46 361

原创 2019正月初一排查maven无厘头问题

今天是2019年正月初一,看到另一个角度拍摄的,助理在众多“现场观众”的注视下,帮刘谦变更道具的魔术,无趣。还是按计划把我的微服务项目往前推进一下吧。我的微服务项目包括几个module,服务注册、服务提供者、服务消费者、安全、配置中心、负载均衡、路由。已经编写完毕,现在需要打成jar包,用docker部署到CentOS。千山万水都过去了,居然在maven打包时出现点异常。在module b...

2019-02-05 17:36:07 1426

原创 客户端注册eureka服务失败registration failed Cannot execute request on any known server

SpringBoot 2.0.3.RELEASESpringCloud Finchley.RELEASE启动 eureka 客户端,报如下错误:2019-02-01 11:36:56.933 INFO 388404 --- [ main] com.netflix.discovery.DiscoveryClient : Application version...

2019-02-01 11:55:11 31327 7

转载 Gradle 15分钟入门教程

from https://www.yiibai.com/gradle/gradle-tutorial-for-beginners.html1-Gradle入门介绍在阅读或实践本文中的实例前,必须首先确保已将Gradle插件安装到Eclipse中。如果没有,可以点击下面的链接查看Gradle安装说明:http://www.yiibai.com/gradle/how-install-gra...

2019-01-24 19:06:33 456

原创 两个list合并的算法

valueListtimeList 根据两个list比对获取这样的数据以timeList为基准,把valueList的值合并到新的List,valueList中没有的值设为0 public class ComOrder { private List&lt;Map&lt;String, Integer&gt;&gt; valueList = new Ar...

2019-01-24 17:39:48 1832

原创 算法-调整数组顺序使奇数位于偶数前面

输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)/** * 调整数组顺序使奇数位于偶数前面 * * 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分, * 所有偶数位于数组的后半部分。要求时间复杂度为O(n) */public class OddHead { /** ...

2019-01-23 16:09:18 362

转载 算法-动态规划 Dynamic Programming--从菜鸟到老鸟

2017年07月15日 22:58:29 HankingHu 阅读数:68782更多所属专栏: 图解算法版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/u013309870/article/details/75193592前言最近在牛客网上做了几套公司的真题,发现有关动态规划(Dynamic Programming)算法的题目很多。相对于...

2019-01-20 09:59:12 204

转载 【Java面试宝典】深入理解JAVA虚拟机

【Java面试宝典】深入理解JAVA虚拟机一、运行时数据区域  线程隔离:线程隔离的意思,就是给不同的线程多分配的资源用,以做到不争用。  线程共享:线程共享就是资源只有一个没有办法分配更多,只能共享。  Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区。程序计数器,虚拟机栈...

2019-01-19 20:27:31 202

转载 十大经典排序算法最强总结(含JAVA代码实现)

最近几天在研究排序算法,看了很多博客,发现网上有的文章中对排序算法解释的并不是很透彻,而且有很多代码都是错误的,例如有的文章中在“桶排序”算法中对每个桶进行排序直接使用了Collection.sort()函数,这样虽然能达到效果,但对于算法研究来讲是不可以的。所以我根据这几天看的文章,整理了一个较为完整的排序算法总结,本文中的所有算法均有JAVA实现,经本人调试无误后才发出,如有错误,请各位前辈...

2019-01-19 20:23:09 278

转载 深入理解JVM—JVM内存模型

我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CPU的发展,内存的读写速度也远远跟不上CPU的读写速度,因此,为了解决这一纠纷,CPU厂商在每颗CPU上加入了高速缓存,用来缓解这种症状,因此,现在CPU同内存交互就变成了下面的样子...

2019-01-17 13:30:59 152

转载 深入详解JVM内存模型与JVM参数详细配置

对于大多数应用来说,Java 堆(Java Heap)是Java 虚拟机所管理的内存中最大的一块。Java 堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。JVM内存结构               由上图可以清楚的看到JVM的内存空间分为3大部分:堆内存 方法区 栈内存其中栈内存可以再细分为java虚拟机栈和本地方法栈,堆内存可以划分为新生代和老年代,新生代中还可以再...

2019-01-17 13:20:10 195

转载 史上最简单的 SpringCloud 教程 | 终章

史上最简单的 SpringCloud 教程 | 终章所属专栏: 史上最简单的 Spring Cloud 教程版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接 ,博主地址:http://blog.csdn.net/forezp。 https://blog.csdn.net/forezp/article/details/70148833转载请标明出处:https://b...

2019-01-13 08:27:24 155

转载 JAVA设计模式总结之23种设计模式

一、什么是设计模式                                                                                                                                       设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。...

2019-01-12 09:34:06 264

转载 MQ详解及四大MQ比较

一、消息中间件相关知识1、概述消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。 2、消息中间件的组成      2.1 Broker消息服务器...

2019-01-11 20:58:57 33973 1

原创 idea中拷贝方式创建maven module需要注意的地方

比较安全的方式是在资源管理器中操作,分以下步骤拷贝module1为module2修改module2的pom.xml的坐标在parent的pom.xml中,增加对module2的引用 如果直接在idea中拷贝module1为module2,则idea自动把module2的java,resources都关联到了module1中,此时,需要按如下方式取消关联Project S...

2019-01-10 23:28:07 1240

原创 使用SpringCloud服务熔断hystrix及服务监控dashboard中遇到的问题

SpringCloud版本为 Dalston.SR1创建maven工程:billparent-allpom.xml&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org...

2019-01-10 21:04:41 357

转载 zookeeper的详细介绍及使用场景

Zookeeper是什么Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper ...

2019-01-09 18:30:12 138

转载 ZooKeeper典型应用场景一览

ZooKeeper典型应用场景一览 数据发布与订阅(配置中心) 发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,服务式服务框架的服务地址列表等就非常适合使用。 应用中用到的一些配置信息放到ZK上进行集中管理。这类场景通常是这样:应用在启动的时候会主动来获取一...

2019-01-09 18:28:20 124

转载 不要在微服务架构中使用单一数据库

来自: 21CTO(微信号:we21cto),编译:老夏,原文链接导读:当你把团队的整个代码库拆分,并转移到微服务架构时,不要忘记还有一个更重要的数据库设计。本篇文章告诉我们,如何拆分单一数据库。 当我们分解应用程序,采用微服务架构时,还有一点是,要重点关注单一数据库的改造。架构师们需要一个更可靠的策略来将单一数据库拆分为与应用程序一致的多个数据库。即将应用程序或服务中的单一共享式...

2019-01-06 08:10:50 3379

转载 不同微服务独立数据库,如何保障微服务架构下的数据一致性

虽然已经红了很久,但是“微服务架构”正变得越来越重要,也将继续火下去。各个公司与技术人员都在分享微服务架构的相关知识与实践经验,但我们发现,目前网上的这些相关文章中,要么上来就是很有借鉴意义的干货,要么就是以高端的专业术语来讲述何为微服务架构。就是没有一个做到成熟地将技术传播出来,同时完美地照顾“初入微服务领域人员”,从 0 开始,采用通俗易懂的语言去讲解微服务架构的系列。所以,我们邀请青柳云的苏...

2019-01-06 08:03:25 392

转载 Spring的启动流程

spring的启动是建立在servlet容器之上的,所有web工程的初始位置就是web.xml,它配置了servlet的上下文(context)和监听器(Listener),下面就来看看web.xml里面的配置:&lt;!--上下文监听器,用于监听servlet的启动过程--&gt;&lt;listener&gt; &lt;description&gt;ServletCon...

2018-12-27 09:06:38 228

转载 spring 启动过程

转自 https://www.cnblogs.com/luoluoshidafu/p/6442055.html 首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面的spring IoC容器提供宿主环境; 其次,在web.xml中会提供有contextLoaderListener。在web容器启动...

2018-12-27 09:04:01 128

转载 spring注解大全启用

spring @component的作用1、@controller 控制器(注入服务)2、@service 服务(注入dao)3、@repository dao(实现dao访问)4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的&lt;bean id="" class=""/&gt;)    @Component,@Servi...

2018-12-27 08:06:40 255

原创 多线程排队执行

10个线程A一起执行完,再一起执行20个线程B;然后再一起执行10个线程A,再一起执行20个线程B,如此往复50次。public class CyclickBarrierTest { public static void main(String[] args) { int childSize = 10; int mainSize = 20; int ci...

2018-12-16 10:54:42 2448

Nginx高性能Web服务器详解

全书分四大部分,分别从入门、功能、实现和应用等四个方面对nginx服务器的知识进行完整阐述,从而满足广大读者在应用nginx服务器时的普遍性需求。同时也深入剖析了nginx服务器的工作原理和实现技术,对其中使用到的数据结构和方法进行了详细阐述,并且结合实际的应用情况给出了多个基于nginx服务器,同时还部署有其他典型服务器的分布式网站架构部署配置。

2018-05-05

Java并发编程

包括三部java并发编程的书:Java并发编程的艺术 Java并发编程实战 JAVA并发编程实践JavaConcurrencyinPractice-中文-高清-带书签-完整版(Doug Lea)

2018-05-05

JavaEE开发的颠覆者 Spring Boot实战 完整版

本书从Spring基础、SpringMVC基础讲起,从而无难度地引入SpringBoot的学习。涵盖使用SpringBoot进行JavaEE开发的绝大多数应用场景,包含:Web开发、数据访问、安全控制、批处理、异步消息、系统集成、开发与部署、应用井控、分布式系统开发等。解压后225M的524页PDF文件。

2018-05-05

破解CentOS中的root密码和grub密码

CentOS系统安装完毕,长时间不用,很容易忘记root密码,由于系统里已经安装配置了很多的软件,舍不得重新安装,可以参考本文档的方法,偿试破解root密码

2018-05-05

MongoDB学习笔记思维导图

总结的MongoDB的学习笔记,基本上包括了MongoDB的方方面面,每个知识点,都有示例代码,有需要的朋友,可以下载下来进一步补充完善。

2018-04-09

KafKaStormRedis

本项目验证了storm1.1.1从kafka2.12-1.0.0消费数据,将统计结果保存到redis中。项目自带kafka生产者testcase。具体用法请看README.md的[Order of execution]部分。集群部署过程也在此文件的reference网页。集群的storm,kafka版本与项目版本要一致,否则会kafka消息出现乱码。

2018-01-31

jvm调优思维脑图

总结了学习jvm调优的知识点,便于大家随时查看,快速串联思维。主要包括:java内存结构、堆内存的构成、堆内存参数调整、垃圾收集算法、垃圾收集器选择、JVM参数、java对象的内存分配过程、Tomcat调优并使用Jmeter评测、参考资料等。希望对大家学习jvm有帮助。

2017-12-25

TProfiler_1.0.1

TProfiler是一个可以在生产环境长期使用的性能分析工具.它同时支持剖析和采样两种方式,记录方法执行的时间和次数,生成方法热点 对象创建热点 线程状态分析等数据,为查找系统性能瓶颈提供数据支持. TProfiler在JVM启动时把时间采集程序注入到字节码中,整个过程无需修改应用源码.运行时会把数据写到日志文件,一般情况下每小时输出的日志小于50M. 业界同类开源产品都不是针对大型Web应用设计的,对性能消耗较大不能长期使用,TProfiler解决了这个问题.目前TProfiler已应用于淘宝的核心Java前端系统.

2017-11-20

mybatis-generator-1.3.3

Code generator for MyBatis and iBATIS. It will generate code for all versions of MyBatis, and versions of iBATIS after version 2.2.0. It will introspect a database table (or many tables) and will generate artifacts that can be used to access the table(s). This lessens the initial nuisance of setting up objects and configuration files to interact with database tables. MBG seeks to make a major impact on the large percentage of database operations that are simple CRUD (Create, Retrieve, Update, Delete).

2016-09-28

Ruby元编程中文版

本书以案例形式循序渐进地介绍了 Ruby 特胡的实用编程技巧(元编程)。通过分析案例、讲解例题、回顾 Ruby 代码库的实现细节, 作者不仅向读者展示了 Ruby 编程的优势和 Ruby 特有的解决问题的方式,更详细列出了发挥其优势的技巧和常用的 Ruby 设计模式。 Ruby 创始人松本行弘作序推荐。

2016-03-02

图片尺寸改变器

绿色免安装,可按文件夹批量处理,可按压缩比例处理,也可以按指定的宽高处理,按宽或高处理...几乎不影响图片的显示质量.几M的数码图片,处理成100K内的图片,显示效果仍然不错.如果上传到网站,有效减轻网站的流量负荷和空间负荷,提高了用户的下载速度,还不影响用户的欣赏效果.

2012-06-30

css3.0中文参考手册.chm

css3.0中文版的参考手册,chm文件查看方便,左侧是树形目录,右侧有一个快速跳转的浮动框,示例里有多个浏览器的显示效果

2009-09-10

Div+CSS布局实例教程.chm

Div+CSS布局实例教程.chm 在网页制作中,有许多的术语,例如:CSS、HTML、DHTML、XHTML等等。在下面的文章中我们将会用到一些有关于HTML的基本知识,而在你学习这篇入门教程之前,请确定你已经具有了一定的HTML基础。下面我们就开始一步一步使用DIV+CSS进行网页布局设计吧。

2009-09-10

空空如也

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

TA关注的人

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