13 程序猿DD

永辉云创 - 架构师

我要认证

《Spring Cloud微服务实战》作者,spring4all社区发起人

等级
TA的排名 4k+

2020 Java开发者数据分析:中国已成为 Java 第一大国

最近知名开发工具供应商Jetbrains在Java 25周年之际,对开发群体做了一次有意思的数据分析。 全文内容可见:https://blog.jetbrains.com/idea/2020/09/a-picture-of-java-in-2020/通过这次的分析,得出了非常多意思的结论,接下来我们一起来快速看看,都有哪些有意思的现象出现!有多少Java开发者?专业Java开发人数约 520万算上主要使用其他语言但也使用Java的开发人员约680万Java开发者都在哪里?亚洲最多,大

2020-09-30 09:56:17

居然仅用浏览器,就完成了Spring Boot应用的开发与部署!

最近有幸试用了一下阿里云的一个新产品:云开发平台,体验一把全新的开发模式!虽然中间也碰到了一些问题,但整体的体验透露着未来感,因为整个过程都不需要使用我们最常用的IDEA,仅依靠浏览器就把一个Spring Boot干上线了!啥是云开发平台?云开发平台(https://workbench.aliyun.com),是阿里云面向广大开发者提供的云上研发工作平台,助力研发团队实现工作的在线化(团队在线、环境在线、代码在线、协同在线)以及研发模式Serverless化,帮助研发团队实现对行业架构经验及架构服务的高

2020-09-15 08:59:58

Serverless 初体验:快速开发与部署一个Hello World(Java版)

昨天被阿里云的这个酷炫大屏吸引了!我等85后开发者居然这么少!挺好奇到底什么鬼东西都是90、95后在玩?就深入看了一下。这是一个关于Serverless的体验活动,Serverless在国内一直都处于不温不火的状态,所以很多开发者其实都不太了解Serverless到底是啥!如果你也有这样的好奇,那么可以跟我一样来体验一下,简单的写个Hello World,有个最直观的感受这个充满未来感产品吧!P.S. 参加活动,加入钉钉群还能每天抽奖一次,有机会赢取AirPods、高达PG模型(我喜欢的)、Che

2020-09-11 10:15:47

Spring Boot 2.x基础教程:使用集中式缓存Redis

之前我们介绍了两种进程内缓存的用法,包括Spring Boot默认使用的ConcurrentMap缓存以及缓存框架EhCache。虽然EhCache已经能够适用很多应用场景,但是由于EhCache是进程内的缓存框架,在集群模式下时,各应用服务器之间的缓存都是独立的,因此在不同服务器的进程间会存在缓存不一致的情况。即使EhCache提供了集群环境下的缓存同步策略,但是同步依然是需要一定的时间,短暂的缓存不一致依然存在。在一些要求高一致性(任何数据变化都能及时的被查询到)的系统和应用中,就不能再使用EhCac

2020-08-13 19:45:10

说说Spring中的 @RestController 和 @Controller

Spring MVC执行流程已是JAVA面试中老生常谈的问题,相信各位小伙伴也是信手拈来。今天我们来谈谈另一个面试中必会必知的问题: @RestController和@Controller的区别?Spring MVC中的REST实现@Controller + @ResponseBody注解@RestController注解Spring MVC 与 REST基于注解的MVC框架简化了创建RESTful web服务的过程。传统的Spring MVC控制器和RESTful web服务控制器之间的关键

2020-08-05 10:36:30

一个Java方法能使用多少个参数?

我最近给我fork的项目QuickTheories增加了一个接口:@FunctionalInterfacepublic interface QuadFunction<A, B, C, D, E> { E apply(A a, B b, C c, D d);}这让非常好奇一个方法能够有多少个类型参数呢?据我所知,Java的语言规范并没有提到这个问题。1关于在实现上这个阈值的定义,我有两个猜测:编译器会强制一个可预测的阈值,例如255或者65535。由于实现细节的原因,编译器的

2020-08-03 07:50:53

你要知道的21道软件设计 + 面向对象的面试题

不管大家参加任何的编程面试,都逃不过关于系统设计和软件设计的问题。如果你想做的更好,你可以试试准备这个话题。以前我分享过我的一个关于编程面试问题的清单,也分享了一些关于系统设计的问题,但好多人比较感兴趣,会提问更多的问题。因为系统设计比较难,需要多加练习才能更好地掌握。当我在偶然在Educative上看到如何应对系统设计面试的课程时,我就从亲朋好友那里收集了许多关于系统设计面试问题,然后做成了清单分享给你们。这将是一个很好的资源。这不仅给你提供许多关于系统设计面试问题,还可以给你们提供解决问题的知识与工

2020-07-30 11:37:32

Merging 和 Rebasing 的大比拼

虽然 merging 和 rebasing 在 git 中相似时,但他们提供不同的功能。为了让你的历史尽可能的干净和完整,你应该知道以下几点。git rebase 命令已 神奇的 Git voodoo 而闻名,初学者应该远离它,但它实际上可以让开发团队在使用时更加轻松。在本章中,我们将 把 git rebase 和与之有关联的 git merge 命令相比较 ,并在典型的 Git 工作流 中重新定位,识别其所有潜在的机会。概述首先要明白关于 git rebase 的事情是它像 git

2020-07-28 10:32:04

数据源面试三连杀:是啥?为什么要用?怎么用?

一、概述在日常项目中肯定需要用到数据源,那么数据源是什么,当遇到分布式事务的场景时数据源与非分布式事务场景的数据源又有什么不同呢,在J2EE中分布式事务又是如何实现的呢,希望本文可以解答您的疑惑。二、 数据源2.1 数据源是什么通俗来讲,数据源是存储数据的地方。例如,数据库是数据源,其他系统也可以是数据源。在J2EE里,数据源是代表物理数据存储系统的实际Java对象。通过这些对象,J2EE应用可以获取到数据库的JDBC连接。2.2 数据源的设计从UML图上可以看出,CommonDaraSour

2020-07-24 11:10:50

尝鲜刚发布的 SpringFox 3.0.0,以前造的轮子可以不用了...

最近 SpringFox 3.0.0 发布了,距离上一次大版本2.9.2足足有2年多时间了。可能看到这个名字,很多读者会有点陌生。但是,只要给大家看一下这两个依赖,你就知道了!<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>3.0.0</version>

2020-07-18 09:37:18

Spring Boot 2.x基础教程:使用EhCache缓存集群

上一篇我们介绍了在Spring Boot中整合EhCache的方法。既然用了ehcache,我们自然要说说它的一些高级功能,不然我们用默认的ConcurrentHashMap就好了。本篇不具体介绍EhCache缓存如何落文件、如何配置各种过期参数等常规细节配置,这部分内容留给读者自己学习,如果您不知道如何搞,可以看看这里的官方文档。那么我们今天具体讲什么呢?先思考一个场景,当我们使用了EhCache,在缓存过期之前可以有效的减少对数据库的访问,但是通常我们将应用部署在生产环境的时候,为了实现应用的高可用(

2020-07-17 09:36:18

Spring Boot 2.x基础教程:EhCache缓存的使用

上一篇我们学会了如何使用Spring Boot使用进程内缓存在加速数据访问。可能大家会问,那我们在Spring Boot中到底使用了什么缓存呢?在Spring Boot中通过@EnableCaching注解自动化配置合适的缓存管理器(CacheManager),Spring Boot根据下面的顺序去侦测缓存提供者:GenericJCache (JSR-107) (EhCache 3, Hazelcast, Infinispan, and others)EhCache 2.xHazelcastI

2020-07-16 11:07:38

Spring Boot 2.x基础教程:进程内缓存的使用与Cache注解详解

随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一。Spring 3开始提供了强大的基于注解的缓存支持,可以通过注解配置方式低侵入的给原有Spring应用增加缓存功能,提高数据访问性能。在Spring Boot中对于缓存的支持,提供了一系列的自动化配置,使我们可以非常方便的使用缓存。下面我们通过一个简单的例子来展示,我们是如何给一个既有应用增加缓存功能的。快速入门下面我们将使用使用Spring Da

2020-07-14 20:35:24

为什么加了@Transactional注解,事务没有回滚?

在昨天的《事务管理入门》一文发布之后,有读者联系说根据文章尝试,加了@Transactional注解之后,事务并没有回滚。经过一顿沟通排查之后,找到了原因,在此记录一下,给后面如果碰到类似问题的童鞋一个参考。问题原因在前文的描述中,我漏了一个细节,其实在示例代码中,与之前拿的基础例子在配置中有一个关键属性没有提到,就是下面这个配置:spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect这里的spring.jpa.d

2020-07-13 09:02:42

Spring Boot 2.x基础教程:事务管理入门

什么是事务?我们在开发企业应用时,通常业务人员的一个操作实际上是对数据库读写的多步操作的结合。由于数据操作在顺序执行的过程中,任何一步操作都有可能发生异常,异常会导致后续操作无法完成,此时由于业务逻辑并未正确的完成,之前成功操作的数据并不可靠,如果要让这个业务正确的执行下去,通常有实现方式:记录失败的位置,问题修复之后,从上一次执行失败的位置开始继续执行后面要做的业务逻辑在执行失败的时候,回退本次执行的所有过程,让操作恢复到原始状态,带问题修复之后,重新执行原来的业务逻辑事务就是针对上述方式2的

2020-07-10 11:53:47

Redis 创始人宣布退居二线:我写代码只是为了表达自己!

前几日,Redis 创始人 Salvatore Sanfilippo 在他的个人博客(http://antirez.com/)上宣布将结束自己的 Redis 之旅!博客全文如下,原文地址:http://antirez.com/news/133Salvatore Sanfilippo 的退出,并不是对 Redis 本身的失望,而是由于日复一日的开源维护工作,让其感到疲惫与厌倦。对于 Redis 的后续维护工作将交给他的几位同事负责,而自己准备退居二线,后续将成为 Redis 实验室的一员,为 Redis

2020-07-04 10:22:47

Spring Boot 2.x基础教程:MyBatis的多数据源配置

前两天,我们已经介绍了关于JdbcTemplate的多数据源配置以及Spring Data JPA的多数据源配置,接下来具体说说使用MyBatis时候的多数据源场景该如何配置。添加多数据源的配置先在Spring Boot的配置文件application.properties中设置两个你要链接的数据库配置,比如这样:spring.datasource.primary.jdbc-url=jdbc:mysql://localhost:3306/test1spring.datasource.primary.

2020-06-26 09:53:57

Spring Boot 2.x基础教程:Spring Data JPA的多数据源配置

上一篇我们介绍了在使用JdbcTemplate来做数据访问时候的多数据源配置实现。接下来我们继续学习如何在使用Spring Data JPA的时候,完成多数据源的配置和使用。添加多数据源的配置先在Spring Boot的配置文件application.properties中设置两个你要链接的数据库配置,比如这样:spring.datasource.primary.jdbc-url=jdbc:mysql://localhost:3306/test1spring.datasource.primary.u

2020-06-23 11:42:57

Spring Boot 2.x基础教程:JdbcTemplate的多数据源配置

在本系列之前的教程中,我们已经介绍了如何使用目前最常用的三种数据访问方式:JdbcTemplateSpring Data JPAMyBatis下面我们将分三篇来介绍在这三种数据访问方式之下,当我们需要多个数据源的时候,该如何使用的配置说明。添加多数据源的配置先在Spring Boot的配置文件application.properties中设置两个你要链接的数据库配置,比如这样:spring.datasource.primary.jdbc-url=jdbc:mysql://localhost

2020-06-21 21:11:26

用了那么多年的 Master 分支或因种族歧视而成为历史?

最近真的是活久见了...不知道你是否也有碰到之前Fork过的国外开源项目,最近突然崩了,原因居然是好多项目都把master分支改为了main分支!更可怕的是修改原因居然是涉及种族歧视。用了那么多年的master,居然是种族歧视?到底发生了什么?运动的发起这次的 master 改 main 的倡导运动发起自知名技术博主 Scott Hanselman。6月8日 Scott 发文呼吁将你的Git默认分支从master修改为main:Scott认为:IETF中所指出的Master-Slave是具有不恰当的

2020-06-16 09:44:51

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 图书勋章
    图书勋章
    CSDN技术图书作者专属勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 原力突破
    原力突破
    参与《原力计划【第二季】— 打卡挑战》的文章入选【打卡挑战周榜】的博主,即可获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 博客之星-前十名
    博客之星-前十名
    授予每年博客之星评选结果第4-10名的用户