随笔分类 -  Java基础

JDK相关
摘要:内容 作为微服务架构系统的入口,毫无疑问,Zuul的并发性能直接决定了整个系统的并发性能。本文结合前几篇文章的内容,在云服务器中部署了包含Eureka Server,Zuul等组件的1.0版本的微服务架构,并进行单点部署Zuul的压力测试,对其并发性能一探究竟。 环境 说明 转载请说明出处:Spri 阅读全文
posted @ 2018-12-07 08:52 比脚更长的路 阅读(7993) 评论(3) 推荐(5)
摘要:内容 作为微服务架构系统的入口,毫无疑问,Zuul的并发性能直接决定了整个系统的并发性能。本文结合前几篇文章的内容,在云服务器中部署了包含Eureka Server,Zuul等组件的1.0版本的微服务架构,并进行单点部署Zuul的压力测试,对其并发性能一探究竟。 版本 ​ JVM监测工具:JVisu 阅读全文
posted @ 2018-12-06 14:12 比脚更长的路 阅读(4475) 评论(0) 推荐(3)
摘要:内容 笔者在阿里云服务器中配置Java项目的JMX远程连接,在确认JVM参数、防火墙、阿里云安全组设置都无误后,使用JConsole等工具连接JVM时仍出现JMX连接失败的问题。笔者将该问题的解决方法记录成文,供网友遇到同样问题时能快速的处理。 版本 操作系统: CentOS 7.2 64位 JDK 阅读全文
posted @ 2018-11-26 09:48 比脚更长的路 阅读(1995) 评论(1) 推荐(0)
摘要:内容 本文通过生活中的实际场景解释单体应用和微服务应用的关系,以及SpringCloud中各组件的功能和含义。 适合人群 Java开发人员 说明 转载请说明出处:SpringCloud从入门到进阶(一)——懂生活就懂微服务 GitHub仓库地址:https://github.com/leo-zz/S 阅读全文
posted @ 2018-11-09 18:46 比脚更长的路 阅读(9382) 评论(0) 推荐(3)
摘要:内容 从实际项目需求出发,以最快的速度实现SpringBoot下Logback的配置。然后先后实践测试了SpringBoot内置的基础配置(SizeBasedTriggeringPolicy)、按时间划分日志文件的配置(TimeBasedRollingPolicy) 、同时按时间和大小划分日志文件的 阅读全文
posted @ 2018-11-01 16:39 比脚更长的路 阅读(4122) 评论(1) 推荐(2)
摘要:内容 先介绍单机版Redis镜像在Docker下的安装,然后在容器的Redis Shell中进行常用类型String、List、Set、Hash、SortedSet的增删改查操作测试,最后再结合SpringBoot项目进行简单的测试。后续会推出哨兵模式(Sentinel,一主二从三哨兵)和集群模式( 阅读全文
posted @ 2018-10-26 20:07 比脚更长的路 阅读(2211) 评论(0) 推荐(0)
摘要:内容 本文演示了Git在Windows系统下的安装,在GitHub上新建仓库,以及将本地项目源码上传到仓库中的操作。 版本 ​操作系统:Windows 10 ​Git version: 2.16.1-64-bit 说明 转载请说明出处:Linux入门实践笔记(四)——Win下安装配置Git以及Git 阅读全文
posted @ 2018-10-26 19:39 比脚更长的路 阅读(506) 评论(0) 推荐(0)
摘要:内容 单体应用中各个模块拆分成独立的系统,逐步演变出微服务架构。为了屏蔽微服务内部的复杂调用,引入了Zuul作为微服务调用的统一入口。本文介绍了Zuul的常用配置和使用,并通过简单的演示进行了测试。 版本 IDE:IDEA 2017.2.2 x64 JDK:1.8.0_171 manve:3.3.3 阅读全文
posted @ 2018-10-24 11:14 比脚更长的路 阅读(2503) 评论(1) 推荐(0)
摘要:内容 SpringBoot整合SpringCloud的Eureka、Zuul等组件,快速实现简单易懂且具有服务熔断、负载均衡的分布式架构1.0,体验微服务的魅力。 版本 IDE:IDEA 2017.2.2 x64 JDK:1.8.0_171 manve:3.3.3 SpringBoot:1.5.9. 阅读全文
posted @ 2018-10-24 11:03 比脚更长的路 阅读(2859) 评论(2) 推荐(1)
摘要:内容 本文主要介绍了Spring Boot项目打成jar包后,如何在centos上前台、后台启动和关闭,以及多jar包通过编写简单脚本批量启动。 版本 操作系统: CentOS 7.2 64位 JDK:1.8.0_181 适合人群 linux运维人员,Java开发人员 说明 转载请说明出处:Linu 阅读全文
posted @ 2018-10-24 10:19 比脚更长的路 阅读(2032) 评论(0) 推荐(0)
摘要:内容 服务发现是微服务架构中一个关键的原则,Eureka提供了服务注册和服务发现的功能,并且各注册中心之间会互相拷贝所注册的微服务的信息,这一机制增强了Eureka对网络分区的容错能力。本篇文章讲解了在一台主机上运行三个Eureka Server实例,实现Eureka的伪分布式部署。 版本 IDE: 阅读全文
posted @ 2018-10-24 10:18 比脚更长的路 阅读(4628) 评论(1) 推荐(0)
摘要:内容 解压tar安装包的方式,在阿里云服务器中安装JDK,然后运行Spring Boot项目。 目录 一、准备 1.1检查当前服务器是否安装有JDK 1.2若显示如下信息,则表示已经安装了JDK,一些版本默认安装有OpenJDK 1.3 OpenJDK是通过rpm进行安装的,也需要使用rpm进行删除 阅读全文
posted @ 2018-10-11 14:45 比脚更长的路 阅读(2111) 评论(0) 推荐(0)
摘要:内容 本文对JDK1.7下使用segmentShift和segmentMask求解ConcurrentHashMap键值对在Segment[]中的下标值进行了探究和论证。 适合人群 ​ Java进阶 说明 转载请注明出处,尊重笔者的劳动成果。 推荐阅读 探究HashMap线性不安全(二)——链表成环 阅读全文
posted @ 2018-10-08 21:19 比脚更长的路 阅读(3015) 评论(0) 推荐(0)
摘要:内容 网上很多资料都详细地讲解了HashMap底层的实现,但是讲到HashMap的并发操作不是线性安全时,往往一笔带过:在多个线程并发扩容时,会在执行transfer()方法转移键值对时,造成链表成环,导致程序在执行get操作时形成死循环。 ​ 对于没有研究过该过程的童鞋,很难费解这句话的含义。下面 阅读全文
posted @ 2018-09-29 23:53 比脚更长的路 阅读(1130) 评论(0) 推荐(0)
摘要:内容 ​ 网上很多资料都详细地讲解了HashMap底层的实现,但是讲到HashMap的并发操作不是线性安全时,往往一笔带过:在多个线程并发扩容时,会在执行transfer()方法转移键值对时,造成链表成环,导致程序在执行get操作时形成死循环。 ​ 对于没有研究过该过程的童鞋,很难费解这句话的含义。 阅读全文
posted @ 2018-09-29 23:48 比脚更长的路 阅读(7729) 评论(1) 推荐(2)
摘要:内容 ​ 网上很多资料都详细地讲解了HashMap底层的实现,但是讲到HashMap的并发操作不是线性安全时,往往一笔带过:在多个线程并发扩容时,会在执行transfer()方法转移键值对时,造成链表成环,导致程序在执行get操作时形成死循环。 ​ 对于没有研究过该过程的童鞋,很难费解这句话的含义。 阅读全文
posted @ 2018-09-29 23:36 比脚更长的路 阅读(1125) 评论(0) 推荐(0)