前几天看到一个2016年挺有趣的一个故障复盘,有一哥们给底层的HSF服务返回值加了一个字段,秉承着“加字段一定是安全的”这种惯性思维就直接上线了,上线后发现这个接口成功率直接跌0,下游的服务抛出类似下面这个异常堆栈。 java.io.InvalidClassE...
虽然Java程序员不用像C/C++程序员那样时刻关注内存的使用情况,JVM会帮我们处理好这些,但并不是说有了GC就可以高枕无忧,内存泄露相关的问题一般在测试的时候很难发现,一旦上线流量起来可能马上就是一个诡异的线上故障。 1. 内存泄露的定义 如...
从java9开始,java开始引入了类似于python的交互式 REPL(Read-Eval-Print Loop,读取-求值-输出 循环)工具。官方的表述如下: The Java Shell tool (JShell) is an interactive tool for learning the Java programming language and prototyping...
深知广大爱好Java的人学习是多么困难,专门整理了新版的学习路线图,不管你是不懂电脑的小白,还是已经步入开发的大牛,这套路线路绝对不容错过!传智教育旗下黑马程序员分享免费视频教程长达12余万小时,受益人数达千万。2021年我们不忘初心,继续前行...
1、学习Java编程语言基础 掌握语言基础是第一步,如果不了解基础知识,那么就不知道自己是否做错了或者接下来该怎么做。熟练掌握Java相关的基础知识,如Java关键字、核心概念或者基本编码技术等。 2.编写小程序 对大多数的基础知识和概念足够...
在本教程中,我们将学习如何使用JavaScript查找字符串中的元音数量,在初级开发人员面试中可能会问这个问题。 在开始编码之前,让我们详细阅读问题描述: 返回给定字符串中元音的数量(计数)。我们将把a、e、i、o和u视为元音,但不包括y。输入的字...
你知道 Java 中如何创建对象吗? 这个问题仿佛是给 Java 新手来写的,好像有点瞧不起在座各位的样子,嗯。。。那么我换种问法好了,毕竟看我公众号的人都是将来月入 10w 的大佬。 你知道 Java 中有哪几种创建对象的方式吗? 诶?这个问题有点意思...
于 2020 年 9 月发布的 Java SE 15 将引入“封印类(sealed class)”(JEP 360),并将其作为预览特性。 封印类是一种类或接口,对哪些类或接口可以扩展它们进行了限制。 封印类就像枚举一样,可以捕获领域模型中的可选项,让程序员和编译器可以...
前言:微信开发平台为开发者提供openId用来区分用户的唯一性,但是openId只是在独立的应用内是唯一的,如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下所有...
1. 前言 Java中的方法引用,很多同学都见过但却叫不出名字,在这篇文章中,我们将看到什么是方法引用以及如何使用它。 2. 方法引用的使用场景 我们先来看看方法引用的使用: new Random().ints(10) ...
Java枚举,也称作Java枚举类型,是一种字段由一组固定常量集合组成的类型。枚举的主要目的是加强编译时类型的安全性。enum关键字是Java中的保留关键字。 在编译或设计时,当我们知道所有变量的可能性时,尽量使用枚举类型。本篇文章就带大家全面系统...
前言 当我们开发一个Java项目时,我们要做的第一件事就是添加我们需要使用的依赖项,库或框架。为此,我们使用依赖管理工具(例如Maven或Gradle),来管理我们的项目依赖。 我们为项目添加的每个依赖项都包含其他依赖项。我们都知道依赖传递这个概...
是的,不用任何框架,用我们朴素的 Java 编程语言就能实现定时任务。 今天,栈长就介绍 3 种实现方法,教你如何使用 JDK 实现定时任务! 1、 sleep 这也是我们最常用的 sleep 休眠大法,不只是当作休眠用,我们还可以利用它很轻松的能实现一个...
1、switch必须加上break才结束 switch中的break作用是结束switch循环,如果不加的话,当你在一个case语句中执行完毕后,会bai进入下一个case语句,继续switch循环。对于多重分支选择,一系列的if-else-if语句会让代码的可读性变差。初学者常常在这方...
代码中的很多操作都是Eager的,比如在发生方法调用的时候,参数会立即被求值。总体而言,使用Eager方式让编码本身更加简单,然而使用Lazy的方式通常而言,即意味着更好的效率。 延迟初始化 一般有几种延迟初始化的场景: · 对于会消耗较多资...
Java开发可应用于什么领域?Java的应用非常的广泛,可以用来在开发软件工具、嵌入式领域、交易系统、Android应用、大数据技术、服务器程序、网站开发、科学应用等诸多方面。在IT行业中Java编程语言有着非常重要的地位。接下来具体介绍Java开发可应用领域...
一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率 ,才能提高整个应用程序的性能。 一个优秀的Java程序员必须了...
面向对象与面向过程的区别 首先面向过程和面向对象的语言没有具体的性能高下之分,要依据每种语言的设计来做参考。个人认为面向过程和面向对象的最大区别在于:面向过程的语言是结构化的,面向对象的语言是模块化的。模块化的代码比结构化的代码更易...
有时候,除你自己外,没有人能制作你所梦想的工具。以下是如何开始构建你自己的文本编辑器。 有很多文本编辑器。有运行在终端中、运行在 GUI 中、运行在浏览器和浏览器引擎中的。有很多是还不错,有一些则是极好的。但是有时候,毫无疑问,最令人满...
面试官爱问的一个基础问题:Java是值传递还是引用传递? 想必大家都对这个问题都有自己的看法,那到底事实是怎样的,我们又该如何回答面试官这个问题呢?今天咱们就来好好分析一波。 值传递?引用传递? 首先,我们得先知道什么叫值传递,什么...