给初学者的技巧,只有3条,不看后悔

2020-02-25
阅读 2 分钟
2k
在这篇文章中,我想向编程新手和初级开发人员分享我的三个技巧。虽然开发可能真的很难……但是有了这些技巧,将会助你更快成功! 一、不要害怕失败 我认为最重要的是:不要害怕失败。如果你害怕失败,你将永远不会尝试新事物,你将永远不会学习新事物。 如果你害怕失败,你将永远不会尝试新事物。 经验丰富的开发人员所经...

Full GC 和 Minor GC,傻傻分不清楚

2020-01-15
阅读 2 分钟
2.3k
大家可能见到过很多的 GC 名词,比如:Minor GC、Young GC、Full GC、Old GC、Major GC、Mixed GC。

9 个习惯助你在新的一年更有精力

2020-01-14
阅读 3 分钟
1.9k
你的生活习惯决定了你的精力水平,如果你养成良好的习惯,则无论是在身体还是精神上,你都会感到精力充沛,并且更容易从疲倦中恢复精力。如果你的习惯不好,你可能会进入一个你感觉越来越糟的循环,直到你很难跟上。

后缀补全用得好,提前下班没烦恼

2020-01-14
阅读 2 分钟
1.9k
IntelliJ IDEA 在 2013.1 版本后就出现了后缀代码自动补全的新功能。现在,我很高兴的介绍后缀代码自动补全(Postfix Code Completion),这是一类新的代码补全方式,希望它能提高你的编程效率。

请停止编写糟糕的提交消息!

2020-01-14
阅读 2 分钟
1.7k
我想大家都有过这样的经历: 你正在开发一个项目,它使用 Git 进行版本控制。 你刚刚完成更改,并且想要快速更新分支。 因此,你打开了终端,并通过一些快速命令,使用所做的更改来更新远程分支。 {代码...} 但是随后你进行了一些测试,发现你的代码中存在 bug。 不用担心,你可以快速找到解决方案,并再次提交以解决该...

浅析 Nginx 网络事件

2019-12-28
阅读 3 分钟
1.9k
Nginx 是一个事件驱动的框架,所谓事件主要指的是网络事件,Nginx 每个网络连接会对应两个网络事件,一个读事件一个写事件。在深入了解 Nginx 各种原理及在极端场景下的一些错误场景处理时,需要首先理解什么是网络事件。

ZooKeeper 入门看这篇就够了

2019-12-23
阅读 6 分钟
2.2k
ZooKeeper 是一个分布式的,开放源码的分布式应用程序协同服务。ZooKeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。

如何优雅地关闭worker进程?

2019-12-23
阅读 2 分钟
4.9k
之前我们讲解 Nginx 命令行的时候,可以看到 Nginx 停止有两种方式,分别是 nginx -s quit 和 nginx -s stop,其中 stop 是指立即停止 Nginx,而 quit 是指优雅的关闭 Nginx,对应的信号也是同样的,还有我们之前提到的 reload 和热升级这样的过程中都涉及到了优雅的停止 Nginx。

探究 Nginx 中 reload 流程的真相

2019-12-16
阅读 2 分钟
2.1k
今天这篇文章主要来介绍下 Nginx 的 reload 流程。实际上在之前文章中,在更改了 nginx 配置文件时,我们都会执行 nginx -s reload 命令,我们执行这条命令的原因是希望 nginx 不停止服务始终在处理新的请求的同时把 nginx 的配置文件平滑的把旧的 nginx.conf 配置更新为新的 nginx.conf 配置。

每个开发人员都应该知道的11个Linux命令

2019-12-10
阅读 7 分钟
2.4k
本文主要挑选出读者有必要首先学习的 11 个 Linux 命令,如果不熟悉的读者可以在虚拟机或云服务器上实操下,对于开发人员来说,能熟练掌握 Linux 做一些基本的操作是必要的!

如何编写可怕的Java代码?

2019-12-10
阅读 4 分钟
1.9k
你知道循环对吗?差一错误(英语:Off-by-one error,缩写 OBOE,是在计数时由于边界条件判断失误导致结果多了一或少了一的错误,通常指计算机编程中循环多了一次或者少了一次的程序错误,属于逻辑错误的一种)很容易犯。当你迭代一个集合时,很容易出错。让我们看看如何使用 Java 异常处理来解决该问题,而不用担心这些...

请停止编写这么多的for循环!

2019-12-05
阅读 2 分钟
1.7k
在这篇文章中,我想和你一起回到基础知识,并讨论 Java 中的 for 循环。老实说,我正在为自己写这篇博客文章,因为我也会这样做。从 Java 8 开始,我们不必在 Java 中编写太多 for 循环!我希望这篇文章将使你的代码更易于阅读和编写。

如何优雅地在Stack Overflow提问?

2019-12-04
阅读 2 分钟
2.7k
Stack Overflow 是一个全球最大的技术问答网站,作为一个程序员不得不知的网站。程序员可以在上面进行提出问题,别的程序员会免费帮大家解答这个问题。

为什么阿里巴巴Java开发手册中强制要求不要在foreach循环里进行元素的remove和add操作?

2019-12-03
阅读 4 分钟
2.2k
在阅读《阿里巴巴Java开发手册》时,发现有一条关于在 foreach 循环里进行元素的 remove/add 操作的规约,具体内容如下: 错误演示 我们首先在 IDEA 中编写一个在 foreach 循环里进行 remove 操作的代码: {代码...} 此时执行代码,编译正确,执行成功!输出 [wupx, huxy]。 接着我们把 “love” 换成 “wupx” 或是 “huxy” ...

Java异常处理只有Try-Catch吗?

2019-12-01
阅读 7 分钟
2.4k
的确,你不需要将所有异常都放在这些块中。另一方面,如果你正在研究应用程序的软件设计,则可能不需要内置的异常处理机制。在这种情况下,你可以尝试使用替代方法-Vavr Try 结构。

Nginx 进程管理,你需要了解哪些?

2019-11-29
阅读 2 分钟
2.2k
Nginx 是一个多进程的程序,多进程之间进行通讯可以使用共享内存、信号等。当做进程间管理的时候,通常只使用信号。 今天就来看一下 Nginx 进程管理中的信号是怎样使用的。 Nginx 进程管理:信号 从上图可以看出,能够发送和处理信号的有 master 进程、worker 进程、Nginx 命令行。 首先让我们来看下 Master 进程。 Mast...

看完这篇还不会用Git,那我就哭了!

2019-11-27
阅读 5 分钟
2.4k
Git 是一个版本控制系统,是任何软件开发项目中的主要内容。通常有两个主要用途:代码备份和代码版本控制。你可以逐步处理代码,在需要回滚到备份副本的过程中保存每一步的进度!

Nginx 的进程结构,你明白吗?

2019-11-13
阅读 4 分钟
1.7k
单进程结构实际上不适用于生产环境,只适合我们做开发调试使用。因为在生产环境中我们必须保持 Nginx 足够健壮以及 Nginx 可以利用多核的一个特性,而单进程的 Nginx 是做不到这一点的,所以默认的配置中都是打开为多进程的 Nginx。

Nginx 的请求处理流程,你了解吗?

2019-11-10
阅读 2 分钟
1.9k
因为 Nginx 运行在企业内网的最外层也就是边缘节点,那么他处理的的流量是其他应用服务器处理流量的数倍,甚至几个数量级,我们知道任何一种问题在不同的数量级下,他的解决方案是完全不同的,所以在 Nginx 它所处理的应用场景中,所有的问题都会被放大,所以我们必须要去理解,为什么 Nginx 采用 master-worker 这样的...

你编写的Java代码是咋跑起来的?

2019-11-04
阅读 4 分钟
1.1k
如果你是一名 Java 开发人员,你肯定指定 Java 代码有很多种不同的运行方式。比如说可以在开发工具(IDEA、Eclipse等)中运行,可以双击执行 jar 文件运行,也可以在命令行中运行,甚至可以在网页(比如各种 OJ)中运行。当然,这些执行方式都离不开 JRE(Java 运行时环境)。

使用 Nginx 搭建静态资源 web 服务器

2019-11-03
阅读 2 分钟
4.4k
在搭建网站的时候,往往会加载很多的图片,如果都从 Tomcat 服务器来获取静态资源,这样会增加服务器的负载,使得服务器运行 速度非常慢,这时可以使用 Nginx 服务器来加载这些静态资源,这样就可以实现负载均衡,为 Tomcat 服务器减压了。这篇文章,我们将一起去使用 Nginx 去搭建静态资源 web 服务器。

如何定制 Spring Boot 的 Banner?

2019-11-03
阅读 4 分钟
2.5k
相信用过 Spring Boot 的朋友们一定在启动日志中见过类似如下的内容,比如在启动 Spring Boot 时,控制台默认会打印 Spring Boot Logo 以及版本信息,这是 Spring Boot 固定的还是可自定义的呢?

Nginx 热部署和日志切割,你学会了吗?

2019-11-02
阅读 5 分钟
2.1k
上篇文章,我们已经安装好 Nginx,并且配置好 Nginx 文件后,这个时候我就需要操作 Nginx 的命令行了,这篇文章主要讲解 Nginx 命令行相关知识,并通过日常遇到的热部署、切割日志文件场景来熟悉 Nginx 命令行操作。

MySQL 日志系统之 redo log 和 binlog

2019-11-01
阅读 7 分钟
2.8k
之前我们了解了一条查询语句的执行流程,并介绍了执行过程中涉及的处理模块。一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。

你真的了解 volatile 关键字吗?

2019-10-31
阅读 7 分钟
2.1k
今天,让我们一起来探讨 Java 并发编程中的知识点:volatile 关键字 本文主要从以下三点讲解 volatile 关键字: volatile 关键字是什么? volatile 关键字能解决什么问题?使用场景是什么? volatile 关键字实现的原理? volatile 关键字是什么? 在 Sun 的 JDK 官方文档是这样形容 volatile 的: {代码...} 也就是说,...

为什么阿里巴巴Java开发手册中强制要求整型包装类对象值用 equals 方法比较?

2019-10-29
阅读 11 分钟
2k
在阅读《阿里巴巴Java开发手册》时,发现有一条关于整型包装类对象之间值比较的规约,具体内容如下: 这条建议非常值得大家关注, 而且该问题在 Java 面试中十分常见。 还需要思考以下几个问题: 如果不看《阿里巴巴Java开发手册》,如何知道 Integer var = ? 会缓存 -128 到 127 之间的赋值? 为什么会缓存这个范围的赋...

Java 中的 final、finally、finalize 有什么不同?

2019-10-29
阅读 5 分钟
1.9k
final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。

深入理解 Java 中的 final 关键字

2019-10-28
阅读 3 分钟
1.5k
final 是Java 中重要关键字之一,可以应用于类、方法以及变量上。这篇文章中将讲解什么是 final 关键字?将变量、方法和类声明为 final 代表了什么?使用 final 的好处是什么?

Java 异常处理的 20 个最佳实践,你知道几个?

2019-10-26
阅读 6 分钟
2.2k
异常处理是 Java 开发中的一个重要部分,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等。Java 提供了几个异常处理特性,以try,catch 和 finally 关键字的形式内建于语言自身之中。Java 编程语言也允许创建新的自定义异常,并通过使用 throw 和 throws关键字抛出它们。在Java编程中,Java 的异常处理...

为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

2019-10-24
阅读 6 分钟
1.4k
那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率如何吧(JDK版本为 jdk1.8.0_201)。