自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码农突围

码农突围三板斧:韬光养晦、伺机而动、弯道超车

转载 Java8 的 Stream API 的确牛X,但性能究竟如何呢?

Stream Performance已经对Stream API的用法鼓吹够多了,用起简洁直观,但性能到底怎么样呢?会不会有很高的性能损失?本节我们对Stream API的性能一探究竟。为保证测试结果真实可信,我们将JVM运行在-server模式下,测试数据在GB量级,测试机器采用常见的商用服务器,配置如下:测试所用代码在这里,测试结果汇总.https://github.com/CarpenterLee/JavaLambdaInternals/tree/master/perf/StreamBench

2020-08-10 19:55:38 36

原创 Java 生成二维码实战

简介ZXing 是一个开源 Java 类库用于解析多种格式的 1D/2D 条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。其提供了多种平台下的客户端包括:J2ME、J2SE和Android。官网:ZXing github仓库实战本例演示如何在一个非 android 的 Java 项目中使用 ZXing 来生成、解析二维码图片。安装maven项目只需引入依赖:<dependency> <groupId>com.google.zxing

2020-08-07 20:53:02 50

转载 Java高并发之设计模式,设计思想

本文主要讲解几种常见并行模式, 具体目录结构如下图.单例单例是最常见的一种设计模式, 一般用于全局对象管理, 比如xml配置读写之类的.一般分为懒汉式, 饿汉式.懒汉式: 方法上加synchronizedpublic static synchronized Singleton getInstance() { if (single == null) { single = new Singleton(); }

2020-08-06 21:07:40 45

转载 NullPointerException 的处理新方式,Java14 真的太香了!

在Java语言中,处理空指针往往是一件很头疼的事情,一不小心,说不定就搞出个线上Bug,让你的绩效考核拿到3.25。最近新出的Java14,相信大家都有所耳闻,那么今天就来看看,面对NullPointerException,Java14有哪些更好的处理方式呢?1.传统的 NullPointerException我们编码过程中呢,经常会使用链式调用的方式来写代码,这样写起来很方便,也很清晰,但是,一旦出现NullPointerException,那就头大了,因为你很难知道异常是在什么时候开始发生的。举

2020-08-05 18:28:00 230

转载 好用到爆的 Java 技巧

本文不是一个吹嘘的文章,不会讲很多高深的架构,相反,会讲解很多基础的问题和写法问题,如果读者自认为基础问题和写法问题都是不是问题,那请忽略这篇文章,节省出时间去做一些有意义的事情。开发工具不知道有多少 “老” 程序员还在使用 Eclipse,这些程序员们要不就是因循守旧,要不就是根本就不知道其他好的开发工具的存在,Eclipse 吃内存卡顿的现象,以及各种偶然莫名异常的出现,都告知我们是时候寻找新的开发工具了。更换 IDE根本就不想多解释要换什么样的 IDE,如果你想成为一个优秀的 Java 程序员

2020-08-04 19:02:14 81

转载 为什么国内流行的 MyBatis ,国外 Java 工程师却不愿意使用?

Spring 团队的Josh Long自己在Twitter上做了一个调查。1625次投票,样本量不算大,但也能说明问题。和我答案最后的那些调查图表基本一致。我们看一下Google Trends的数据:搜索条件是这样的:World Wide:United States:France:India:Canada:China:Japan:其他英文技术网站上的多个统计:再看看Stack Overflow上的问题数:(含有hibernate的标签和问题数)(含有myb

2020-08-03 22:24:39 78

转载 面试官写了个双冒号::问我这是什么语法?Java中有这玩意?

一:简洁二:方法引用三:Optional 可选值一:简洁方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式静态方法引用,通过类名::静态方法名, 如 Integer::parseInt实例方法引用,通过实例对象::实例方法,如 str::substring构造方法引用,通过类名::new, 如 User::new二:方法引用public final class Integer { public static int parseIn.

2020-07-31 20:26:10 189

转载 Java 程序员常用资源工具集合(建议收藏)

搜索资源网站工具类思维导图工具文档笔记平台搜索资源网站学习技术过程我们经常需要使用搜索引擎来检索资料,国内常用的也就是某度了。当然有条件的话,搜索引擎首先还是推荐使用 Google,如果没办法使用,可以使用以下几个作为备用:BingBing 国际版:https://cn.bing.com/比某度好用,之前还被停用了几天,最近可以了。DuckDuckGoDuckDuckGo:https://duckduckgo.com/从官网的介绍来看这个搜索引擎不收集用户信息,而且没有广告。S.

2020-07-28 19:30:30 139

转载 贼好用的Java工具类库,GitHub星标10k+,你在用吗?

简介Hutool是Hu + tool的自造词,前者致敬我的“前任公司”,后者为工具之意,谐音“糊涂”,寓意追求“万事都作糊涂观,无所谓失,无所谓得”的境界。Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以“甜甜的”。Hutool最初是我项目中“util”包的一个整理,后来慢慢积累并加入更多非业务相关功能,并广泛学习其它开源项目精髓,经过自己整理修改,最终形成丰富的开源工具集。(抄自作者简介)功能一个Java基础工具类,对文件、流、加密

2020-07-27 17:20:33 115

转载 深入理解 Java 内存模型

Java内存模型(Java Memory Model,JMM)是java虚拟机规范定义的,用来屏蔽掉java程序在各种不同的硬件和操作系统对内存的访问的差异,这样就可以实现java程序在各种不同的平台上都能达到内存访问的一致性。可以避免像c++等直接使用物理硬件和操作系统的内存模型在不同操作系统和硬件平台下表现不同,比如有些c/c++程序可能在windows平台运行正常,而在linux平台却运行有问题。物理硬件和内存首先,在单核电脑中,处理问题要简单的多。对内存和硬件的要求,各种方面的考虑没有在多核的情

2020-07-24 19:24:34 142

转载 Java中堆和栈的区别

堆和栈都是Java用来在RAM中存放数据的地方。堆(1)Java的堆是一个运行时数据区,类的对象从堆中分配空间。这些对象通过new等指令建立,通过垃圾回收器来销毁。(2)堆的优势是可以动态地分配内存空间,需要多少内存空间不必事先告诉编译器,因为它是在运行时动态分配的。但缺点是,由于需要在运行时动态分配内存,所以存取速度较慢。栈(1)栈中主要存放一些基本数据类型的变量(byte,short,int,long,float,double,boolean,char)和对象的引用。(2)栈的优势是,存取速

2020-07-23 21:01:54 127 1

转载 优秀的 Java 项目代码都是如何分层的?

1、背景说起应用分层,大部分人都会认为这个不是很简单嘛 就controller,service, mapper三层。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了,这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至于放哪无所谓呗。这样往往造成后面代码无法复用,层级关系混乱,对后续代码的维护非常麻烦。的确在这些人眼中分层只是一个形式,前辈们的代码这么写的,其他项目代码这么写的,那么我也这么跟着写。但是在真

2020-07-22 21:36:33 156

转载 Java程序员必备的11大Intellij插件

善用Intellij插件可大幅提升我们的效率以下是我用过不错的Intellij插件1. .ignore地址:https://plugins.jetbrains.com/plugin/7495–ignore生成各种ignore文件,一键创建git ignore文件的模板,免得自己去写截图:2. lombok地址:https://plugins.jetbrains.com/plugin/6317-lombok-plugin支持lombok的各种注解,从此不用写getter setter这些 可

2020-07-20 19:53:50 165

转载 我从外包公司离职了(一定要看!)

点击上方“码农突围”,马上关注这里是码农充电第一站,回复“666”,获取一份专属大礼包真爱,请设置“星标”或点个“在看”作者:张林-布莱恩特来源:www.cnblogs.com/zh...

2020-07-19 11:40:00 242

原创 这个用Java写的开源音乐播放器,我粉了

随着版权意识的增强,如今,想听几首歌,都得下载好几个音乐软件,这也就算了,大部分音乐还都是付费,安装这么多APP或许还说的过,但是对于不是粉丝的人来说,付费听歌都不怎么愿意,于是就开始寻找免费的音乐下载,这时候要是有一个音乐播放器那就完美了。近日,猿妹发现一个用Java编写的音乐播放器——MusicPlayer,支持 Win / macOS/平台,整体界面如下:MusicPlayer具有如下特性:播放清单,你可以通过以下方式将歌曲添加到播放列表:选择一首歌曲后,单击“将歌曲添加到播放列表”按钮。

2020-07-16 18:51:25 1475 2

转载 阿里巴巴关于Java重要开源项目汇总

1.分布式应用服务开发的一站式解决方案 Spring Cloud AlibabaSpring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。地址:https://

2020-07-14 20:10:35 221

原创 最难的几道Java面试题,看看你跪在第几个?

这是我收集的10个最棘手的Java面试问题列表。这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题。你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java 知识,但这些问题都是容易在各种 Java 面试中被问到的,而且包括我的朋友和同事在内的许多程序员都觉得很难回答。1.为什么等待和通知是在 Object 类而不是 Thread 中声明的?一个棘手的 Java 问题,如果 Java编程语言不是你设计的,你怎么能回答这个问题呢。Java编程的常识和深入了解有

2020-07-13 17:55:56 207

转载 面试题:Java对象不再使用时,为什么要赋值为null?

前言许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回答不出来了。鉴于网上有太多关于此问题的误导,本文将通过实例,深入JVM剖析“对象不再使用时赋值为null”这一操作存在的意义,供君参考。本文尽量不使用专业术语,但仍需要你对JVM有一些概念。示例代码我们来看看一段非常简单的代码:public static void main(String[] args) {

2020-07-09 22:09:08 271

转载 有了这款可视化工具,Java 应用性能调优 so easy。。。

JVisualVM 简介案例分析准备模拟内存泄漏样例使用JVisualVM分析内存泄漏JVisualVM 远程监控 TomcatJVisualVM 简介VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。在JDK_HOME/bin(默认是C:\Program Files\Java\j.

2020-07-08 19:43:48 287

转载 如何在Java代码中去掉烦人的“!=null”

问题为了避免空指针调用,我们经常会看到这样的语句if (someobject != null) { someobject.doCalc();}最终,项目中会存在大量判空代码,多么丑陋繁冗!如何避免这种情况?我们是否滥用了判空呢?回答这是初、中级程序猿经常会遇到的问题。他们总喜欢在方法中返回null,因此,在调用这些方法时,也不得不去判空。另外,也许受此习惯影响,他们总潜意识地认为,所有的返回都是不可信任的,为了保护自己程序,就加了大量的判空。吐槽完毕,回到这个题目本身,进行判空前,请

2020-07-02 19:36:05 289

原创 分享一个牛逼的 Java 开源后台管理系统,不要造轮子了!

还是那句话,重复造轮子是个苦逼的活,能搞懂搞会一个好轮子,是多么美好的事情,今天介绍一款杠把子级别的Java开源后台管理系统,RuoYi 基于SpringBoot开发分普通交互前段bootstrap版本,和vue前后端分离版本;bootstrap版本开源地址:https://gitee.com/y_project/RuoYi/vue前后端分离版本开原地址:https://gitee.com/y_project/RuoYi-Vuebootstrap版本:演示地址:http://ruoyi

2020-07-01 17:57:00 426

转载 面试官问:为什么 Java 线程没有 Running 状态?我懵了

什么是 RUNNABLE?与传统的ready状态的区别与传统的running状态的区别当I/O阻塞时如何看待RUNNABLE状态?Java虚拟机层面所暴露给我们的状态,与操作系统底层的线程状态是两个不同层面的事。具体而言,这里说的 Java 线程状态均来自于 Thread 类下的 State 这一内部枚举类中所定义的状态:什么是 RUNNABLE?直接看它的 Javadoc 中的说明:一个在 JVM 中执行的线程处于这一状态中。(A thread executing..

2020-06-30 17:51:16 281

转载 阿里内部员工,排查Java问题常用的工具单

这是一篇来源于阿里内部技术论坛的文章,原文在阿里内部获得一致好评。作者已经把这篇文章开放到云栖社区中供外网访问。Hollis对文章内容做了部分删减,主要删减掉了其中只有阿里内部才能使用的工具的介绍,并删减掉部分只有通过阿里内网才能访问到的链接。前言平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文的同学们可以拿出自己日常觉得帮助很大的工具,大家一起进步。闲话不多说,开搞。Linux

2020-06-29 22:44:15 296

转载 面试美团,面试官突然问我 Java “锁” ,我哭了

前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录:1. 乐观锁 VS 悲观锁乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。在Java和数据库中都有此概念对应的

2020-06-17 18:25:55 361

转载 潘石屹首次Python考试成绩 99 分,失分点:画完图后忘了隐藏画笔的箭头

5 月 16 日凌晨,房地产大佬、SOHO 中国董事长潘石屹在微博晒出了自己的第一张 Python 考试成绩单:99 分,优秀!至于为什么减掉了 1 分,潘石屹表示是因为「画完图后忘了隐藏画笔的箭头」。对此,网友也给出了神回复:「还有一分怕你骄傲。」潘石屹和 Python 的故事,大概开始于去年 11 月。2019 年 11 月 14 日,潘石屹突然在微博上表示:自己要学 Python 了。这一天刚好是他的 56 岁生日。他解释说,自己之所以选择 Python,是因为「Python 是计算机语

2020-06-09 20:52:31 410

原创 Google确认Chrome存在严重漏洞,向20亿用户发出警告:你们需立即更新浏览器

近日,Google面向二十亿Chrome浏览器用户推出至关重要的补丁程序,并再次强调大家需要立即更新其浏览器。如果你在Mac,Windows 10或Linux计算机上使用的是Google Chrome浏览器,则需要立即通过更新浏览器版本来安装新的安全补丁。据安全专家称,浏览器中的新漏洞可能会影响超过20亿用户。这起严重的安全漏洞事件的来龙去脉还要追溯到上个月中旬。4月份的时候,专注于网络安全的技术支持网站Sophos发布了一篇报告,提到Google悄悄更新了Chrome浏览器相关的一项警告。根据

2020-06-08 19:50:00 459

原创 再见!杭州!再见!阿里巴巴!

最近和在北京的朋友老冯聊天,老冯说他要离开阿里了,我和老冯是在14年北京租房时认识的,当时老冯招租室友,我加了微信,约看房,后来才知道他也是个程序员,但是因为我那时没啥钱,最后和我另外一些做开发朋友一起合租了。虽然没有一起合租,但是都是程序员,都是一个方向的开发,也经常和老冯一起玩。关于老冯的详细介绍,可以看去年写的这篇文章《在阿里工作几年,女友跑路,晋升无望,买不起房,我活成了一个笑话~》当时我建议老冯跳槽,但是老冯觉得再自己最落魄的时候去市场跳,没有优势,所以想再争取升了P7,然后再走。所以他去年下半

2020-06-05 22:05:00 6089 12

转载 细思极恐,你真的会写java吗

讲述方向由于一直从事移动互联网相关工作,java开发中经常和移动端打交道或者做一些后端的工作,所以本篇文章更可能涉及和移动端的交互或者与后端的交互方式,笔者希望以自身的一些学习经验或者开发经验,可以带动认真阅读本篇文章的读者们,让大家对java有一个更好的态度去学习它,它不只是一个赚钱的工具而已。笔者身边有很多与笔者年龄相仿或年龄更大的朋友或同事,经常有人问我:“你现在还在学习吗?我觉得没什么好学的,这些东西都差不多”,我总是回答只要有时间,我就要看一会书,这个时候,大家都会露出一副不屑的眼神或笑容。其

2020-06-04 20:32:26 437 1

原创 阿里巴巴Java 程序员常用的 10 款开源工具!用好了,事半功倍!

本文主要介绍阿里巴巴Java程序员常用的一些基本和高级工具。如果你是一位经验丰富的Java开发人员,你可能对这些工具很熟悉,但如果不是,现在就是是开始学习这些工具的好时机。Java世界中存在许多工具,从Eclipse,NetBeans和IntelliJ IDEA等著名的IDE开始到Java开发人员应该知道的JVM分析和监视工具,如JConsole,VisualVM,Eclipse Memory Analyzer等。尽管如此,在本文中,我将重点介绍适用于各种Java开发人员的通用工具,例如核心Java 开

2020-06-03 20:03:58 454

转载 3 年经验的 Java 后端妹子,横扫阿里、滴滴、美团,整理出这份厚厚的 8000 字面经!

自序这次面试的公司有一点点多,主要是因为毕业后前两份工作找的都很草率,这次换工作就想着,emm,毕业三年了,该找个工作好好沉淀几年了。先说下这次面试的结果吧:到 hr 面的:阿里、美团、滴滴、金山云、每日一淘、火币、宜信、旺店通、黄包车、linkedMe其他:小米 (四轮技术面,大概4个小时的样子,大数据部门,不知道是不是四面的负责人嫌弃我木有大数据的经验,不过我确实木有哈)京东 (电话面试一轮+现场两轮,面试完快中午一点了,说是让我先回家,后面让hr 电话联系我一周后一面的面试官问我还考虑京

2020-06-02 20:53:56 496

转载 2020 年最棒的 9 个 Java 框架,哪个最香?

自 1995 年推出以来,Java 已被 134861 个网站(如ESPN,SnapDeal,阿里巴巴等)使用。在 24 年的发展历程中,Java 已证明自己是为软件开发而生的顶级通用编程语言。Java 广泛用于科学和教育,金融,法律和政府等许多行业。在下面提供的饼图中,您可以看到 Java 语言在各个行业中的应用。Java 是开源和面向对象的,其开发目的是使应用程序开发人员可以编写一次然后在任何地方运行(WORA)。这使编译后的 Java 代码可以在支持 Java 的各个平台上运行。Java 的最

2020-06-01 20:33:10 462

原创 CTO:不要在 Java 代码中写 set/get 方法了,逮一次罚款

前言what?你的 Java 代码中还充斥着大量的 set/get 方法?我们在刚开始学习 Java 语言的时候讲过,面向对象的三大特征就是封装,继承,和多态。在 Java 中,要保证封装性,需要将成员变量私有化,对外提供 set/get 方法来访问,虽然现在的 IDE,像 eclipse,IDEA都提供了快捷键,来生成 set/get 方法,但是在做项目的时候,一个 JavaBean 往往会有很多的成员变量,一个变量对应两个方法,如果有10几个成员变量,那么会对应20多个方法,也许还要去写构造器、eq

2020-05-29 20:57:51 445

转载 面试常考:Java中synchronized和volatile有什么区别?

在我的博客和公众号中,发表过很多篇关于并发编程的文章,之前的文章中我们介绍过了两个在Java并发编程中比较重要的两个关键字:synchronized和volatile我们简单回顾一下相关内容:1、Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurren包等。2、synchronized通过加锁的方式,使得其在需要原子性、可见性和有序性这三种特性的时候都可以作为其中一种解决方案,看起

2020-05-28 21:35:35 475

转载 图解 Java 垃圾回收机制,写得非常好!

什么是自动垃圾回收?自动垃圾回收是一种在堆内存中找出哪些对象在被使用,还有哪些对象没被使用,并且将后者删掉的机制。所谓使用中的对象(已引用对象),指的是程序中有指针指向的对象;而未使用中的对象(未引用对象),则没有被任何指针给指向,因此占用的内存也可以被回收掉。在用 C 之类的编程语言时,程序员需要自己手动分配和释放内存。而 Java 不一样,它有垃圾回收器,释放内存由回收器负责。本文接下来将介绍垃圾回收机制的基本过程。第一步:标记垃圾回收的第一步是标记。垃圾回收器此时会找出哪些内存在使用中,还有

2020-05-27 20:38:24 465

转载 别在 Java 代码里乱打日志了,这才是正确的打日志姿势!

使用slf4j使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。实现方式统一使用: Logback框架打日志的正确方式什么时候应该打日志当你遇到问题的时候,只能通过debug功能来确定问题,你应该考虑打日志,良好的系统,是可以通过日志进行问题定为的。当你碰到if…else 或者 switch这样的分支时,要在分支的首行打印日志,用来确定进入了哪个分支经常以功能为核心进行开发,你应该在提交代码前,可以确定通过日志可以看到整个流程基本格式必须使用参数化信息的方式:logg

2020-05-26 20:31:19 483

转载 聊一聊Java 泛型中的通配符 T,E,K,V,?

前言Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型带来的好处在没有泛型的情况的下,通过对类型 Object 的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是本身就是

2020-05-25 21:42:13 482

转载 Java开发最常犯的10个错误,打死都不要犯!

阅读目录Array转ArrayList判断一个数组是否包含某个值在循环内部删除List中的一个元素HashTable与HashMap使用集合原始类型(raw type)访问级别ArrayList和LinkedList可变与不可变父类和子类的构造方法“”还是构造方法未来工作这个列表总结了10个Java开发人员最常犯的错误。1、Array转ArrayList当需要把Array转成ArrayList的时候,开发人员经常这样做:List<String> list = A

2020-05-24 21:22:01 512

转载 Google 出品的 Java 编码规范,强烈推荐,权威又科学!

这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准。然而,这份文档主要侧重于我们所普遍遵循的规则, 对于那些不是明确强制要求的,我们尽量避免提供意见。1.1 术语说明在本文档中,除非另有说明:1、术语class可表示一个普通类,枚举类,接口或是annotation类型( @interface)2、术语

2020-05-15 20:56:02 802

转载 终于明白 Java 为什么要加 final 关键字了!

在开发过程中,由于习惯的原因,我们可能对某种编程语言的一些特性习以为常,特别是只用一种语言作为日常开发的情况。但是当你使用超过一种语言进行开发的时候就会发现,虽然都是高级语言,但是它们之间很多特性都是不太相同的。现象描述在 Java 8 之前,匿名内部类在使用外部成员的时候,会报错并提示 “Cannot refer to a non-final variable arg inside an inner class defined in a different method”:但是在 Java 8 之

2020-05-14 20:42:57 760

转载 这10道大厂Java面试题,我敢打赌90%的人都不会!!!

这是我收集的10个最棘手的Java面试问题列表。这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题。你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java 知识,但这些问题都是容易在各种 Java 面试中被问到的,而且包括我的朋友和同事在内的许多程序员都觉得很难回答。1.为什么等待和通知是在 Object 类而不是 Thread 中声明的?一个棘手的 Java 问题,如果 Java编程语言不是你设计的,你怎么能回答这个问题呢。Java编程的常识和深入了解有

2020-05-13 21:32:42 722

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