4 Java技术剑

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 5k+

GitHub标星17K,超火的SpringBoot +Vue实战项目,文档视频贼全

项目摘要vhr 是一个基于 SpringBoot+Vue 技术栈开发的前后端分离项目,项目使用 SpringBoot2.1.8 来开发,集成了当前企业级开发中众多的热门技术点,如消息中间件、Redis 缓存、SpringBoot+Vue+ElementUI 技术栈等等。技术选型核心框架:SpringBoot2.1.8 安全管理:Spring Security 持久层框架:MyBatis 缓存:Redis 数据库:MySQL8 消息队列:RabbitMQ 即时通信:WebSocket

2020-07-11 19:13:54

Spring Cloud 2020 版本重大变革,更好的命名方式

Spring Cloud 版本重大变革,变更了版本号的命名方式。从 Spring Cloud 2020.0.0-M1 开始,Spring Cloud 废除了这种英国伦敦地铁站的命名方式,而使用了全新的 "日历化" 版本命名方式。官宣如下:https://spring.io/blog/2020/04/17/spring-cloud-2020-0-0-m1-released什么是日历化版本?英文名称:Calendar Versioning日历化版本不是基于任意的数字,而是基.

2020-07-11 14:42:58

Spring Cloud微服务Sentinel+Apollo限流、熔断实战

在Spring Cloud微服务体系中,由于限流熔断组件Hystrix开源版本不在维护,因此国内不少有类似需求的公司已经将眼光转向阿里开源的Sentinel框架。而以下要介绍的正是作者最近两个月的真实项目实践过程,这中间被不少网络Demo示例级别水文误导过,为了以正视听特将实践过程加以总结,希望能够帮到有类似需要的朋友!(PS:此文有点长,看下概念部分后可以点击关注+收藏,以备需要)推荐学习不就一个SpringBoot么,还想阻止我转行?(阿里大牛带你深度解读SpringBoot源码,从入门到入.

2020-07-10 14:35:04

用了SpringBoot 2.3.0 这个新特性,从此构建Docker镜像贼快

背景在我们实际生产容器化部署过程中,往往会遇到 Docker 镜像很大,部署发布很慢的情况影响 docker 镜像大小的因素,主要有以下三个方面:基础镜像的大小 。尽量选择 aphine 作为基础镜像 减少操作系统内置软件 Dockerfile 指令层数。 这就要求我们优化 Dockerfile 能合并在一行的尽量合并等 应用 jar 的大小。这是今天要分享的重点内容helloworld 镜像我们先来基于 spring boot 2.3.0 构建一个最简单的 web helloworl

2020-07-09 15:34:19

Spring知识点总结!已整理成142页离线文档(源码笔记+思维导图)

写在前面由于Spring家族的东西很多,一次性写完也不太现实。所以这一次先更新Spring【最核心】的知识点:AOP和IOC无论是入门还是面试,理解AOP和IOC都是非常重要的。在面试的时候,我没怎么被问过MyBatis/Hibernate/Struts2这样的框架,而Spring就经常被问到。本次PDF共有【142】页,涉及到的内容有:IOC和AOP的全面讲解 Spring事务详解和相关问题 Spring IOC/AOP相关面试题Spring AOP/IOC源码笔记这.

2020-07-09 15:32:06

微服务权限解决方案,Cloud Gateway+Oauth2实现统一认证和鉴权

最近发现了一个很好的微服务权限解决方案,可以通过认证服务进行统一认证,然后通过网关来统一校验认证和鉴权。此方案为目前最新方案,仅支持Spring Boot 2.2.0、Spring Cloud Hoxton 以上版本,本文将详细介绍该方案的实现,希望对大家有所帮助!前置知识我们将采用Nacos作为注册中心,Gateway作为网关,使用nimbus-jose-jwtJWT库操作JWT令牌应用架构我们理想的解决方案应该是这样的,认证服务负责认证,网关负责校验认证和鉴权,其他API服务负.

2020-07-09 15:29:11

可以秒杀全场的SpringCloud微服务电商实战项目,文档贼全

很多程序员每项技术单独拿出来有可能很厉害,例如:springcloud、springboot、redis、nginx、mysql、rabbitMq等,但是普遍缺乏将所有的这些技术整合到一起,从前端到后端,从开发到部署上线,从每个知识点到整体的设计。本次分享不是分享项目而是教你如何开发一个项目细节流程。教程介绍项目技术栈基于springBoot2.x、springCloud采用前后端分离的架构;利用FastDFS作为分布式文件存储系统,Canal实现数据同步,监控数据变化;Elasticsearc

2020-07-08 15:03:35

使用 IDEA 几分钟就重构了同事800 行“又臭又长“ 的类!真香

最近在对已有项目进行扩展的时候,发现要改动的一个类它长766 行,开放了近 40 个 public 接口,我流着泪把它给改完了。为了防止这样的惨剧再次发生在我的身上,我觉得有必要写一篇博客来让广大程序猿同胞知道代码重构的重要性“如果你身边有一个类写上千行的猿,一定要把此文转给 ta实际项目中,真的不建议类过长以及职责过多,非常不友好!!!另外,Guide 在经历了几个项目之后,发现大部分情况下一个类一般是不会太长的,除非是这个类职责太多,再或者说自己没有抽取相应的逻辑/工具类方法。.

2020-07-08 14:44:25

老大让我整理下公司内部mysql使用规范,分享给大家

最近涉及数据库相关操作较多,公司现有规范也不是太全面,就根据网上各路大神的相关规范,整理了一些自用的规范用法,万望指正。数据库环境dev: 开发环境开发可读写,可修改表结构。开发人员可以修改表结构,可以随意修改其中的数据但是需要保证不影响其他开发同事。test: 测试环境开发可读写,开发人员可以通过工具修改表结构。online: 线上环境开发人员不允许直接在线上环境进行数据库操作,如果需要操作必须找DBA进行操作并进行相应记录,禁止进行压力测试。重点的问题,各个环境的mysq

2020-07-08 14:41:43

阿里开源那个牛逼带闪电的问题排查工具竟然不会用?最佳实践来了

入门步骤安装https://arthas.gitee.io/install-detail.html上述命令会下载启动脚本文件 as.sh 到当前目录,执行方式:curl-Lhttps://alibaba.github.io/arthas/install.sh|shas.sh 启动 :curl-skhttps://arthas.gitee.io/arthas-boot.jar-o~/.arthas-boot.jar&&echo"al...

2020-07-08 14:40:18

一个优秀的程序员,不仅要会编写程序,更要会编写高质量的程序

前言Java是目前应用最为广泛的软件开发平台之一。随着Java以及Java社区的不断壮大,Java也早已不再是简简单单的一门计算机语言了,它更是一个平台、一种文化、一个社区。作为一个平台,JVM虚拟机扮演着举足轻重的作用。除了Java语言,任何一种能够被编译成字节码的计算机语言都属于Java这个平台。Groovy、Scala、JRuby等都是Java平台的一个部分,它们依赖于JVM虚拟机,同时,Java平台也因为它们变得更加丰富多彩。作为一种文化,Java几乎成为了“开源”的代名词。在Java程

2020-07-07 14:32:03

大哥,Redis 6.0 除了多线程,别忘了这个牛逼特性

Redis 6.0的新特性也是在一步步的讨论和优化中确定的。很多的特性已经在之前的RC等版本中介绍过了。但是正式GA版中也在一些新的变化: SSL ACL: 更好,命令支持 RESP3 Client side caching:重新设计 Threaded I/O Diskless replication on replicas Cluster support in Redis-benchmark and improved redis-c

2020-07-07 14:30:46

听说你的JWT库用起来特别扭,推荐这款贼好用的

以前一直使用的是jjwt这个JWT库,虽然小巧够用, 但对JWT的一些细节封装的不是很好。最近发现了一个更好用的JWT库nimbus-jose-jwt,简单易用,API非常易于理解,对称加密和非对称加密算法都支持,推荐给大家!简介nimbus-jose-jwt是最受欢迎的JWT开源库,基于Apache 2.0开源协议,支持所有标准的签名(JWS)和加密(JWE)算法。JWT概念关系这里我们需要了解下JWT、JWS、JWE三者之间的关系,其实JWT(JSON Web Token)指的是一种.

2020-07-07 14:28:43

牛皮了!7000字MySQL学习笔记,从入到放弃

MySQL数据库简介MySQL近两年一直稳居第二,随时有可能超过Oracle计晋升为第一名,因为MySQL的性能一直在被优化,同时安全机制也是逐渐成熟,更重要的是开源免费的。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特...

2020-07-06 19:53:11

牛皮了,头一次见有Java大牛架构师把TCP/IP协议解释的这么明白

前言不管面试 Java 、C/C++、Python 等开发岗位, TCP 的知识点可以说是的必问的了。任 TCP 虐我千百遍,我仍待 TCP 如初恋。遥想LZ当年校招时常因 TCP 面试题被刷,真是又爱又恨….过去不会没关系,今天就让我们来消除这份恐惧,微笑着勇敢的面对它吧!TCP/IP协议是什么?TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构,分别是应用层、传

2020-07-06 15:23:45

MySQL最全整理(面试题+笔记+导图),面试大厂不再被MySql难倒

前言作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的。对于求职者来说,MySQL又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。实际上,MySQL并不难,今天这份最全的MySQL总结,助你向大厂“开炮”,面试不再被MySQL难倒。注意:关于MySQL的内容整理,包括了面试题、学习笔记、使用文档以及Xmind思维图几个部分,需要高清完整版《MySql学习资源大礼包》的朋友请转发+关注,然后私信回复 “2020” 获得免费领取方式

2020-07-04 15:37:28

什么时候线程不安全?怎样做到线程安全?怎么扩展线程安全的类?

当多个线程去访问某个类时,如果类会表现出我们预期出现的行为,那么可以称这个类是线程安全的。什么时候会出现线程不安全?操作并非原子。多个线程执行某段代码,如果这段代码产生的结果受不同线程之间的执行时序影响,而产生非预期的结果,即发生了静态条件,就会出现线程不安全;常见场景:count++。它本身包含三个操作,读取、修改、写入,多线程时,由于线程执行的时序不同,有可能导致两个线程执行后 count 只加了 1,而原有的目标确实希望每次执行都加 1; 单例。多个线程可能同时执行到instance

2020-07-04 15:32:08

硬核干货!Redis 分布式集群部署实战

原理:Redis集群采用一致性哈希槽的方式将集群中每个主节点都分配一定的哈希槽,对写入的数据进行哈希后分配到某个主节点进行存储。 集群使用公式(CRC16 key)& 16384计算键key数据那个槽。 16384个slot均匀分布在各个节点上。 集群中每个主节点将承担一部分槽点的维护,而槽点中存储着数据,每个主节点都有至少一个从节点用于高可用。推荐学习:阿里P8架构师用450分钟时间让你精通Redis,面试再也不怕被问Redis!节点通信方式:开启一个端口 设置的端口号+100

2020-07-03 14:38:17

线上项目出BUG没法调试?推荐这款阿里开源的诊断神器

线上项目遇到问题无法调试,线下又无法重现,难道只能加日志再重新发布么?有了这款神器,既可以线上调试,又可以实现热修复,推荐给大家!Arthas 简介Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。它采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。安装为了还原一个真实的线上环境,我们将通过Arthas来对Docker容器中的Java程序进行诊断。使用arthas-boot,下载对应jar包,下载地址:https://al.

2020-07-03 14:36:16

阿里P8大牛的建议,工作1-5年的Java工程师如何让自己变得更值钱

今天这篇文章主要想跟大家分享:工作 1-5 年的 Java 工程师们,如何变得更值钱?如果你现在已经是一个 Java 工程师,但是经验积累的还不够,那这个阶段就是你成长极快的时候。前提是,你认同我之前经常说那句话:从你入行那一刻起,你就要不停地学习。对于 Java 工程师来说,想在业务能力上更进一步、让自己更值钱,最大的捷径就是用正确的方法来学习,好的方法能让你事半功倍。我面试过多人,之前也在大厂待过,深知一个道理:作为一个程序员,你的知识体系,和企业的用人需求,是不一样的。J

2020-07-03 14:35:25

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。