自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Felix_阳的博客

让学习变成一种习惯

  • 博客(34)
  • 收藏
  • 关注

转载 MySQL8.0设置远程访问权限

1.登录MySQLmysql -u root -p1输入您的密码2.选择 mysql 数据库use mysql;1因为 mysql 数据库中存储了用户信息的 user 表。3.在 mysql 数据库的 user 表中查看当前 root 用户的相关信息select host, user, authentication_string, plugin from us...

2018-08-31 18:42:02 1171

原创 阿里巴巴代码规约插件使用

 阿里巴巴基于《阿里巴巴Java开发手册》内容,研发了一套自动化的IDE检测插件(IDEA、Eclipse)。该插件在扫描代码后,将不符合规约的代码按Blocker/Critical/Major三个等级显示在下方,甚至在IDEA上,还基于Inspection机制提供了实时检测功能,编写代码的同时也能快速发现问题所在。下面,记录了idea上如何使用此插件的步骤:1.idea安装步骤File-...

2018-08-28 14:37:25 499

原创 CENTOS6.X下mysql5.7.11带boost和不带boost的源码安装

Mysql5.7版本更新后有很多变化,比如json等,连安装都有变化,他安装必须要BOOST库,不过mysql的官网源码有带boost库的源码和不带boost库的源码两种,因此有两种安装方式,其实都是一样的,仅仅是不带boost库源码的需要单独安装boost,还有后续文章percona-xtrabackup需要用到boost库下载软件到usr/local目录下:cd /usr/loc...

2018-08-23 17:01:19 298

原创 【必收藏】不得不看的Spring相关资源整合

Spring是于2003年兴起的一个轻量级的Java开发框架,致力于简化Java EE 的企业级应用开发。而Spring Boot是由Pivotal团队提供的全新框架,Spring Boot简化了基于Spring的应用开发,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid applicati...

2018-08-22 14:04:17 798

原创 想要快速上手 Spring Boot?看这些教程就足够了!

本期为大家精选了 码云 上优秀的 Spring Boot 语言开源项目,涵盖了企业级系统框架、文件文档系统、秒杀系统、微服务化系统、后台管理系统等,希望能够给大家带来一点帮助:) 1、项目名称:分布式敏捷开发系统架构  项目简介:基于 Spring + SpringMVC + Mybatis 分布式敏捷开发系统架构,提供整套公共微服务服务模块:集中权限管理(单点登录)、内容...

2018-08-22 09:40:45 1437

原创 常用物联网应用协议汇总

本文罗列下市面上物联网通信中的各类消息技术-即工作在网络通信的应用层协议,总结下它们各自特点、特定的物联网应用场景等。这类协议都直接用于在无线或有线网络环境下的设备之间、人与设备之间的通信,物联网开发者都会与这些协议打交道。物联网联接的问题空间上图为物联网联接的问题空间,其中物联网的通信环境有Ethernet, Wi-Fi, RFID, NFC(近距离无线通信), Zigbee, ...

2018-08-20 14:00:24 756

原创 JMX超详细解读

一、JMX的定义    JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。这是官方文档上的定义,我看过很多次也无法很好的理解。我个人的理解是JMX让程序有被管理的功能,例如你开发一个WEB网站,它是在24小时不间断运行,那么你肯定会对网站进行监控,如...

2018-08-17 11:28:25 632

原创 JVM性能监控工具-Jvisualvm

用法:Jvisualvm是JDK自带的一款性能分析工具使用方式:1.配置好JDK环境变量1.本地JVM监控略2.远程JVM监控 用JMX对Resin内存状态进行监控 ,可以看到本地所有可监控的JVM实例。原理就是通过添加一些JMX相关的JVM启动参数来控制JMX的行为,例如端口,验证信息等。Resin3.1.X版本的配置文件中有一些设置JVM a...

2018-08-17 10:51:32 948

原创 JVM性能分析工具之--MAT

本文结合网络上比较优秀的文章,及自己的实践,做了一些修改和补充前言性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(一)中介绍了内存泄漏的前因后果。在本文中,将介绍MAT如何根据heapdump分析泄漏根源。由于测试范例可能过于简单,很容易找出问题,但我期待借此举一反三。一开始不得不说说ClassLoader,本质上,它的工作就是把磁盘上的类文件读...

2018-08-17 09:54:50 2526

原创 Spring事务管理(详解+实例)

写这篇博客之前我首先读了《Spring in action》,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下:Spring事务机制详解 Spring事务配置的五种方式 Spring中的事务管理实例详解1 初步理解理解事务之前,先讲一个你日常生活中最常干的事:取钱。比如你去ATM机取1000块钱,大体...

2018-08-15 16:04:35 157

原创 Spring中涉及的设计模式总结

Spring中涉及的设计模式总结1.简单工厂(非23种设计模式中的一种)实现方式:BeanFactory。 Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。 实质:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 实现原理: bean容器的启动阶段: ...

2018-08-15 14:43:43 2878 1

原创 Golang 学习资源

Golang 学习资源: 《Go 语言圣经(中文版)》  - 书籍http://shinley.com/index.html 《学习 Go 语言》 - 书籍http://www.mikespook.com/learning-go/ 《Go 入门指南》 - 书籍https://github.com/Unknwon/the-way-to-go_ZH_CN 《...

2018-08-15 12:01:18 335

原创 Go 语言开发必须知道的 17 种利器

本期为大家精选了码云上优秀的 Go 语言开源项目,涵盖了文件服务系统、Web 开发框架、游戏服务器开发框架、API 工具、验证码、数据库、爬虫工具、端口转发工具等各个方面,希望能够给大家带来一点帮助:)1、项目名称:分布式文件服务项目简介:golang 基于 gridFs 的分布式文件服务,其支持:POST GET 上传 图片大小控制 文件下载,秒传,转正处理等。项目地址:htt...

2018-08-15 11:33:21 8230

原创 微服务之熔断、降级、限流

伴随着微服务架构被宣传得如火如荼,一些概念也被推到了我们面前(管你接受不接受),其实大多数概念以前就有,但很少被提的这么频繁(现在好像不提及都不好意思交流了)。想起有人总结的一句话,微服务架构的特点就是:“一解释就懂,一问就不知,一讨论就吵架”。服务熔断在介绍熔断机制之前,我们需要了解微服务的雪崩效应。在微服务架构中,微服务是完成一个单一的业务功能,这样做的好处是可以做到解耦,每个微服务可...

2018-08-15 11:11:21 28162

原创 接口限流算法:漏桶算法&令牌桶算法

工作中对外提供的API 接口设计都要考虑限流,如果不考虑限流,会成系统的连锁反应,轻者响应缓慢,重者系统宕机,整个业务线崩溃,如何应对这种情况呢,我们可以对请求进行引流或者直接拒绝等操作,保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机。在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流缓存:缓存的目的是提升系统访问速度和增大系统处理容量 降级:降级是当服务器压力...

2018-08-13 17:20:25 1988 1

原创 JUC 之ThreadPoolExecutor实现原理分析

ThreadPoolExecutor工作流程JDK1.5中引入了线程池,合理地利用线程池能有效的提高程序的运行效率,但不当的使用线程池也会带来致命的危害。作为使用最多的ThreadPoolExecutor,很有必要深入理解的其源码与实现原理。先看一下ThreadPoolExecutor是如何工作的,暂时不看源码,这样会先有一个比较直观的印象有利于后面深入分析源码。既然是线程池那么提交任务后...

2018-08-10 14:17:18 805

原创 Maven常用命令大全与pom文件讲解

一、Maven常用命令 1.1、Maven 参数-D 传入属性参数 -P 使用pom中指定的配置 -e 显示maven运行出错的信息 -o 离线执行命令,即不去远程仓库更新包 -X 显示maven允许的debug信息 -U 强制去远程参考更新snapshot包 例如 mvn install -Dmaven.test.skip=true -Poracle 其他参数可以通过mvn...

2018-08-07 16:56:25 207

原创 Docker 从零开始制作基础镜像[centos] http://www.oschina.net/news/62897/docker-h

http://www.oschina.net/news/62897/docker-hub-contains-high-risk-vulnerabilities 这里有个统计,docker官方和个人发布的镜像由于版本等各种原因,漏洞较多,那我们如何自己从头开始做个定制的镜像呢? 对,找官方文档 http://docs.docker.com/articles/baseimages/,这里说明的...

2018-08-07 08:51:25 306

原创 Java8内存模型—永久代(PermGen)和元空间(Metaspace)

一、JVM 内存模型  根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。  1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法出口等信息。栈的大小可以固定也可以动态扩展。当栈调用深度大于JVM所允许的范围,会抛...

2018-08-04 20:34:42 429

原创 JVM常见问题及解答

原文出处: 老码农1、你知道哪些或者你们线上使⽤什么GC策略?它有什么优势,适⽤于什么场景?参考 触发JVM进行Full GC的情况及应对策略。2、Java类加载器包括⼏种?它们之间的⽗⼦关系是怎么样的?双亲委派机制是什么意思?有什么好处?启动Bootstrap类加载、扩展Extension类加载、系统System类加载。父子关系如下:启动类加载器 ,由C++ 实现,没有父...

2018-08-04 20:22:13 259

原创 触发JVM进行Full GC的情况及应对策略

堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示:从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Full GC是对整个堆来说的,在最近几个版本的JDK里默认包括了对永生带即方法区的回收(JDK8中无永生带了),出现Full GC的时候经常伴随至少一次的Minor GC,但...

2018-08-04 20:20:03 196

原创 深入学习 Java 线程池

本文由 ImportNew - 一杯哈希不加盐 翻译自 stackify。欢迎加入翻译小组。转载请见文末要求。线程池是多线程编程中的核心概念,简单来说就是一组可以执行任务的空闲线程。首先,我们了解一下多线程框架模型,明白为什么需要线程池。线程是在一个进程中可以执行一系列指令的执行环境,或称运行程序。多线程编程指的是用多个线程并行执行多个任务。当然,JVM 对多线程有良好的支持。...

2018-08-04 20:18:02 276

原创 秒懂Redis集群设计原理

Redis集群设计包括2部分:哈希Slot和节点主从,本篇博文通过3张图来搞明白Redis的集群设计。 节点主从:主从设计不算什么新鲜玩意,在数据库中我们也经常用主从来做读写分离,直接上图: 图上能看得到的信息:1, 只有1个Master,可以有N个slaver,而且Slaver也可以有自己的Slaver,由于这种主从的关系决定他们是在配置阶段就要指定他们的上下级关系,...

2018-08-03 16:08:22 302

原创 Raft协议详解

raft协议小结1、raft协议是什么? 分布式系统之于单机系统,优势之一就是有更好的容错性。比如,一台机器上的磁盘损坏,数据丢失,可以从另一台机器上的磁盘恢复(分布式系统会对数据做备份) 比如,集群中某些机器宕机,整个集群还可以对外提供服务  这是如何做到的?比较容易的一个想法就是备份(backup)。一个系统的工作模是:接受客户端的command,系统进行处理,将处理的结果返回...

2018-08-03 15:02:07 899

原创 10分钟了解TiDB

 由于目前的项目把mysql换成了TiDb,所以特意来了解下tidb。其实也不能说换,由于tidb和mysql几乎完全兼容,所以我们的程序没有任何改动就完成了数据库从mysql到TiDb的转换,TiDB 是一个分布式 NewSQL (SQL 、 NoSQL 和 NewSQL 的优缺点比较 )数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一...

2018-08-03 14:50:17 4125 1

原创 java 常用十种设计模式示例归纳

文章说明一个Demo,集合常用的十种设计模式,每个模式使用易被人们接受的案例讲述,按模式分包,使用设计模式前后对比,界面显示定义讲解,让你更深刻的了解每种设计模式。 大部分案例来自张鸿洋的博客。如有错误欢迎指正,如有侵权,请联系我删除。项目结构包结构.png设计模式分为三种类型,共23种:创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。 结构型模式:适...

2018-08-02 13:46:07 285

原创 Zookeeper原理深入学习

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee...

2018-08-02 11:51:29 234

原创 谈谈工作中的设计模式

前言记得刚毕业的时候参加了一次校招面试,之前表现的很好,最后时面试官问我懂不懂设计模式,我说不懂,然后就进去了;后面又参加了某大公司的校招,开始表现还行,后面面试官问我懂不懂设计模式,我说懂(上次后补习了下),最后把工厂模式的代码背写到了纸上,然后就没有然后了......现在回想起来当时有点傻有点天真,没有几十万的代码量,没有一定的经验总结,居然敢说懂设计模式,这不是找抽么?经过这几年...

2018-08-02 11:35:35 292

原创 Zookeeper原理架构

Zookeeper到底是什么!?学一个东西,不搞明白他是什么东西,哪还有心情学啊!! 首先,Zookeeper是Apache的一个java项目,属于Hadoop系统,扮演管理员的角色。 然后看到官网那些专有名词,实在理解不了。在Zookeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configur...

2018-08-02 10:53:33 162

原创 JAVA多线程之线程间的通信方式

一,介绍本总结我对于JAVA多线程中线程之间的通信方式的理解,主要以代码结合文字的方式来讨论线程间的通信,故摘抄了书中的一些示例代码。 二,线程间的通信方式①同步这里讲的同步是指多个线程通过synchronized关键字这种方式来实现线程间的通信。参考示例:public class MyObject { synchronized public void ...

2018-08-02 09:51:09 143

原创 使用Docker部署RabbitMQ集群

使用Docker部署RabbitMQ集群概述本文重点介绍的Docker的使用,以及如何部署RabbitMQ集群,最基础的Docker安装,本文不做过多的描述,读者可以自行度娘。Windows10上Docker的安装因为本人用的是Windows系统,所有推荐一个不错的安装文章,详见:https://blog.csdn.net/xiaoping0915/article/details/...

2018-08-01 10:20:52 2014 1

原创 RabbitMQ集群整合SpringBoot2.x

RabbitMQ相信大家已经再熟悉不过了,作为业界四大主流消息中间件之一(Apache RocketMQ、Apache Kafka、Apache ActiveMQ、RabbitMQ),它具有非常好的性能和可靠性的集群模式,不仅仅在各大互联网大厂中广泛使用(比如同程艺龙、美团点评等),而且在互联网金融行业也常常被作为首选!SpringBoot作为互联网开发利器已经不需要我再过多介绍什么,接下来我们一...

2018-08-01 09:50:52 6996 6

原创 深入浅出 Kubernetes 1.11 之 device-plugins

导读:记得大学刚毕业那年看了侯俊杰的《深入浅出MFC》,就对深入浅出这四个字特别偏好,并且成为了自己对技术的要求标准——对于技术的理解要足够的深刻以至于可以用很浅显的道理给别人讲明白。以下内容为个人见解,如有雷同,纯属巧合,如有错误,烦请指正。作者:周光明本文基于kubernetes1.11版本,后续会根据kubernetes版本更新及时更新文档,所有代码引用为了简洁都去掉了日志打印相关的...

2018-08-01 09:47:42 1166

原创 近几个月Github上最热门的Java项目一览

近几个月Github上最热门的Java项目一览1. java-design-patterns(Star:36k) Github地址:https://github.com/iluwatar/java-design-patterns介绍:设计模式是形式化的最佳实践,程序员可以在设计应用程序或系统时使用它来解决常见问题。设计模式可以通过提供经过验证的经过验证的开发范例来加速开...

2018-08-01 09:42:08 530 1

空空如也

空空如也

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

TA关注的人

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