自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于我视频的资料文档获取方式

点击→资料获取

2021-05-13 11:43:25 9

原创 一张单词表!Java So Easy!(1)

一张单词表!Java So Easy!相信小伙伴们在开发中经常遇到特别特别多的单词,就像乱码一样“*#**#”。这里给大家整理的词汇表是编程常见词汇表,总共收集了编程中常见的500左右的词汇量。小伙伴们如果觉得有用,记得持续关注我哦,会给大家继续带来更多的福利!“每天5个单词,学习So easy”。想要升级版1800词汇表或2020最新全套学习资料带视频文档工具源码的小伙伴可以加这个卫星:lezijie007(程序员暗号:1024)单词音标注释public[ˈp

2020-07-23 15:43:32 287 1

原创 Redis都要老了,你还在用什么古董客户端?

前几日,Redis 创始人 Antirez 在他的个人博客上宣布将结束自己的 Redis 之旅!大神累了,Redis老了,但Redis依旧很火。Redis的Java客户端有很多,比如jedis、redisson、lettuce等。那大家都在用啥呢?今天我做了一个小调查。下面是统计结果。可以看到jedis以绝对的优势占据了榜首。下面简单的分析一小下。jedisjedis和redis只相差1个字母。我通常把它叫做redis和Java的合体。它有以下特点:非常的轻...

2021-06-16 18:54:45

原创 新一代缓存Caffeine,速度确实比Guava的Cache快

我想把记忆缓存起来,等再次见到你,就能够很快认出你。能够说出这么有哲理的话,得益于我对缓存的理解,以及对它的看重。没有了缓存,我的人生就没有了意义。缓存是非常重要的,工作中大部分工作可以说是和缓存打交道。由于使用广泛,所以针对缓存系统的任何优化,如果能够提高一丁点儿性能,就会让人无比兴奋。很长一段时间,我都在用Guava的LoadingCache。它和ConcurrentHashMap是非常像的,但在其上封装了一些好用的逐出策略和并发优化,就显得好用的多。今天主要说的是Caffeine...

2021-06-15 18:49:52 10

原创 Redis的zset有多牛?请把耳朵递过来

本篇文章很短,但信息量很大,是关于redis的zset。我来分享一点遇到过的线上数据,或许对你的决策有帮助。redis支持一个数据结构,叫做zset,也就是有序的列表。当然redis也不能滥用,可以看我以前的规范文章:《这可能是最中肯的Redis规范了》(opens new window)忘了zset是个啥的同学可以看这张gif图。通过它,可以实现游戏排行榜一类的功能,或者实现Topx这样的需求,也能精准的让用户在海量数据中找到自己的位置。zset的底层结构是跳跃表,而与之类似...

2021-06-15 18:47:25 1

原创 神奇的闪电缓存,带系统飞

缓存,在高并发的应用中,用的那是相当多。为什么?就因为I/O实在是慢!为了解决不同组件之间的速度差,大家都寄希望于加入一个中间层,期待产生一些魔幻的事。就拿Redis来说,火的就一塌糊涂,但中间会产生很多数据同步和数据一致性问题。有的牛x公司嫌烦,同时有钱,干脆干掉缓存后面的DB,直接把所有的数据放在了缓存上。哦不,这时候缓存已经不叫做缓存,应该叫做快存,因为它最终是要通过rdb落地的。看到这里,先不要怀疑事实的正确性。有些公司的业务,确实不需要什么关系型数据库,一个redis就能玩得转。...

2021-06-09 17:18:51 10

原创 和 杠精 聊Redis多线程

周末被一位小同学憋的很窝火。 他要和我探讨一下,redis到底是多线程的还是单线程的。这个问题本来比较好解释,但我遇到的却是一个杠精。答案是显而易见的:redis6,逃不过真香定理,引入了多线程;而在redis6之前,却是单线程的。也就是说,这不是一个是和否的问题,还涉及到第二维度的版本参与。可是,这位同学要打我的脸。不知道小姐姐的脸皮很嫩么?摸不得。“照你的逻辑,redis5是单线程的了?”“是的。”“那下面这张截图是怎么回事?”同学甩给我一张图,并送来一个鄙视的眼神。...

2021-06-09 17:18:37 11

原创 与亲生的Redis Cluster,来一次亲密接触

笔者曾经维护过上千个redis实例,这些实例采用的简单主从结构,集群方案主要是客户端jar包。刚开始,个人并不是太喜欢redis cluster,因为它的路由实在是太死板,运维复杂。但官方在推这个东西,注定了它的应用越来越广泛,这在平常的交流中就能够发现。虽然有这样那样的缺点,但总抵挡不了权威推动的浪潮。随着redis cluster越来越稳定,是时候和redis cluster来一次灵魂交流了。简介redis cluster是亲生的集群方案,目前,在高可用和稳定性方面,都有了很大的进步。...

2021-06-07 19:00:18 58 1

原创 这可能是最中肯的Redis规范了

redis功能强大,数据类型丰富,再快的系统,也经不住疯狂的滥用。通过禁用部分高风险功能,并挂上开发的枷锁,业务更能够以简洁、通用的思想去考虑问题,而不是绑定在某种实现上。Redis 根据不同的用途,会有不同的持久化策略和逐出策略,所以,在使用和申请 Redis 集群前,请明确是用来做缓存还是存储。redis 的集群有主从和 cluster 两种模式,各有优缺点。以下规范不区分集群模式,我们分别从使用场景和操作限制两方面说明。使用规范冷热数据区分虽然 Redis支持持久化,但将所有...

2021-06-03 19:17:03 19

原创 Redis,就是这么朴实无华

Redis是2009年发布的,到今天已经超过10岁了。作为必备技能之一,关于它也有聊不完的话题。本文中的任何一个点,都可以展开,完成一篇中等规模的文章。交流和面试时,你需要用最精准的语言进行描述,那么本文比较适合你。redis能力:1 0W/s QPS (redis-benchmark) 1w+ 长链接 (netstat / ss) 最复杂的Zset 6kw数据 写入1k/s 读取5k/s 平均耗时5ms 持久化 (rdb)1. 基本概览学习一门新语言,重要的是掌握它的基本数据...

2021-06-03 19:16:31 50

原创 冷门instrument包,功能d炸天

文中代码示例工程如下,更多参考btrace和arthas:https://github.com/sayhiai/example-javaagent5版本以后,jdk有一个包叫做instrument,能够实现一些非常酷的功能。市面上一些APM工具,就是通过它来进行的增强。这是基础架构的必备技能,但对业务开发来说并不是。许多面试会问到这个知识点,并不是因为将来会用到,而是因为你说对jdk比较熟悉,他想杀杀你的威风。不会用没问题,但你要说不知道,就过分了点。javaagent介绍...

2021-06-02 17:41:18 4

原创 为什么给Java代码加个空行,class文件就翻脸不认人了?

public class HelloWorld { public static void main(String[] args) { System.out.println("love dog"); }}为了写出这几行优美的代码,主要是为了让它输出的优美动听的乐符,我下了一番功夫。你不要觉得简单,我把它打印出来给普通的保洁阿姨去看,阿姨竟然连我都认不出来。别说代码了,中英文混血,就秒杀一大堆高干分子。想说爱我就那么难么?怎么这么多的废话呢?这次探讨的主要问题...

2021-06-02 17:41:01 2

原创 JAVA堆外内存排查小结

简介JVM堆外内存难排查但经常会出现问题,这可能是目前最全的JVM堆外内存排查思路。通过本文,你应该了解:pmap 命令 gdb 命令 perf 命令 内存 RSS、VSZ的区别 java NMT起因这几天遇到一个比较奇怪的问题,觉得有必要和大家分享一下。我们的一个服务,运行在docker上,在某个版本之后,占用的内存开始增长,直到docker分配的内存上限,但是并不会OOM。版本的更改如下:升级了基础软件的版本 将docker的内存上限由4GB扩展到8GB 上上...

2021-06-01 19:05:35 32

原创 为什么给Java代码加个空行,class文件就翻脸不认人了?

public class HelloWorld { public static void main(String[] args) { System.out.println("love you"); }}为了写出这几行优美的代码,主要是为了让它输出的优美动听的乐符,我下了一番功夫。你不要觉得简单,我把它打印出来给普通的保洁阿姨去看,阿姨竟然连我都认不出来。别说代码了,中英文混血,就秒杀一大堆高干分子。想说爱我就那么难么?怎么这么多的废话呢?这次探讨的主要问题...

2021-06-01 19:05:13 4

原创 我1万字,也讲Java不清内存排查。1万不行来2万~.~

本篇文章是《Java内存故障?只是因为你不够帅!》(opens new window)这篇文章的续篇。上篇侧重于理论,本篇侧重于实践。对于内存问题排查来说,搞理论的痛苦,搞实践的也痛苦,没有一片清净之地。why?因为内存溢出是Java码农永远的伤。溢出有很多种解释,有精满自溢,有缓冲区溢出攻击,还有另外一种叫做领导的溢出。不知道什么叫作溢出理论。内存溢出什么最重要?其实,内存溢出就像是一场交通事故。事故的发生方,就是具体的服务;事故的处理方,就是相关的程序员。其中有一个最重要的环节,...

2021-05-31 17:56:58 34

原创 Java内存故障?只是因为你不够帅!

从小我就对Java有着深厚的感情,算下来有几十年的Java经验了。当年的Java还是Sun公司的,我有着多年的Servlet经验,CURD经验,在现在已经被自我革新,转而研究人生的哲学。罢了,不吹了。本文是关于Java故障排查的,属上篇。为了保证文章的流畅性,我决定一口气把它写完。因为相关方面的培训做的多了,就不需要在写的时候参考资料、翻源代码。掐指一算,本文一个小时没花掉,但篇幅已经较长了。长了,那就割断。本篇就定为内存排查的上篇,主要讲一些原理。为什么要讲原理?开车还需要了解汽车结构么?这还

2021-05-31 17:47:22 3

原创 开车了,JMC坐稳 (jfr)

今天我们要开的车是,江铃汽车。全称Jiangling Motors Corporation,简称JMC。一车在手,吃喝不愁。车作为男人的第二个老婆,拥有一辆JMC是所有成功男人的梦想。打开小小的车窗,任嘶吼的狂风揉捏自己的面庞,是一种让人无比享受的存在。列车驶向何处,前方又是何方,全在掌舵者一念之间。程序员掌舵,当然与众不同。我们今天的列车,就是jmc监控工具。呸,撞车了。与JMC撞车的,也是jmc,全称Java Mission Control,是故障排查的一大利器。在世风日...

2021-05-28 18:49:45 4

原创 Java内存故障?只是因为你不够帅!

从小我就对Java有着深厚的感情,算下来有几十年的Java经验了。当年的Java还是Sun公司的,我有着多年的Servlet经验,CURD经验,在现在已经被自我革新,转而研究人生的哲学。罢了,不吹了。本文是关于Java故障排查的,属上篇。为了保证文章的流畅性,我决定一口气把它写完。因为相关方面的培训做的多了,就不需要在写的时候参考资料、翻源代码。掐指一算,本文一个小时没花掉,但篇幅已经较长了。长了,那就割断。本篇就定为内存排查的上篇,主要讲一些原理。为什么要讲原理?开车还需要了解汽车结构么?...

2021-05-28 18:49:18 3

原创 必看!java后端,亮剑诛仙

你可能有所感悟。零散的资料读了很多,但是很难有提升。到处是干货,但是并没什么用,简单来说就是缺乏系统化。另外,噪音太多,雷同的框架一大把,我不至于全都要去学了吧。这里,我大体根据基础、Java基础、Java进阶给分了下类,挑的也都是最常用最重要的工具。这篇文章耗费了我大量的精力,你要是觉得好,请不要吝啬你的赞。最新的内容会在github持续更新,添加新的精选相关文章。地址:https://github.com/sayhiai/javaok基础知识数据结构基本的数据结...

2021-05-27 17:24:31 26

原创 卓越性能 の 军火库

在介绍性能优化的军火库之前,先来扯几句题外话。希望这些题外话,能打消你追求卓越性能的理想,来甘心当一枚圆滑的钉子。我是非常不推荐程序员,对公司的业务,进行性能优化的。说这话,纯粹是基于个人自身安全考虑。因为性能优化,在大多数公司,属于费力不讨好的工作项。追求极简的代码,性能卓越的代码,是有追求的程序员的目标。但随着经历了大大小小的公司,我发现很多优秀的程序员,在经受着这种追求的反嗜,以至于痛不欲生。下有下面几点原因,虽然我们知道它肯定是错的,但我们无能无力:公司按照完成的功能,对程序员...

2021-05-27 17:24:21 27

原创 命令行版星球大战#挖坟会不会被打?

很古老的小东东了,挖出来暴尸。在任何平台,使用telnet即可开启视觉盛宴。telnet towel.blinkenlights.nl或者,使用瑞士军刀nc。nc -v towel.blinkenlights.nl 23nc -l -p 80监听本机的80端口。nc -nvv -w2 -z 192.168.x.x 80-445扫描192.168.x.x的tcp 80到tcp 445的所有端口nc -l -p 5432 -t -e /bi...

2021-05-26 16:49:53 13

原创 Vim,第三只手

Vim非常的好用,以至于我现在的IDE,包括VSCode、Idea甚至是Chrome等,首先就要安装一个Vim的插件,体验那如飞的感觉。不过Vim的上手门槛不是很低,相当于重新学习了一遍打字。加上其中有很多技巧,造成了很多同学没有耐心学习下去。不过,想要让自己的双手真正飞起来,还是需要勤加练习,多看文档。虽然Vim已经有了中文文档,但看起来还是太费劲了,没有大把时间很难进行下去。我这里收集了很多Vim的键盘图,现在分享给大家。很多其实图有高清版,是可以定制成非常漂亮的鼠标垫的。<...

2021-05-26 16:39:32 1

原创 Vim漫游键,为什么不设定左手?介绍一种5x倍速漫游方式

先给大家讲个故事。老家的一个小孩,习惯用左手吃饭,就连擦屁股,都是用左手拿纸。结果,这个习惯,被他粗心的奶奶发现了,不知出于什么原因,暴躁如虎。接下来,这位奶奶每天在他身边念叨、念叨...,甚至上了刑。前几天回去一瞧,这习惯竟然硬生生给改变了。老远就能看见,娃娃右手甩的小陀螺,滴溜滴溜直转。我侧了侧身子和孩子保持一个方向,弯腰比划了下手势,确认是右手无疑。为什么要强迫孩子用右手?因为她自己用的就是右手,基础设施也都是右倾,她就觉得左手不伦不类。Vim的问题vim对于程序员来说,无疑是

2021-05-25 18:03:44 7

原创 使用expect实现自动2步登录

以前的公司,由于机器太多太多,使用了跳板机。it觉得仅证书系统不够安全,所以开启了二次验证。也就是每次登陆,都要Google Authenticator中的动态令牌。但我不想每次登陆机器都输入这个动态密码。expect命令可以实现自动交互式任务,自动输入一些信息,无需人为干预,可以很方便的完成自动登录的功能。expect基本有以下几个命令:expect从进程接收字符串,判断后可以执行命令spawn启动新的进程send用于向进程发送字符串interact允许用户交互一个简单...

2021-05-25 16:56:58 4 1

原创 工作的时候在终端画画、炒股、玩游戏

工作是为了啥啊,不就是生活;生活是为了啥啊,不就是为了乐子;乐子从哪来?不就是自以为是的欲望得到满足么!如果要加个形容词,那就是优越感。 ????一个shell终端,黑漆漆的,总觉得缺少生机。其实除了盯下日志,也可以用来玩游戏,甚至可以用来炒股盯盘。可怜的老板还以为你在工作呢,呵呵。在命令行版星球大战 # 挖坟会不会被打? (opens new window)中,我们看到有通过telnet看电影的这种神器。有意思的东西还有很多。我们统一把无功效、无回报、小众的这种东西,称做艺术。字符

2021-05-24 16:32:36 2

原创 LWP进程资源耗尽,Resource temporarily unavailable

服务器环境使用root账户运行应用程序是非常危险的,容易让人拿到shell变成肉鸡。所以有点意识的团队,都会建立一个低权限的普通用户用来运行java程序。权限低,有点不像亲儿子,在资源紧张的困难时刻尤其能看出来。现象问题是在一台公用的测试环境机器发生的,正式环境并没有复现。这台服务器部署了几十个服务,且部署账户最近从root切换到了bot。运行一段时间后,服务器频繁发生问题了。首先,有大量连接处于CLOSE_WAIT状态,一度以为是被动关闭的问题。但并不是。netstat -antp

2021-05-24 11:36:40 9

原创 别小看tail 命令,它难倒了技术总监

tail命令能够看到日志的滚动,非常方便。于是xjjdog想,既然我们能够用这个命令,看到所有的日志,那能不能使用tail命令,做日志收集呢?想象归想象,如果你想要一个快速的实时日志收集工具,那tail确实是个非常棒的工具。它比什么flume、logstatsh,比什么filebeat之类的,快捷的多。事实上,在工具缺乏的旧年代,我就曾经这么干过,而且它工作的很好。下面是一段使用Java语言书写的代码。我们可以按行读取日志,然后使用自己喜欢的语言,做任何事情。import java.io.Bu

2021-05-21 15:12:03 1

原创 实力解剖一枚挖矿脚本,风骚操作亮瞎双眼

公司有几台机器,最近cpu一直在疯转,就像是吃了春药,一直在发热。由于机器实在是太多,有这么几台安全性防护没有到位,就一直躺在角落里疯狂运转。直到统一的监控脚本接管了这几台机器,异常情况才得以浮出水面。最后发现了多个奇奇怪怪的进程,发现是一个挖矿脚本。下载下来学习了一下,发现脚本的编写者,有着较高的水平。虽然在别人机器进行挖矿行为是不道德的,但掩盖不了脚本编写者的风骚操作。挖矿,是计算机技术界最让人迷惑的行为之一,但它赚钱。据悉,这段脚本名叫DDG,已经挖取了价值一千多万人民币的虚拟币货币。本着

2021-05-21 10:46:05 5

原创 0条Linux命令锦囊,防你牢底坐穿

http://xjjdog.cn 对200+原创文章进行了细致的分类,阅读更流畅,欢迎收藏。每一年,都会有删库跑路的新闻。现实中,删库容易,跑路难,从业者充满了泪水。这些动作里面,并不总是存在主观的恶意,而是这些命令太危险了。线上操作时,一定要保持清醒的头脑,切记马虎大意。你说你误操作的,谁信呢?切记:严禁酒后登录线上服务器操作 严禁吵架后情绪激动登录线上服务器操作 严禁长时间加班后操作线上环境 禁止在线上试验不熟悉的命令 重要系统先做备份1. 准备工作在执行危险命令...

2021-05-20 11:02:42 32 1

原创 kill -9”一时爽,秋后算账泪两行

kill是杀死的意思,带有主动的意味。鉴于master、slave这样的名词,需要在计算机软件中进行整改,kill这样明显带有负面信息的单词,按理说也需要被干掉。不过,如果把命令名字改了,效果也许会更好。因为在Linux上,kill根本就不是杀死的意思。它只是想要给进程发送一个信号而已。使用kill -l可以看到长长的信号列表。对Java程序员来说,用的最多的就是kill -9,我也不知道从哪里来的传承,码农们都喜欢这种暴力性的命令--喜欢用锋利的匕首一击致命。但是这种玩法又危险的...

2021-05-20 10:53:38 12

原创 失联的架构师,只留下一段脚本,唉……

我对Linux非常的精通,尤其是脚本语言比如sed、awk、python等,用起来更是炉火纯青。我把它作为自己一个非常特立独行的技能,一个和其他普通程序员区别开来的技能。所以在我写脚本的时候,我都会自豪的抬高我的头,鼻孔朝天冥思精悍的code。比如,看到别人一遍遍的翻文档安装elasticsearch这个软件,xjjdog就浑身难受,就写了脚本来加快这个过程。mkdir /datauseradd es -d /data/eschown -R es:es /datacat > /e...

2021-05-19 14:55:49 152 2

原创 作为高级Java,你应该了解的Linux知识

作为一个javaer,我以前写过很多关于Linux的文章。但经过多年的观察,发现其实对于大部分人,有些东西压根就用不着。用的最多的,就是到线上排查个问题而已,这让人很是苦恼。那么,我们就将范围再缩小一下。Linux命令好像还真不少,根本原因就是软件多,也有像ag这样的命令想替代grep,但大多数命令古老而坚挺。不是因为这些软件设计的有多好,原因是一些软件最开始入驻了系统,时间久了,就变成了一种约定,这种习惯改变代价太大,就像把所有键盘的L和F换一下一样。这片文章假定你已经了解大多数Linu...

2021-05-19 14:52:05 12

原创 JAVA多线程使用场景和注意事项

我曾经对自己的小弟说,如果你实在搞不清楚什么时候用HashMap,什么时候用ConcurrentHashMap,那么就用后者,你的代码bug会很少。他问我:ConcurrentHashMap是什么? -.-编程不是炫技。大多数情况下,怎么把代码写简单,才是能力。多线程生来就是复杂的,也是容易出错的。一些难以理解的概念,要规避。本文不讲基础知识,因为你手里就有jdk的源码。线程Thread第一类就是Thread类。大家都知道有两种实现方式。第一可以继承Thread覆盖它的ru...

2021-05-18 09:40:49 15

原创 死磕面试系——mysql的索引有哪些?为什么要这么设计?

标签:【中级】【数据库】【数据结构】1. 问mysql的索引有哪些种类,使用了什么样的数据结构,为什么要使用这种结构2. 分析这种题目还真的不太好回答,因为它非常考验总结能力。所以这里就总结一下。从不同的角度去聊,索引的种类也不同。比如:从物理存储角度:会有聚集索引和非聚集索引之分;从数据结构角度:会有B+Tree和Hash等等之分。不过,鉴于国内通常喜欢聊B+树这一特点,这问题大概率是在考察应聘者对于B+Tree这种设计的折衷。此问题面试频率高,且涉及非常多的细节。本文只...

2021-05-18 09:22:36 4

原创 死磕面试系列——redis分布式锁与zk分布式锁区别?

标签:【高级】【Redis】【ZooKeeper】1. 问redis分布式锁与zk分布式锁区别?2. 解析这个问题对面试者要求较高,它不仅要了解实现方法,还要对原理有所掌握。所以问题回答起来,分为很多层次。众所周知,Redis标榜的是轻量级,直观上分布式锁是比较好实现的,比如使用setnx,但一旦加入高可用这个属性,Redis锁的实现难度就会爆炸式上升。再加上锁的其他几个属性:乐观悲观、读写锁等,事情会更加的复杂。如果你全都知晓,聊一天都聊不完。3. 答先来一个,比...

2021-05-17 15:05:28 19

原创 死磕面试系列——ThreadLocal夺命4问

摘要:一个折磨很多人的问题阅读本文需要首先大体了解ThreadLocal。不啰嗦,直接进入正题。标签:【各种级别】【Java】【源码】1. 问连环四问:ThreadLocal的原理? 内存泄漏的原因? InheritableThreadLocal用过吗? Netty的FastThreadLocal是什么?2. 分析ThreadLocal作为实现“线程封闭”的最主要的编程手段,经常被使用。比如,比如,传统的SimpleDateFormat,不是线程安全的。如果你声明成全局...

2021-05-17 09:45:05 9

原创 死磕面试系列——请说出读写锁的公平锁和非公平锁特点及其原理

1. 问读写锁里面两个特性,一个公平性,一个读和写。原理是什么样子?2. 解析说实在的,我也很讨厌面试这种源码级别的问题,没啥鸟用,也考验不出来应聘者的实际水平。懂源码难道就代表技术好?不过bat都是这么面的。所以你只能适应。用面试的话来说就是、筛选一下、懂原理的优先。矮个子里面挑高个子。我觉得还是要以线上优化,线上问题的解决方案,项目的技术架构设计为主要面试目的。不过话说回来,如果你面的是高级Java,这个不了解,基本上是没戏的。3. 答公平锁指的是按照线程请求的顺序,来分配...

2021-05-17 09:30:42 5

原创 死磕面试系列-HashMap如何根据Key的自然排序输出?Value呢?

标签:【入门】【Java】#问题HashMap如何根据Key的自然排序输出?Value呢?#意图为什么会有这么简单的问题?在平常的面试中,我发现,确实有很大一部分同学答不上来。这是缺乏实践经验和联想能力,只能说sorry了此题用来检测是否能够灵活应用Java的API。如果这道题都答不出来,那面试可想而知。#方式1第一种方式,使用stream流。其实很乱的代码。import java.util.HashMap;import java.util.LinkedHash...

2021-05-14 17:14:35 1

原创 spring中,以 Aware结尾的类,都是干什么用的?能举例说明么?

死磕面试系列。标签:【初级】【Spring】在我们平常的编码中,如果你使用Spring,会发现大量以Aware结尾的类。它们有什么规律么?面试官想从中获取些什么?#1. 问spring中,以 Aware结尾的类,都是干什么用的?能举例说明么?#2. 解析题目用于考察面试者的基础编码能力和总结能力。本题目属于初级定位,因为ApplicationContextAware的使用频率很高,使用Spring就一定会遇到。#3. 答Aware就是感知的意思,一般以该单词结尾的类,都实现了

2021-05-14 09:37:23 20

原创 因为我从小就对Java感兴趣,所以我研究了

从小我就对Java有着深厚的感情,算下来有几十年的Java经验了。当年的Java还是Sun公司的,我有着多年的Servlet经验,CURD经验,在现在已经被自我革新,转而研究人生的哲学。罢了,不吹了。本文是关于Java故障排查的,属上篇。为了保证文章的流畅性,我决定一口气把它写完。因为相关方面的培训做的多了,就不需要在写的时候参考资料、翻源代码。掐指一算,本文一个小时没花掉,但篇幅已经较长了。长了,那就割断。本篇就定为内存排查的上篇,主要讲一些原理。为什么要讲原理?开车还需要了解汽车结构么?这还

2021-05-13 15:49:30 4

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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