自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

了无牵挂者忘生,心有所爱者忘死

哪有什么岁月静好,只不过有人替你负重前行

原创 IntelliJ IDEA 报错:找不到包或者找不到符号

最近在使用IDEA的时候,突然出现过找不到包或者找不到符号的情况,在确定了自己引用存在的情况下,可以尝试以下几种方式来解决,以下是在开发过程中碰过问题同样解决过的几种办法,在此记录下也分享给大家,希望对各位有帮助。1.利用Maven-Reimport 2.Invalidate and Restart 3.编码统一 4.重新编译点开Project Structu...

2018-03-21 10:47:54 133923 60

原创 Sonar - 都2020年了,你的代码还不规范?
原力计划

Sonar - 都2020年了,你的代码还不规范?写的一手漂亮又飘逸的代码应该是每一个程序员的梦想。不规范、质量低的代码可能短时间内对项目不会有什么影响,但是时间长了对迭代和阅读都会产生一定的阻碍。

2020-05-28 17:02:15 191

原创 JVM - 聊聊调优那些事,调优我们需要注意啥?
原力计划

文章目录JVM - 聊聊调优那些事,调优我们需要注意啥?1.传统项目和互联网项目有什么区别?2.项目如何进行调优?2.1 项目可能出现的常见问题?2.2 回顾MionorGC和FullGC2.3 GC调优(示例1)2.3.1 输出GC日志2.3.2 分析GC日志(GC Easy)2.3.3 分析GC原因,调整参数进行调优2.4 GC调优(示例2)2.4.1 分析原因2.4.2 对症下药3.JVM优化需要注意啥?3.1 让对象留在年轻代3.2 让合适的大对象进入老年代3.3 设置进入老年代的年龄3.4 设置稳

2020-05-12 18:11:58 127

原创 JVM - 工欲善其事必先利其器之虚拟机工具(下)
原力计划

上一章我们介绍了如果使用JDK内置的一些命令,去分析、优化以及帮助我们解决应用程序中的一些问题。确实那些命令虽然使用起来十分简单,但是我们也能感受到其功能的强大。不过由于其采用命令行的特性,在一定的程度上也提升了我们的阅读和使用门槛。

2020-05-01 17:52:42 242

原创 JVM - 工欲善其事必先利其器之虚拟机工具(上)
原力计划

如果小伙伴们从第一章看到现在,那么我相信大家对JVM已经有了一定认识了,但是我们也需要学会武装自己才能够彻底征服JVM,虚拟机工具自然而然就是最好的武器。

2020-04-24 23:03:19 358 1

原创 JVM - 内功修炼之JIT技术和逃逸分析
原力计划

我们大家所了解的传统JVM解析器执行Java程序是先通过`javac`对其进行源码编译然后转为字节码文件,然后再通过解释字节码转为机器指令一条条读取翻译的。显而易见Java编译器经过编译再执行的话,执行速度必然比直接执行要慢很多,而`HotSpot`虚拟机针对这种场景进行了优化,引进了`JIT`即时编译技术。

2020-04-15 19:18:33 90

原创 JVM - 内功修炼之内存分配与回收策略
原力计划

看过前面几篇博客的同学应该已经对JVM以及其垃圾收集算法和垃圾回收器都有了一定的认识,而JVM中核心的自动内存管理其实从本质上主要解决了两个问题:一个是`对象内存分配`,另一个就是`对象内存回收`。接下来我们主要就是针对内存分配以及回收策略进行详细的介绍。

2020-04-11 16:50:49 71

原创 JVM - 内功修炼之垃圾收集器

Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。

2020-01-10 20:19:13 112

原创 JVM - 内功修炼之垃圾回收算法

Java语言有一个显著的特点就是引入了垃圾回收机制,了解C++的同学应该知道,内存管理的问题总是让开发者头痛不已。Java与C++之间存在着一堵高墙,一堵由`内存动态分配`和`垃圾收集机制`所围成的墙,墙外面的人想进来而里面的人却想出去。

2019-11-29 19:55:35 93

原创 JVM - 探索HotSpot虚拟机中的对象

文章目录JVM - 探索HotSpot虚拟机中的对象1. 我们所熟悉的对象是如何创建的?1.1 类加载检查1.2 分配内存JVM - 探索HotSpot虚拟机中的对象1. 我们所熟悉的对象是如何创建的? 在前面的文章中我们已经大概了解了虚拟机的各个结构,这里我们就来详细去探索一下我们所熟知的对象在HotSpot 虚拟机的堆中是如何进行分配、布局和访问的。  我们每天每时每刻都在不停地n...

2019-11-12 17:03:32 88

原创 JVM - 进入Java虚拟机的真实世界

文章目录JVM - 进入Java虚拟机的真实世界1.探索虚拟机的内存区域1.1 运行时数据区JVM - 进入Java虚拟机的真实世界 相信对Java编程有了一定程度了解的同学,多多少少都已经听说过、了解过Java虚拟机。就算你还未开始学习Java编程但已经打算计划去学习,那你也肯定听说过一本书《深入理解Java虚拟机 JVM高级特性与最佳实践 》。在我当时正计划踏入Java这个大家庭的时候,...

2019-10-24 20:38:37 157

原创 排查使用ExecutorService所造成数据丢失问题

文章目录使用ExecutorService所造成数据丢失问题使用ExecutorService所造成数据丢失问题

2019-09-16 17:23:37 581

原创 JMeter - Mysql数据库以及分布式压测

文章目录JMeter - Mysql数据库以及分布式压测1.Mysql数据库压测JMeter - Mysql数据库以及分布式压测1.Mysql数据库压测 之前我们简单介绍了HTTP请求的相关操作,这里我们再介绍一下我们接触比较多的DB数据库的相关测试操作。 我们直接在之前20人线程组测试计划下选择JDBC Requet。 这里我们先不介绍这个界面配置,先在添加好的JDBC Reque...

2019-09-10 12:03:55 56

原创 JMeter - Linux环境压测以及HTML图形化报告

文章目录JMeter - Linux环境压测以及HTML图形化报告1.Linux环境压测1.1 打包部署API服务1.2 下载安装JMeter1.3 CLI命令行模式参数介绍1.4 Linux CLI压测操作1.5 JMeter压测性能优化2.HTML图形化报告2.1 Dashboard2.2 ChartsJMeter - Linux环境压测以及HTML图形化报告1.Linux环境压测1.1...

2019-09-09 16:53:44 674

原创 JMeter - 核心组件以及自定义参数

文章目录JMeter - 核心组件以及自定义参数1. Thread Group线程组和Sample采样器2. Assertion断言2.1 Response Assertion(响应断言)3. Summary Report(聚合报告分析)4. JMX压测脚本JMeter - 核心组件以及自定义参数1. Thread Group线程组和Sample采样器 这两个组件我们在上一篇博客【JMet...

2019-08-28 14:20:56 211

原创 JMeter - 揭开分布式压测的神秘面纱

文章目录JMeter- 揭开分布式压测的面纱1. 常用压测工具对比2. JMeter基本介绍和使用场景2.1 JMeter基本介绍2.2 JMeter使用场景3. Windows环境安装JMeter3.1 下载安装JMeter3.2 JMeter目录简单介绍3.3 JMeter语言切换4. JMeter初体验4.1 快速开发API接口4.2 创建测试计划测试接口JMeter- 揭开分布式压测的面...

2019-08-23 19:35:41 127

原创 Python - 基于共现提取绘制《流浪地球》人物关系(Gephi)

文章目录Python - 基于共现提取绘制《流浪地球》人物关系(Gephi)Python - 基于共现提取绘制《流浪地球》人物关系(Gephi) 前不久看了一部令我为之震撼的电影《流浪地球》,这部电影让我看到了国产科幻影视的曙光,在满怀激动的心情下借着这部电影

2019-08-21 17:08:47 2226 3

原创 Redis - 一个简单的抢红包小项目

文章目录Redis - 一个简单的抢红包小项目1.项目分析Redis - 一个简单的抢红包小项目1.项目分析 抢红包功能在如今已经是一个社交产品不可或缺的功能了,包括微信、支付宝等等各大厂商软件都实现了抢红包的这个功能。实现抢红包的方式有很多种,但其实这也是属于Redis的一个比较常见的应用场景。这里我们就围绕着Redis技术来实现抢红包这个功能。 实现抢红包这个功能,我们就得先分析清楚...

2019-07-28 18:19:22 848 8

原创 Redis - 一个简单的排行榜小项目

文章目录Redis - 一个简单的排行榜小项目1.项目分析2.项目准备3.项目编写4.项目验证5.扩展点(ApplicationRunner/InitializingBean)Redis - 一个简单的排行榜小项目1.项目分析 排行榜功能是一个比较常见的场景,比如我们平时生活中的用户积分排行榜、用户活跃度排行榜、游戏中的战力排行榜等这些都是排行榜的具体表现。这些场景都有几个基本也是共同点,...

2019-07-22 18:57:22 352

原创 Redis - 布隆过滤器

在之前我们提及过布隆过滤器这个概念,回顾一下当时是在了解缓存穿透的时接触到了这个概念。在没有引入布隆过滤器这个概念时,我们可以通过其他的一些途径解决缓存穿透这个问题。例如我们现在需要获取用户数据,参数中包含用户ID,若某个请求中传递了一个我们数据库中不存在的用户ID,那么这个请求无论请求多少次都会穿透缓存命中DB,当然我们可以通过缓存空值去尽量避免这个问题。但是我们还可以通过一种思路去解决,我们在代码中维护一个内存数据结构(List/Set/Map),在项目启动时将数据库中存在的用户ID维护到一个集合中,则

2019-07-19 10:34:18 296

原创 Redis - 缓存持久化原理以及数据过期策略

RDB(Redis DataBase)是将Redis指定的时间间隔内将内存中的数据集快照写入磁盘,也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为`dump.rdb`。Redis在进行数据持久化的过程中,会先将数据写入到一个临时RDB文件中,持久化过程结束后会将这个临时文件替换上次持久化好的文件。通过这种特性我们可以随时来进行备份,因为快照文件总是完整可用的。

2019-07-12 16:13:14 230

原创 Redis - 高可用集群扩展

对于Redis官方提供的cluster模式虽然我们在现在使用起来并不是十分困难,但是有一些思路是值的我们探讨的。我们知道,Redis是从3.x之后官方才开始推出master-cluster集群支持,这项技术的推出并不是无中生有,肯定是在这之前已经有很多场景需要这种技术去支持。其实在3.x之前一些具备一定能力的公司为了应付这样的场景,会自己去实现一套高可用集群的方案。

2019-07-10 19:29:07 69

原创 Redis - 架构演变(主从、哨兵、集群)

文章目录Redis - 架构演变1.单节点模式2.主从架构2.1 主从搭建Redis - 架构演变 由于Redis是基于内存的高性能KV数据库,这些年随时Redis的快速发展,更多的技术开发者将Redis融入自己的实际项目中。为了应对各式各样的业务场景保证数据更加稳定安全,各种高可用架构以及优化方案不断改进,导致Redis的整个架构体系也有了一个演变过程。集群模式是近年来Redis架构不断改...

2019-07-09 18:04:57 282

原创 Redis - 分布式锁实现以及相关问题解决方案

文章目录Redis - 实现分布式锁1.分布式锁是什么?1.1 分布式锁设计目的1.2 分布式锁设计要求1.3 分布式锁设计思路2.分布式锁实现Redis - 实现分布式锁1.分布式锁是什么? 分布式锁是控制分布式系统或不同系统之间共同访问共享资源的一种锁实现。如果不同的系统或同一个系统的不同主机之间共享了某个资源时,往往通过互斥来防止彼此之间的干扰。实现分布式锁的方式有很多,可以通过各种...

2019-07-04 17:01:40 1759 4

原创 Redis - 缓存穿透以及缓存雪崩

当我们使用一项技术时,我们就需要对它有一定的了解,知道我们为什么要去使用它,能够分析使用这项技术所带来的的回报以及我们所需要付出的代价。

2019-06-25 18:02:34 47

原创 Redis - 事务机制

说到事务那就不得不提一下大家都十分熟悉的传统关系型数据库中的事务机制。一个数据库事务通常包含了一系列对数据库的读/写操作。而事务的存在主要包含以下两个目的:1. 当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,防止彼此操作的互相干扰。2. 为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。

2019-06-25 16:53:07 86

原创 Redis - 五种数据类型以及消息发布订阅

想要使用Redis,那对它的数据类型必须了如指掌,它支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。这里我们就来看看这些数据类型是怎样的并且是如何使用的。这里列举的命令指示部分常用命令,完整的大家参考官方文档以及其他资料。

2019-06-24 19:46:56 706

原创 Redis - 走进分布式缓存的世界

Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持丰富的数据结构,如字符串(strings)、散列(hash)、 列表(lists)、 集合(sets)、 有序集合(sorted sets)等。它还支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。发展到目前Redis远远不是一个简单的缓存,它还支持主从模式、读写分离、集群模式等丰富强大的功能。

2019-06-21 15:55:40 76

原创 深入剖析跨域请求问题及对应解决方案

文章目录剖析跨域请求问题及对应解决方法1.什么是跨域请求?2.产生跨域请求的原因?2.1 cross_domain_server 接口服务端ResultData.javaApiController.java2.2 cross_domain_client 调用客户端application.ymlindex.html2.3 分析跨域请求原因3.如何解决跨域请求?3.1 浏览器禁止检测3.2 Jsonp...

2019-04-04 11:50:38 333 4

原创 Spring - 数据库读写分离

文章目录Spring - Mysql数据库读写分离1.读写分离解决方案1.1 应用层解决1.2 中间件解决2.Mysql主从配置2.1 Mysql主从复制原理2.2 Master主库配置2.3 Slave从库配置3.应用层实现读写分离Spring - Mysql数据库读写分离 一般情况下应用程序对数据库操作都是读多写少,造成数据库读取数据时压力比较大,那么读写分离、数据库集群等解决方案就出现...

2019-03-27 16:18:14 254

原创 ElasticSearch - 分词器介绍及中文分词器es-ik安装

文章目录ElasticSearch - Head插件以及Kibana安装ElasticSearch - Head插件以及Kibana安装

2019-03-07 21:59:53 2752

原创 ElasticSearch - Head插件以及Kibana安装

文章目录ElasticSearch - Head插件以及Kibana安装1. ElasticSearch-Head插件安装1.1 ElasticSearch-Head插件下载1.2 ElasticSearch-Head依赖包安装1.3 Gruntfile.js修改1.4 ElasticSearch-Head默认连接地址修改1.5 ElasticSearch跨域访问配置1.6 启动服务2. Kiba...

2019-03-07 16:54:40 618

原创 ElasticSearch - 概述以及搭建

文章目录ElasticSearch - 概述以及搭建1.ElasticSearch概述1.1 ElasticSearch是什么?1.2 ElasticSearch基本概念1.3 RESTfull API1.4 Curl命令2.ElasticSearch搭建2.1 JDK环境安装配置2.2 ElasticSearch下载安装2.3 ElasticSearch配置远程访问ElasticSearch ...

2019-03-07 10:20:35 124

原创 Spring Boot - Actuator服务监控以及打包部署

文章目录Spring Boot - Actuator服务监控以及打包部署1.Actuator服务监控1.1 Actuator端点1.2 集成Actuator1.2.1 引入依赖1.2.2 配置属性2.非Web应用程序开发2.1 手动获取Bean(第一种)2.2实现CommandLineRunner接口(第二种)3.打包(jar/war)3.1 Jar包pom.xml3.2 War包Spring ...

2019-01-23 18:13:00 423

原创 Spring Boot - Thymeleaf模板简介以及集成

文章目录Spring Boot - 集成Thymeleaf模板Spring Boot - 集成Thymeleaf模板

2019-01-22 16:42:48 376

原创 Spring Boot - 集成Dubbo分布式服务

文章目录Spring Boot - 集成DubboSpring Boot - 集成Dubbo说到分布式服务框架,国内开发同学可能很快就能联想到Spring Cloud和Dubbo,从搜索数据可以看到Dubbo因为阿里的原因在我们国内还是比较火热的,国外更多的可能还是使用Spring Cloud更多,随着Dubbo正式进入Apache孵化器,相信Dubbo在整个开发行业也会得到不错的支持。...

2019-01-09 15:15:34 343

原创 Spring Boot - 集成Redis以及使用Apache AbTest进行压力测试

文章目录Spring Boot - 集成RedisSpring Boot - 集成Redis

2019-01-07 19:39:26 569

原创 Spring Boot - 集成Mybatis以及多数据源配置

文章目录Spring Boot - 集成Mybatis1.传统方式集成Mybatis1.1 pom依赖引入pom.xml1.2 配置Mybatis相关配置application.propertiesapplication-qa.properties1.3 使用BlogDictionaryMapper .java(第一种)SpringbootMybatisApplication .java(第二种)...

2019-01-04 17:51:18 512

原创 Spring Boot - 集成Web开发(自定义Servlet、Filter、Interceptor)

文章目录Spring Boot - 集成Web开发1.Json接口开发application.propertiesUser.javaUserController .javaSpringbootBasicApplication.java运行结果2.集成使用Jspapplication.propertiesViewController.javaindex.jsp3.自定义Servlet3.1 使用Se...

2019-01-03 16:52:48 291

原创 Spring Boot - 配置文件

1.Spring Boot 开发初体验在上一篇文章中,我们已经学会如何去快速构建一个Spring Boot应用程序,并且知道如何去让它运行起来。在了解Spring Boot配置文件之前我们先做一个简单的代码编写跑启我们的程序,我们先在com.springboot包下建一个controller目录用来存放controller文件,然后编写一个简单的接口TestController.java...

2018-12-29 18:15:56 90

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