自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(238)
  • 收藏
  • 关注

原创 一文学会Java的交互式编程环境jshell

a ==> 1b ==> 2c ==> 3...> }| 已创建 方法 sum(int,int)c ==> 3...>...>...> }...> }| 已创建 类 Calculate$9 ==> 1$10 ==> 2$11 ==> 3当然了,这种场景其实就已经比较复杂了,这里其实搭配Java 16中新增的record来实现的话,会简单实用一些。

2022-09-30 18:18:40 372 1

原创 Java中如何快捷的创建不可变集合

在Java 9中又新增了一些API来帮助便捷的创建不可变集合,以减少代码复杂度。

2022-09-28 18:22:21 462

原创 Spring Boot整合Swagger报错:“this.condition“ is null

前段时间看到群里有吐槽swagger整合问题,当时没仔细看,总以为是姿势不对。

2022-09-27 18:17:53 759

原创 Spring Boot 2.x基础教程:配置文件详解

我们除了可以在Spring Boot的配置文件中设置各个Starter模块中预定义的配置属性,也可以在配置文件中定义一些我们需要的自定义属性。比如在然后,在应用中我们可以通过@Value@Component// 省略getter和setter}@Value一种是我们上面介绍的PlaceHolder方式,格式为${...},大括号内为PlaceHolder另外还可以使用SpEL表达式(Spring Expression Language), 格式为#{...},大括号内为SpEL表达式。

2022-09-25 18:23:47 268

原创 RabbitMQ延迟消息的延迟极限是多少?

之前在写Spring Cloud Stream专题内容的时候,特地介绍了一下。最近正好因为开发碰到了使用过程中发现,延迟消息没有效果,消息直接就被消费了的情况。因此就继续深入研究了一下问题原因,在此记录下来,给碰到类似问题的童鞋们参考。

2022-09-23 18:19:53 1599

原创 001. shiro动态权限管理

因为使用了shiro动态权限管理,所以重写了ShiroFilterFactoryBean中的方法,特别是setter方法,因为重写的setter方法中需要去数据中查询权限,但是连接数据库的url错误,导致无法连接数据库;url错误: 本地mysql数据库的地址可以使用localhost或者127.0.0.1,但是不能使用本机的ip地址,如果连接其他电脑上的数据库可以使用ip地址;

2022-09-22 18:13:08 162

原创 mysql datetime、date、time、timestamp区别

date :“yyyy-mm-dd”格式表示的日期值 time :“hh:mm:ss”格式表示的时间值 datetime: “yyyy-mm-dd hh:mm:ss”格式 timestamp: “yyyymmddhhmmss”格式表示的时间戳值 year: “yyyy”格式的年份值。datetime数据类型所占用的存储空间为8个字节,其中前4个字节用于存储1900年1月1日以前或以后的天数,数值分正负,正数表示在此日期之后的日期,负数表示在此日期之前的日期;Date类型的内部编码为12。

2022-09-21 18:18:26 1348

原创 MySQL中datetime、date和timestamp的区别

DATETIME、DATE 和 TIMESTAMP 类型是相似的。本篇描述了它们的特性以及它们的相似点与不同点。DATETIME:类型可用于需要同时包含日期和时间信息的值。MySQL 以 'YYYY-MM-DD HH:MM:SS'格式检索与显示 DATETIME 类型。支持的范围是 '1000-01-01 00:00:00'到 '9999-12-31 23:59:59'。(“支持”的含义是,尽管更早的值可能工作,但不能保证他们均可以。)DATE:类型可用于需要一个日期值而不需要时间部分时。

2022-09-20 18:33:02 142

原创 localhost,127.0.0.1 和 本机IP 三者的区别

1、localhost 就是一个域名,域名指向 127.0.0.1 ,两者是一样的。2、本机 IP,可以理解为本机有三块网卡,一块网卡叫做 loopback(虚拟网卡),另外一块网卡叫做 ethernet (有线网卡),另外一块网卡叫做 wlan(3、本机 IP 是真实网卡的 IP,具体来说有线无线各有一个,而 127.0.0.1 是那块叫做 loopback 的虚拟网卡的 IP。,win+R打开运行,输入cmd打开。,输入ipconfig回车。4、本机ip分两种:本地。

2022-09-16 18:24:09 1719

原创 MySQL中datetime、date和timestamp的区别

TIMESTAMP DEFAULT ‘yyyy-mm-dd hh:mm:ss’ ON UPDATE CURRENT_TIMESTAMP 在创建新记录的时候把这个字段设置为给定值,以后修改时刷新它。1、TIMESTAMP列不为空时,默认值可以为“0000-00-00 00:00:00”,但不能为null。时间范围:[ '1000-01-01 00:00:00'到'9999-12-31 23:59:59']时间范围:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59']

2022-09-15 18:16:26 351

原创 001. mysql5.7.19版本在忘记密码情况下修改root密码

在网上找了好多在忘记密码的情况下修改root用户密码,但是都失败了,然后搜索了一下mysql5.7.19版本修改root用户密码,最后修改成功;昨天,修改了一下mysql的root的密码,但是忘记了,今天启动项目时,项目无法启动,确定是连接不上数据库;

2022-09-14 18:28:02 144

原创 001. shiro动态权限管理:

因为使用了shiro动态权限管理,所以重写了ShiroFilterFactoryBean中的方法,特别是setter方法,因为重写的setter方法中需要去数据中查询权限,但是连接数据库的url错误,导致无法连接数据库;url错误: 本地mysql数据库的地址可以使用localhost或者127.0.0.1,但是不能使用本机的ip地址,如果连接其他电脑上的数据库可以使用ip地址;

2022-09-13 18:18:36 303

原创 001. 蓝海和红海

相反,蓝海预示着今天尚不存在行业,也就是未知的市场空间,没有被竞争污染。在蓝海中,需求是被创造出来的,而不是打拼出来的。在蓝海中,谈不上竞争的概念,因为游戏的规则还没有制定。蓝海就是一种类比,用来描述那种更宽、更深的尚未开发的潜在市场。它是尚未被染指的、蕴含着巨大的、深深的利润的“蓝色”海洋。蓝海战略提供了一种摆脱红海血拼的系统途径,通过重建市场边界创造了公司和顾客价值的飞跃,从而变得与竞争不沾边。红海是今天现存的产业,也就是已知的市场空间,在红海中,行业边界已经被限定和接受,竞争游戏的规则也是明确的。

2022-09-09 18:19:05 170

原创 001. Linux下Tomcat的启动、关闭、杀死进程

tail -f logs/catalina.out #看tomcat的控制台输出;例如 pe -ef |grep tomcat 输出如下。kill -9 5144 就可以彻底杀死tomcat。bin/shutdown.sh #停止tomcat。bin/startup.sh #启动tomcat。kill -9 pid #pid 为相应的进程号。则 5144 就为进程号 pid = 5144。#看是否已经有tomcat在运行了。#如果有,用kill;

2022-09-08 18:23:51 677

原创 发布app项目和更新app版本

打开极光推送官网,登录,通过极光推送,发送通知;通知:亲爱的用户,因系统升级暂停服务,预计 18:20 恢复,给您带来不便,敬请谅解!

2022-09-07 18:18:51 385

原创 十年内自学编程

尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili为什么大家都这么着急?走进任何一家书店,你就会看到24小时内自学Java除了提供在几天或几个小时内教授C、nSQL、Ruby、算法等的无休止的变体之外。亚马逊高级搜索标题:教书,自学,小时数,自2000年起找到512本这样的书。在前十名中,有九本是编程书(另一本是关于簿记的)。类似的结果来自于将“自学”改为“学习”,或将“小时”替换为“天”。结论是

2022-09-06 18:26:38 246

原创 什么是java

9.跨平台,java的源代码编译成结构中立的中间格式,这种格式与机器无关,只要在安装有JVM(java虚拟机)的电脑上,都能运行这种与机器无关的中间文件;java一次编译,到处运行;11.java支持多线程,简单理解,如果是单核CPU,那么会通过时间片轮转的方式,多线程执行程序,如果是多核CPU,那么就可以理解为,两个或多个线程同时运行。10.对于不同的操作系统,会有不同的java虚拟机,这也就决定了java的可移植性;4.java是完全面向对象的语言,支持 继承,重载,多态等面向对象的特性;

2022-09-05 18:23:33 73

原创 java编程、语言学习,入门必看(下

System.out.println("第"+(i+1)+"名的学生成绩为"+scores[i]);//数组长度为多少,该值就为多少。continue:如果continue在内层循环中,表示结束内层循环的本次循环,开始内层循环的。break:如果break在内层循环中,表示结束内层循环的整个循环,开始执行内层循环外面。3.栈:用来存储较小的数据,离访问位置比较近,比如:int,double,short。.replaceAll(表示替换前的字符,表示替换后的字符),返回一个String的数据。

2022-09-04 18:24:28 81

原创 java编程、语言学习,入门必看(上)

写在public class的前面。1.每个程序都只有一个入口,也就是只有一个main方法,只有一个程序可以打开QQ,其他的地方都打开不了!&&(shift+7):and符号,并且的意思,同时满足连接前后条件才为true,有一个不满足为。||(shirt+):或者的意思,只要前后两个条件一个为true,整个表达式就为true,同时为。2、选中新建的工程,选中src文件夹,点击右键new,新建一个class,新建时选中。(shirt+1):非的意思,就是取反,如果表达式为true,使用非就为false。

2022-09-02 18:20:14 129

原创 idea-java 商店管理系统

Main内包含 initial、startMenu。步骤二:创建类Main1。步骤三:创建类Main2。步骤四:创建类main3。步骤一:创建类Main。

2022-09-01 18:18:16 542

原创 idea-java 图书管理系统

Tushuxitong03中含有initial、startMenu。步骤四:创建测试类Tushuxitong4。步骤二:创建类Tushuxitong2。步骤三:创建类Tushuxitong3。步骤一:创建类Tushuxitong。

2022-08-31 18:16:30 1926

原创 java5、java6、java7、java8、java9新特性

你可以用过简单的annotaion将你的API发布成.NET交互的web services. Mustang 添加了新的解析和 XML 在 Java object-mapping APIs中, 之前只在Java EE平台实现或者Java Web Services Pack中提供.引用泛型之后,允许指定集合里元素的类型,免去了强制类型转换,并且能在编译时刻进行类型检查的好处。Java中某些资源是需要手动关闭的,如InputStream,Writes,Sockets,Sql classes等。...

2022-08-30 18:20:18 111

原创 Idea工作中常用插件

快速输入System.out.println 键入sout再按Tab键(对应Eclipse中的syso)注意:通过Ctrl+X的方式不会有效果,只有Ctrl+Y或全选后按键盘回退或Delete删除时才会有效果。运行java程序的时候启动visualvm,方便查看jvm的情况 比如堆内存大小的分配。快速生成普通for-each循环,键入iter再按Tab键或者回车。快速生成普通for循环,键入fori再按Tab键或者回车。快速输入main函数,键入psvm再按Tab键或者回车。黑色主题及避免中文乱码。...

2022-08-29 18:14:58 1021

原创 探秘Java并发模块:容器与工具类

不过,ConcurrentHashMap中也存在对整个容器加锁的情况,比如容器要扩容,需要重新计算所有元素的散列值, 就需要获得全部的分段锁。是信号量的实现,用来控制的特定资源的操作数,也就是一组虚拟的资源许可:得到资源的同时获得信号量,使用完资源时释放信号量,如果当前没有可用信号量就得等待。甚至同步容器类的迭代器在设计时就没有考虑并发修改的问题,而是采用快速失败(最后展示一个并发容器类的使用实例:计算结果缓存,即将已经计算完的结果保存起来,如果调用有缓存的计算结果,则直接返回,如果没有缓存再进行计算。..

2022-08-25 18:11:38 114

原创 Java高级上锁机制:显式锁 ReentrantLock

它和同步()方法的内置锁不同,这是一种。显式锁作为一种高级的上锁工作, 是同步方法的一种补充和扩展,用来实现同步代码块无法完成的功能。

2022-08-24 18:08:23 179

原创 Java并发思考-导读&总结篇

该篇作为本文集的导读目录,将现有9篇关于Java并发的文章的核心内容整理并列出。这9篇文章大体上将Java并发的体系简述了一遍,对我个人是一次知识上的梳理,对大家也希望是一种阅读上的一种帮助。祝各位阅读愉快。

2022-08-23 18:21:07 92

原创 MySQL实战技巧-1:Join的使用技巧和优化

join用于多表中字段之间的联系,在数据库的(数据操作语言,即各种增删改查操作)中有着重要的作用。

2022-08-22 18:21:36 224

原创 JVM内存区域与多线程

Java并发的机制的背后是Java虚拟机(JVM)的工作机制,本文从几个关于并发和多线程的疑问开始,引出Java内存区域的介绍,希望能帮助大家更好的理解Java并发机制。

2022-08-21 18:10:47 75

原创 OpenID Connect Federation 入门指南

针对跨域的身份鉴别请求的需求,提出了自己的解决方案——。和基于SAML框架的eduGAIN不同,OIDC联盟还只停留在技术方案阶段,并没有一个实体团体来维护和推进身份联盟的建设。本文是基于OpenID-Connect的进阶内容。关于OpenID-Connect的详尽内容,请参看。

2022-08-19 18:18:25 170

原创 当Java遇到Redis:Jedis实战入门

Redis是NoSQL数据库的代表之一,那什么是NoSQL?NoSQL = not only SQL,即非关系型数据库。异常快:Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。支持丰富的数据类型:Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。操作具有原子性。...

2022-08-18 18:18:43 258

原创 APM体系概述

在服务各节点彼此调用的时候,记录并传递一个应用级别的标记,这个标记可以用来关联各个服务节点之间的关系。比如两个节点之间使用 HTTP 作为请求协议的话,那么这些标记就会被加入到 HTTP 头中。因此如何传递这些标记是与节点之间使用的通讯协议有关的,有些协议就很容易加入这样的内容,但有些协议就相对困难甚至不可能,因此这一点就直接决定了实现分布式追踪系统的难度。...

2022-08-17 18:13:41 512

原创 消息推送标准协议:MQTT

随着物联网(Internet of Things,IoT)的兴起,机器之间(Machine-to-Machine,M2M)的大规模信息沟通成为重要的课堂,之前HTTP的请求/回答(Request/Response)模式不再合适,取而代之的是发布/订阅(Publish/Subscribe)模式。这就是轻量级、可扩展的MQTT(Message Queuing Telemetry Transport)可以施展拳脚的舞台。...

2022-08-16 18:12:33 206

原创 基于Prometheus生态的集群化监控指标收集应用系统

随着云计算和微服务等技术的兴起,企业应用日趋集群化和复杂化:服务应用不在是一个一个的“信息孤岛”,而是相互依赖和调用,形成应用群。复杂的服务应用依赖关系带来强大的技术红利的同时,也带来了性能监控上的挑战,微服务架构下,服务按照不同的维度进行拆分,一次请求请求往往需要涉及到多个服务。是一套开源的系统监控报警框架。作为新一代的云原生监控系统,其对传统监控系统的测试和告警模型进行了彻底的颠覆,形成了基于中央化的规则计算、统一分析和告警的新模型,是当前使用最为广泛的开源指标收集和监控的解决方案。...

2022-08-14 17:53:41 197

原创 基于事件驱动的任务分布式调度消费方案

面向服务驱动框架(Service-Oriented Architecture)是以接口为媒介,实现调用接口者和接口实现者之间的解耦,但是这种解耦程度不是很高,如果接口发生变化,双方代码都需要变动,而事件驱动则是调用者和被调用者互相不知道对方,两者只和中间消息队列耦合。事件与事件通知不同,后者是指系统发送的消息或通知,用于告知系统的其他部分有相应的事件发生。:发布/订阅模型是基于事件流订阅的消息传递基础架构,对于该模型而言,在事件发生或公布之后,系统会将相应的消息发送给需要通知的订阅用户;...

2022-08-13 18:14:21 749

原创 图数据库Neo4j技术原理探秘

相反,一个非原生图数据库引擎使用(全局)索引连接各个节点,如下图所示。原生图处理的拥护者认为免索引邻接至关重要,因为它提供快速、高效的图遍历。本文假设读者应该对节点通过命名的和有方向的联系关联、节点和联系都作为属性的容器这些概念有所熟悉。虽然图模型在图数据库的各种表现基本上是一致的,但在数据库引擎的实现方式缺失百花齐放。对于很多不同的引擎体系结构,如果图数据库存在。在免索引邻接的数据库引擎中,每个节点都会维护其对相邻节点的引用。这意味着查询时间与图的整体规模无关,它仅和所搜索图的数量成正比。...

2022-08-12 18:33:10 248

原创 数据看板的动态截图推送方案

5.4 基于无头(headless)浏览器内核执行截图脚本:截图脚本首先会将5.1中生产的用户身份数字签名提交给指定的登录接口,签名的时效性和正确性通过之后,当前会话便进入数字签名对应用户的身份的登录态;目前现有BI产品中看板推送的主要技术方案为利用浏览器内核对数据看板的URL(Uniform Resource Locator,统一资源定位器)进行页面渲染再截图的处理流程,这样可以保证用户接收到看板截图和其在浏览器页面上看到的内容与格式一致,具有所见即所得的高保真性。...

2022-08-11 18:15:31 236

原创 BI与ClickHouse:探索式BI的OLAP技术演进之路

,让用户拥有站在企业全局鸟瞰一切数据的视角,BI(商业智能)系统的概念在20世纪90年代被提出,即一种统一面向数据仓库,专注于提供数据分析、决策类功能的系统与解决方案。其次,使用“多元化”,即使用门槛降低,不需要IT人员的深度参与,用户直接通过自助的形式,通过简单拖拽、搜索就能得到自己想要的分析结果,而不用关心底层具体的实现方式和数据源类型。如果说互联网和SaaS化这波技术普惠为现代BI系统带来了新的思路与契机,那么背后的技术创新则保障了其思想的落地。但是传统BI系统的实际的应用效果一直是差强人意。...

2022-08-10 18:15:58 457

原创 图数据Neo4j导论

学过数据结构这么课程的同学脑海中应该或多或少有图的概念。形式上,图是顶点(Vertices)和边(Edge)的集合,用以表现节点间的接关联关系;在图数据库的建模中用节点表示实体,用边表现关系。在我们的现实生活中,图表示的关系可以说是无处不在。Gartner定义了商业世界中5个最重要的图——社交、意向、消费、兴趣和移动,并认为运用这些图的能力是一个项”可持续的竞争优势“...

2022-08-09 18:12:57 144

原创 Git Message 编写指南

我们在日常使用Git提交代码时经常会写 commint message,否则就不允许提交。一般来说,commit message 应该清晰明了,说明本次提交的目的。目前,社区有多种 Commit message 的写法规范。本文介绍规范,这是目前使用最广的写法,比较合理和系统化,并且有配套的工具。格式化的Commit message 有什么好处?提供更多的历史信息,方便快速浏览。可以过滤某些commit(比如文档改动),便于快速查找信息。可以直接从commit生成Change log。...

2022-08-08 18:13:55 155

原创 Kubernetes核心技术剖析和落地经验

云原生(Cloud Native)是一种构建和运行应用程序的方法,是一套技术体系和方法论。Cloud Native是一个组合词,Cloud+Native。Cloud是适应范围为云平台,Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。...

2022-08-07 18:10:18 89

空空如也

空空如也

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

TA关注的人

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