程序员
文章平均质量分 84
老程不秃
这个作者很懒,什么都没留下…
展开
-
杀疯了,GitHub疯传2022Java面试八股文解析+大厂面试攻略
本攻略提供了⾮常详细的知识点内涵:各互联网大厂面经、Java基础、MyBatis、ZooKeeper、分布式、多线程、Elasticsearch、、Redis、MySQL、Spring、Spring Boot、Spring Cloud、Kafka等技术栈面试题。建议可以从头看是看⼀遍,如果基础不错的话也可以挑⾃⼰需要的章节查看。看的过程中⾃⼰要多思考,碰到不懂的地⽅,⾃⼰记得要勤搜索,需要记忆的地⽅也不要吝啬⾃⼰的脑⼦!(如需面试笔记原文档见文末)4.1 MySQL4.1.2 什么是MySQL?原创 2022-11-08 16:32:19 · 224 阅读 · 0 评论 -
在for循环List中删除元素~
for循环可以删除集合元素吗,往往我们得到的答案有时候就是不可以,安全起见,要迭代器,包括我在阿里的开发规范里也写了这么一句话, 不要在 foreach 循环里进行元素的 remove / add 操作。remove 元素请使用 iterator 方式,如果并发操作,需要对 iterator 对象加锁当然,他说的可以是怕某些人对下面的我的方法的微操有不注意的地方,所以不如一开始就说不可以。依然记得刚来第三天写个接口我就for循环内删除元素,当时很沙雕,恰好又被代码走查看到了,尴尬的我挖了个洞将.原创 2022-04-30 15:06:42 · 4921 阅读 · 0 评论 -
HUAWEI内网最新发布了一份452页网络协议手册,GitHub一夜霸榜
网络协议网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。网络协议作为当下久经不衰的话题,如果你经常看GitHub,开源中国等较大的程序员网站就可以发现 相关于网络协议的博文非常之多!想要学习网络协议就绕不开它的组成要素:语义。语义是解释控制信息每个部分的意义。它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应。 语法。语法是用户数据与控制信息的结构与格式,以及数据出现的顺序。 时序。时序是对事件发生顺序的详细说明。(也可称为“同步”)。人们形象地把这三个要原创 2022-02-15 14:00:00 · 8746 阅读 · 11 评论 -
【一键生成代码】从vue到java再到groovy
一、简介我们在平时开发业务代码时,必然涉及到大量的拷贝工作,比如新创建的表,要实现增删改查,如果没有代码生成器,那么是很痛苦的。好在mybatis就提供了逆向工程提高我们的编码效率,在后面的mybatis-plus对其进行了封装,更加简化了代码生成额流程。那么想不想要一条可以在页面ui操作的代码生成器呢?比如说从数据库结构的groovy文件,到java代码,甚至到前端vue的基础增删改查界面?本文使用mybatis-plus-generator提供的能力,结合velocity模板引擎,实现原创 2022-01-21 15:07:20 · 2929 阅读 · 0 评论 -
Java依赖冲突高效解决之道
一 概述由于阿里妈妈联盟团队负责业务的特殊性,系统有庞大的对外依赖,依赖集团六七十个团队服务及N多工具组件,通过此文和大家分享一下我们积累的一些复杂依赖有效治理的经验,除了简单技术技巧的总结外,也会探讨一些关于这方面架构的思考,希望此文能系统彻底的解决java依赖冲突对大家的困扰。二 依赖冲突产生的本质原因要解决依赖冲突,首先要理解一下java依赖冲突产生的本质原因。图1以上图为例,目前阿里大部分java工程都是maven工程,此类工程从开发到上线要经历以下两...原创 2022-01-14 15:52:31 · 533 阅读 · 0 评论 -
看完这篇 Linux 权限后,通透了
我们在使用 Linux 的过程中,或多或少都会遇到一些关于使用者和群组的问题,比如最常见的你想要在某个路径下执行某个指令,会经常出现这个错误提示 。permission denied复制代码反正我大概率见到这个错误都是在使用 FTP 传输文件的时候,等了半天传输百分比还是零,我说网络这么慢么?怎么都不传输呢?其实我不知道,这是由于权限问题所致。我一般的修复方式是直接赋予 777 权限,或者直接使用 su 管理员登录。。。。。。大家可能不太知道我说的是什么,也有一些大佬可能觉得我这种方..原创 2021-12-31 16:26:59 · 116 阅读 · 0 评论 -
背事故?分享 6 种常见的 Go 致命错误场景
有一次事故现场,在紧急恢复后,他正在排查代码,查了好一会。我回头一看,这错误提醒很明显就是致命错误,较好定位。但此时,他竟然在查 panic-recover 是不是哪里漏了,我表示大受震惊...今天就由煎鱼给大家分享一下错误类型有哪几种,又在什么场景下会触发。错误类型error第一种是 Go 中最标准的 error 错误,其真身是一个 interface{}。如下:type error interface { Error() string}复制代码在日常工程中,原创 2021-12-24 15:09:09 · 852 阅读 · 0 评论 -
Mac地址会不会重复?怎么做到全球唯一的?
问大家一个计算机的基础知识:IP 地址和 Mac 地址为什么会产生?相信很多小伙伴都知道:IP 地址和 Mac 地址产生的目的是方便别人找到自己Mac 地址有点像身份证号码,而 IP 地址就像门牌号码。在茫茫大海中仅凭一个身份证号码找到一颗别样的沙粒很难,但如果先找到具体的沙滩,沙滩划分很小的网格片区,就很容易通过身份证找到这颗别样的沙粒了。MAC 地址(物理地址、硬件地址)是实实在在的网络设备出身地址,它是由厂商写入网络设备的 bios 中。网络设备厂商也并不能随意的使用 Mac 地址原创 2021-12-23 14:59:52 · 2673 阅读 · 1 评论 -
Rust 社区 RFC 导读 | 构建安全的 I/O
动机最近Rust官方合并了一个RFC,通过引入I/O安全的概念和一套新的类型和特征,为AsRawFd和相关特质的用户提供关于其原始资源句柄的保证,从而弥补Rust中封装边界的漏洞。Rust 标准库提供了 I/O 安全性,保证程序持有私有的原始句柄(raw handle),其他部分无法访问它。但是 FromRawFd::from_raw_fd 是 Unsafe 的,所以在 Safe Rust中无法做到 File::from_raw(7) 这种事。 在这个文件描述符上面进行 I/O 操作,而这个文件描述原创 2021-12-23 13:49:36 · 2900 阅读 · 0 评论 -
不是很理解“零拷贝原理详解”? 没关系,带你一文解析~
前言零拷贝是老生常谈的问题啦,大厂非常喜欢问。比如Kafka为什么快,RocketMQ为什么快等,都涉及到零拷贝知识点。最近技术讨论群几个伙伴分享了阿里、虾皮的面试真题,也都涉及到零拷贝。因此本文将跟大家一起来学习零拷贝原理。什么是零拷贝 传统的IO执行流程 零拷贝相关的知识点回顾 零拷贝实现的几种方式 java提供的零拷贝方式1.什么是零拷贝零拷贝字面上的意思包括两个,“零”和“拷贝”:“拷贝”:就是指数据从一个存储区域转移到另一个存储区域。 “零” :表示次数为0,它表示拷贝原创 2021-12-21 15:26:12 · 1098 阅读 · 0 评论 -
倍受关注的 Cilium Service Mesh 到底怎么玩? - 上手实践
Cilium 是一个基于 eBPF 技术,用于为容器工作负载间提供安全且具备可观测性的网络连接的开源软件。最近Cilium v1.11.0 正式发布了,增加 Open Telemetry 的支持以及其他一些增强特性。同时,也宣布了 Cilium Service Mesh 的计划。当前 Cilium Service Mesh 正处于测试阶段,预期在 2022 年会合并到 Cilium v1.12 版本中。Cilium Service Mesh 也带来了一个全新的模式。Cilium 直接通过 ...原创 2021-12-21 14:14:27 · 786 阅读 · 0 评论 -
深入浅出Mysql索引优化专题分享|面试怪圈
文章纲要该文章结合18张手绘图例,21个SQL经典案例、近10000字,将Mysql索引优化经验予以总结,你可以根据纲要来决定是否继续阅读,完成这篇文章大概需要25-30分钟,相信你的坚持是不负时光的:前言 开篇小例子 单索引性能最优? 索引越多越好? 常用术语 主键索引(聚簇索引) 辅助索引 覆盖索引 最左匹配 索引下推 再谈优化 覆盖索引,减少回表 遵循最左匹配原则 联合索引,字段顺序 前缀索引 索引失效 大字段影响检索性能 GROUP BY如何优化 OR..原创 2021-12-20 21:48:08 · 338 阅读 · 0 评论 -
一文搞懂,java中常用的定时任务框架-单体
一、阅读收获✔️1. 了解常用的单体应用定时任务框架✔️2. 掌握定时任务在单体中如何使用二、Timer+TimerTask这是jdk自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。 使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行,一般用的较少。/** * @Description: 1. Timer+TimerTask:(jdk自带) * 这是java自带的java.util.Timer类,这个类允许..原创 2021-12-20 21:31:49 · 819 阅读 · 0 评论 -
Redis不常用操作指南(基于SpringBoot2.3.2代码实现)
1 前言通常程序员在学习Redis的安装到使用是非常快速的,因为Redis的大部分操作都等同于Map的操作逻辑,只要了解大部分api结合百度能够快速的投入到CRUD的工作中去,所以今天来一期Redis不常用操作指南,当然这里的不常用更多是不会天天用,但是在项目中还是会有应用到的地方。2 安装Redis安装及原生命令3 SpringBoot2整合Redis(有现成环境的可以略过)3.1 相关依赖<!-- 单元测试 --><dependency> ..原创 2021-12-20 20:39:32 · 1093 阅读 · 0 评论 -
来~ 手写一个spring-boot-starter
前言我们都知道,Spring Boot最大的特点就是自动装配,简化依赖,可以让我们快速的搭建项目。使用Spring Boot之后,我们要想在项目中使用一些其他框架,只需要引入对应的Starter依赖就可以了。那么你在实际开发中是否也开发过一些基础功能,这些功能需要在你们的Spring Boot项目中使用呢?而这些功能可能在其他项目中可能也需要用到,如果我们把相同的功能在另一个项目中重新再写一遍的话肯定不是一个好方法。我们可以将我们的功能做成一个对应的Starter模块,在项目中要使用..原创 2021-12-20 15:51:30 · 469 阅读 · 0 评论 -
Java中List排序的3种方法
在某些特殊的场景下,我们需要在 Java 程序中对 List 集合进行排序操作。比如从第三方接口中获取所有用户的列表,但列表默认是以用户编号从小到大进行排序的,而我们的系统需要按照用户的年龄从大到小进行排序,这个时候,我们就需要对 List 集合进行自定义排序操作了。List 排序的常见方法有以下 3 种:使用 Comparable 进行排序; 使用 Comparator 进行排序; 如果是 JDK 8 以上的环境,也可以使用 Stream 流进行排序。下面我们分别来看各种排序方法的具体..原创 2021-12-20 14:33:55 · 7355 阅读 · 0 评论 -
炸锅了 Apache Log4j2 核弹级漏洞公开
近日,Apache Log4j2 的远程代码执行漏洞刷爆朋友圈,该漏洞一旦被攻击者利用会造成严重危害。而且此次漏洞影响巨大,很多网站如百度等都是此次 Log4j 远程代码执行漏洞的受害者,很多互联网企业也都连夜做了应急措施。漏洞详情:Apache Log4j 远程代码执行漏洞严重程度: 严重由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。漏洞利用无需特殊配置漏洞情况分析:Apache Log4j是一个基于Java的日志记录组件.原创 2021-12-20 14:06:24 · 485 阅读 · 0 评论 -
看了我才明白实际性能调优是要这样,给大家奉上好不容易得来的这份阿里P7 写的,性能优化手册
最近跟一些粉丝交流,发现很多程序员对一些基础问题只停留在“听说过”或者“使用过”,没有深入到技术细节里。很多现成的技术非常容易上手,会让我们产生自己很“厉害”的错觉,但是却忽略了其底层原理。这个其实是很危险的,技术的高低和掌握程度决定了我们的工资以及是否会被公司“优化”。在我的上一家公司,系统研发部门曾经来了一位大神,为什么叫他大神?因为他来公司一年,只做了一件事情——性能调优:把公司服务器的数量缩减到了原来的一半,结果系统的性能指标,反而还提升了很多!一个好的系统性能调优不但给公司省钱,还能提高系原创 2021-12-18 17:14:47 · 1248 阅读 · 0 评论 -
腾讯推出的这份 Netty 权威手册,完美的诠释 Netty~
Netty作为一个学 Java 的,如果没有研究过 Netty,那么你只能算一个初等 Java 程序员。如果你想知道 Nginx 是怎么写出来的,如果你想知道 Tomcat 和 Jetty 是如何实现的,如果你想实现一个简单的 Redis 服务器,那都应该好好理解一下 Netty,如果你要进阶,想了解 Java 服务器的深层高阶知识,Netty 也绝对是一个必须要过的门槛。今天要与大家介绍的文档是我从腾讯一位老友手上得来的关于 Netty 进阶的速成手册:内容涵盖 Netty 基础+入门+中级+高.原创 2021-12-18 16:41:57 · 2262 阅读 · 0 评论 -
分布式一致性协议之 2PC 和 3PC
分布式系统的一致性协议之 2PC 和 3PC在分布式系统领域,有一个理论,对于分布式系统的设计影响非常大,那就是 CAP 理论,即对于一个分布式系统而言,它是无法同时满足 Consistency(强一致性)、Availability(可用性) 和 Partition tolerance(分区容忍性) 这三个条件的,最多只能满足其中两个。但在实际中,由于网络环境是不可信的,所以分区容忍性几乎是必不可选的,设计者基本就是在一致性和可用性之间做选择,当然大部分情况下,大家都会选择牺牲一部分的一致性来保证可用性原创 2021-12-18 16:26:15 · 287 阅读 · 0 评论 -
她问我:为什么 MySQL 喜欢 B+ 树?我笑着画了 20 张图
「为什么 MySQL 采用 B+ 树作为索引?」这句话,是不是在面试时经常出现。要解释这个问题,其实不单单要从数据结构的角度出发,还要考虑磁盘 I/O 操作次数,因为 MySQL 的数据是存储在磁盘中的嘛。这次,就跟大家一层一层的分析这个问题,图中包含大量的动图来帮助大家理解,相信看完你就拿捏这道题目了!怎样的索引的数据结构是好的?MySQL 的数据是持久化的,意味着数据(索引+记录)是保存到磁盘上的,因为这样即使设备断电了,数据也不会丢失。磁盘是一个慢的离谱的存储设备,有多离谱呢?原创 2021-12-18 13:50:51 · 2545 阅读 · 3 评论 -
直到认识他让我见识到什么才是“精通高并发与调优”,真不愧是阿里P8
前言前段时间聚会,经朋友介绍认识了个阿里P8的大佬,加了微信也聊了很多,向他请教了很多问题,他不仅仅回答了问题他可以举一反三,还介绍了他用过的高并发设计方案还有压测、流量控制等等等,好吧,我承认我被吊打了。他说在他们阿里团队内部有一份由P9编写的《亿级并发设计》工作手册,目的就是让所有的成员都不脱节,使团队配合更加的紧密,小编也舔着脸皮向大佬求得这份手册????亿级并发设计目录内容一览接下来就给大家分享一下阿里P9总结的《亿级并发设计手册》,学完你也可以在简历上写精通高并发设计与调优,同时也原创 2021-12-17 20:55:22 · 259 阅读 · 0 评论 -
iOS文本的多语言适配和实践
背景产品被多个国家使用,产品方希望产品拥有更好的多语言使用体验,所以设计师提供多种字体来适配指定的语言。基于以上背景,客户端需要快速给出解决方案并且上线。字体包的多语言适配和实践需求分析首先,在了解产品需求和设计方案之后,结合业务研发人员的痛点,整理出以下需求。产品和设计的需求不同语言,对应字体包不相同。 全局字体默认使用设计师指定的字体包。 某些语言的字体包缺少某些字重版本,要求降级使用下一个字重版本。 存在某些特殊文案不使用全局字体包(例如:中文,它有专属的字体包,和语言环境原创 2021-12-17 20:44:08 · 2410 阅读 · 0 评论 -
太可了~ 字节技术官DDD(领域驱动设计)手册,拆解业务代码首选
前 言至少20年前,一些顶尖的软件设计人员就已经认识到领域建模和设计的重要性,但令人惊讶的是,这么长时间以来几乎没有人写出点儿什么,告诉大家应该做哪些工作或如何去做。尽管这些工作还没有被清楚地表述出来,但一种新的思潮已经形成,它像一股暗流一样在对象社区中涌动,我把这种思潮称为领域驱动设计(domain-driven design)。过去10年中,我在几个业务和技术领域开发了一些复杂的系统。我在设计和开发过程中尝试了一些最佳实践,它们都是面向对象开发高手用过的领先技术。有些项目非常成功,但有几个项目却原创 2021-12-17 20:38:27 · 132 阅读 · 0 评论 -
阿里出品的全栈 GC 面试小册,上线仅 3 天 Github 获赞 85.9K,我爱了~
Java 垃圾回收我们都知道 Java 在运行时内存分为了五个部分:程序计数器、虚拟机栈、本地方法栈、堆、方法区。其中程序计数器、虚拟机栈、本地方法栈所占用的内存是不需要垃圾收集的,这三个区域的内存随着线程生,随着线程死,我们需要关注的其实只有堆和方法区这两块内存的垃圾收集。这时候就需要用到 GC 技术了。对于垃圾回收概念,它一出现常常伴随着一连串的问题: GC 具体做了什么? 哪些内存需要回收? 什么时候回收? 怎么回收? 垃圾回收算法 &垃圾原创 2021-12-17 20:06:16 · 84 阅读 · 0 评论 -
长文 字节跳动面试高频算法题(先码再看)
今天给大家带来一篇面试高频算法题之栈&队列的详细解析,全文包含9道大厂笔试面试算法真题,一举拿下栈和队列这个知识点,让算法不在成为进入大厂的绊脚石。1栈和队列全文概览基础知识栈栈是一种先进后出的数据结构。这里有一个非常典型的例子,就是堆叠盘子。我们在放盘子的时候,只能从下往上一个一个的放;在取的时候,只能从上往下一个一个取,不能从中间随意取出。栈是一种操作受限的线性表,只允许在一端处理数据。主要包括两种操作,即入栈和出栈,也就是在栈顶插入一个数据和从栈顶删原创 2021-12-17 19:32:23 · 1171 阅读 · 0 评论 -
收好这份武林秘籍,让你分库分表再无烦恼
互联网发展至今,各个公司企业的数据量都大幅增长,分库分表越来越多的被我们用到,那么我们应该如何针对我们自己的业务场景,对数据进行合理的划分,用最小的代价解决掉性能瓶颈。1 分库分表的介绍1.1 什么是分库分表?分库分表其实是两个词分库: 将一个库里的数据,分开放在多个库里分表: 将一张表里的数据,分开放在多张表里1.2 为什么要分库分表?至于为什么要分库分表?肯定是单个库或者是单个表不足以满足我们的业务需要,不论是从性能角度出发,还是从数据库存储能力的角度出发,每一种类型的数.原创 2021-12-17 16:05:15 · 1131 阅读 · 0 评论 -
新提案:Go 泛型玩出花来了,switch type 登场
新提案新的提案内容是希望增加一个新的变种语句,允许在 switch 语句中使用泛型时,能够进一步便捷的约束其类型参数。例如:switch type T {case A1:case A2, A3: ...}复制代码也就是 switch-type 语句的 T 类型可以是一个泛型的类型参,case 所对应的的类型可以是任何类型,包括泛型的约束类型。假设类型 T 的类型有可能是以下:interface{ C A}复制代码可以借助泛型的近似元素来约束:原创 2021-12-17 14:52:59 · 958 阅读 · 0 评论 -
Servlet 原来是这个玩意儿,看完恍然大悟 ~
1. 什么是 Servlet?先让时间回到 25 年前,我国刚刚接入互联网不到两年时间。那时候的电脑长这个样子:当时的网页技术还不是很发达,大家打开浏览器只能浏览一些静态的页面,例如图片、文本信息等。随着时间的发展,静态页面已经不能满足于大部分用户的需求了。用户打开浏览器不能只浏览个图片和文字吧?用户还想提交个表单、点个按钮、还想和浏览器做交互怎么办?为了解决用户和浏览器动态交互的问题,到了1997年,SUN 公司(发明了JDK) 推出了Servlet技术。Servle...原创 2021-12-16 13:49:10 · 557 阅读 · 1 评论 -
别告诉我你连线程池都不会用~ 一文搞懂线程池
线程池作用降低资源消耗:通过池化技术重复利用已创建的线程,降低线程创建和销毁造成的损耗。 提高响应速度:任务到达时,无需等待线程创建即可立即执行。 提高线程的可管理性:线程是稀缺资源,如果无限制创建,不仅会消耗系统资源,还会因为线程的不合理分布导致资源调度失衡,降低系统的稳定性。使用线程池可以进行统一的分配、调优和监控。 提供更多更强大的功能:线程池具备可拓展性,允许开发人员向其中增加更多的功能。比如延时定时线程池ScheduledThreadPoolExecutor,就允许任务延期执行或定期执行原创 2021-12-16 13:07:26 · 1892 阅读 · 2 评论 -
华为资深工程师总结的这本435页的书,居然把网络协议给趣谈了
苦且绕不过去。经过多次放弃之后,我发现在我的职业生涯中,网络这一关无论如何也绕不过去。本来觉得写Java程序时可以依赖别人的库,所以就不用关心这么多底层的技术了,但是到后来才发现,服务数量一多,吞吐量一大,我们关心的不再仅仅是某个Java应用,而是要提升整个集群的性能,这时网络问题就会出现。而且大规模的微服务架构必定要上云、使用VPC网络,这时就必定要考虑双活和灾备,必定要做各个层次的负载均衡,这些都需要网络方面的技术。既然绕不过去,那就必须“啃”下它,于是我就进入了暗无天日的网络协议学习的过程。见山开原创 2021-12-15 21:44:08 · 6905 阅读 · 4 评论 -
项目开发中,真的有必要定义VO,BO,PO,DO,DTO这些吗?
存在即是合理的,业务复杂,人员协同性要求高的场景下,这些规范性的东西不按着来虽然不会出错,程序照样跑,但是遵守规范会让程序更具扩展性和可读性,都是前辈血淋淋的宝贵经验,为什么不用?随着现在后端编程标准化程度越来越高,各种编程模型层出不穷。作为Java开发人员,大部分人不免要接触VO,BO,PO,DO,DTO之类的,但很多同学对这些概念一直以来都是云里雾里,团队开发过程中也总是处于混乱的状态,抓起来就用,本来是规范性的东西,却反而导致更加混乱了。今天我们把这些概念掰开揉碎来讲解一下,力求有一个清晰的理原创 2021-12-15 20:34:27 · 325 阅读 · 0 评论 -
JAVA泛型的定义理解以及类型形参的上限
一、引子List list = new ArrayList();list.add(1);list.add(2);list.add("String");System.out.println(list);List <String> lt1 = new ArrayList<>();List <Integer> lt2 = new ArrayList<>();复制代码观察这样一段代码,我们会发现当使用Arraylist实现List接口的时原创 2021-12-15 19:09:32 · 1215 阅读 · 1 评论 -
如何实现 List 集合去重?
前言我们都知道 InnoDB 在模糊查询数据时使用 "%xx" 会导致索引失效,但有时需求就是如此,类似这样的需求还有很多,例如,搜索引擎需要根基用户数据的关键字进行全文查找,电子商务网站需要根据用户的查询条件,在可能需要在商品的详细介绍中进行查找,这些都不是B+树索引能很好完成的工作。通过数值比较,范围过滤等就可以完成绝大多数我们需要的查询了。但是,如果希望通过关键字的匹配来进行查询过滤,那么就需要基于相似度的查询,而不是原来的精确数值比较,全文索引就是为这种场景设计的。全文索引(Full..原创 2021-12-15 13:07:41 · 1194 阅读 · 2 评论 -
saas疯行的年代,工作流俨然是一种职业素质
前言现在越来越多的项目开始使用工作流来满足日常的工作了。今天我们看看Activiti的工作流,我们先入门下BPMN绘画环境安装关于流程的BPMN文件主要还是通过eclipse开发工具进行集成绘画的。idea中主要是actiBPM绘画的,但是2014年之后actiBPM就不在维护了,现在直接是无法在新的idea版本中安装使用了。 既然如此你可以idea开发项目,通过eclipse绘制,但是这种情况好像很麻烦。这里推荐另外一个集成工具绘制BPMN流程图示 camunda-modeler就是一个..原创 2021-12-12 16:24:22 · 129 阅读 · 0 评论 -
大名鼎鼎的 Linux —— 进程,线程,协程
前言Linux 作为当今服务端最流行的操作系统,是每个后端工程师应当熟练使用和理解的。本篇文章会详细讲述 Linux 系统中的一些基础概念:进程、线程,以及后面由各编程语言所实现的协程。进程是什么?进程是资源分配的最小单位计算机专业的同学对这句话肯定不陌生,但是应该怎么去理解这句话?程序是什么?计算机程序(英语:Computer Program)是指一组指示电子计算机或其他具有消息处理能力设备每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上上面是..原创 2021-12-12 15:56:03 · 3104 阅读 · 1 评论 -
MySQL 索引优化实践
案例创建表的 DDL# DDL 语句CREATE TABLE `employees` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `name` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '姓名' COLLATE 'utf8_general_ci', `age` INT(10) NOT NULL DEFAULT '0' COMMENT '年龄', `position` VARCHAR(20) NOT NULL ..原创 2021-12-12 15:42:13 · 176 阅读 · 0 评论 -
用Java 8 的 Stream 来写代码,干净优雅
流如何简化代码如果有一个需求,需要对数据库查询到的菜肴进行一个处理:筛选出卡路里小于400的菜肴 对筛选出的菜肴进行一个排序 获取排序后菜肴的名字菜肴:Dish.javapublicclassDish {privateStringname;privatebooleanvegetarian;privateint calories;privateTypetype;// getter and setter}复制代码Ja...原创 2021-12-10 19:59:48 · 171 阅读 · 0 评论 -
Go 语言的异常处理
ERROR 是什么对于一个 Go 语言程序员,你一定写过这样的代码。if err != nil { doSomething()}复制代码这里的 err 便是我们今天要讨论的主角,为了解释它是什么这个问题,我们不妨先从设计者的角度出发,看一看标准库里的 errors 包是如何设计的。// because the former will succeed if err wraps an *fs.PathError.package errors// New returns an原创 2021-12-10 14:46:13 · 1645 阅读 · 0 评论 -
【开发指南】Spring Cloud集成POI完成Excel读写操作
POI简介Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft office格式档案读和写的功能,其中包括Excel,Word,PowerPoint等。官方网站:poi.apache.org/POI前置知识1. 坐标Excel中每一个单元格都是有一个坐标的,起始坐标为(0,0),也就是说起始行为第0行,起始列为第0列。Excel中每一个Sheet也是有下标的,从0开始。2. 数据类型POI中定义了6种单元格数原创 2021-12-10 13:59:07 · 1946 阅读 · 0 评论