自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 使用Intellij IDEA 解决Java8的数据流问题,看完记得收藏!

我们打算将Pondus的所有生产服务器升级到这一新版本。从那时起,我们将大部分代码库迁移到lambda表达式、数据流和新的日期API上。我们也会使用Nashorn来把我们的应用中运行时发生改变的部分变成动态脚本。除了lambda,最实用的特性是新的数据流API。集合操作在任何我见过的代码库中都随处可见。而且对于那些集合操作,数据流是提升代码可读性的好方法。但是一件关于数据流的事情十分令我困扰:数据流只提供了几个终止操作,例如reduce和findFirst属于直接操作,其它的只能通过collect来访问

2020-06-29 10:29:45 369

原创 深度好文:Linux系统内存知识,看完还不会请来找我

Linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性。本文主要介绍Linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,Linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。从内存的原理和结构,到内存的算法优化,再到使用场景,去探寻内存管理的机制和奥秘。一、走进Linux 内存1、内存是什么?1)内存又称主存,是 CPU 能直接寻址的存储空间,由半导体器件制成2)内存的特点是存取速率快2、内存的作用1)暂时存放 cp

2020-06-29 10:26:32 120

原创 这 10 行比较字符串相等的代码给我整懵了,你要是不信你来试试?

抱歉用这种标题吸引你点进来了,不过你不妨看完,看看能否让你有所收获。(有收获,请评论区留个言,没收获,下周末我直播吃**,哈哈,这你也信)先直接上代码:boolean safeEqual(String a, String b) { if (a.length() != b.length()) { return false; } int equal = 0; for (int i = 0; i < a.length(); i++) { equal |

2020-06-29 10:16:38 208

原创 Java后端需要学习哪些技术?这是2020年最新Java学习路线!

2020年想要学好Java技术,从事这方面的岗位工作,需要学习哪些技术?我给出的学习路线是:Javase/数据库/jdbc/前端基础/javaweb/spring/mybatis/maven/springboot/reids/springcloud/linux/git。Javase:java基础,既然是基础,那肯定是最重要的,所以学习的时候也是需要重点学习的地方。数据库:为什么要学数据库呢,因为我们的web数据需要持久化到磁盘上统一管理,而数据库无疑就是最好工具。目前主流的关系型数据库有mysql 和

2020-06-24 10:51:24 1626

原创 初学者学习Java,有哪些地方和技巧是我们需要注意的?

多年Java经验总结需要注意的地方和技巧如下:1.编程思维学习Java开发核心在于一个“编程思维”,因为每段代码都不一样,都需要分别去看,所以只要你掌握了学习Java的编程思维,那么写程序对于你来说,就只是先分析业务,然后编码就可以了。2.代码量任何一个Java开发高手都是大量的代码堆积出来的,有很多人只是看视频看书而已,视频或者书只是让你了解Java都学什么内容。按照自己的理解这些知识点,然后大量的代码决定你的技术能达到什么样子的水平和熟练度。其实世界上不存在天才,天才都是这件事情做的多了,就熟.

2020-06-23 10:07:02 150

原创 具备哪些实力,才可以找到一份Java实习的工作?

现在Java软件开发的专业一直都是热门,有很多专业的学生,比如电子、机械、会计、土木等等专业由于专业本身没有更高的提升空间,所以现在的年轻人更加喜欢做一些科技前沿的工作,毕竟现在接触的都是电子产品。而Java开发是大部分人选择的原因是因为需求量大,工资非常高。在北京这样的城市,只要自己肯努力肯付出,可以达到年薪50W。而就算一个中级开发者,也可以达到年薪30W的级别,不断提升技术。但是Java软件开发这块对于技术能力要求很高,现在企业招聘也需要有工作经验的,这就让很多学生心里很慌,不知道怎么才能获得一个

2020-06-22 10:17:39 350

原创 这是零基础小白学习Java的正确学习流程,以及我们在学习Java过程中需要避免的误区。

学习Java编程技术肯定是以就业拿到高薪工作为主要目的的,可是高薪不会那么轻易拿到,这是一个最简单的道理。没有付出就没有回报,在整个学习Java编程技术的过程中,你需要付出时间、精力、金钱。废话不多说直接上干货。在开始学习之前你需要做到以下5点:第一:需要达到什么样的技术水平才能就业?既然是为了就业,你就要知道学习Java编程技术需要达到什么样的技术水平,才能获得一份Java开发的工作。就好比高考的一个分数线,你是否能被大学录取,要看你能不能过分数线。软件公司录用你,也是有一个标准,所以首先你要知道.

2020-06-20 10:06:32 230

原创 后端开发必备的 MySQL 日志文件知识点,看完记得收藏!

加粗样式前言日志文件记录了影响MySQL数据库的各种类型活动,MySQL数据库中常见的日志文件有错误日志,二进制日志,慢查询日志和查询日志。下面分别对他们进行介绍。错误日志错误日志文件对MySQL的启动,运行,关闭过程进行了记录。mysql> show variables like 'log_error';+---------------+---------------------+| Variable_name | Value |+------------

2020-06-20 09:30:39 186

原创 学习Java面试如何才能通过,你缺的是这些东西。

小编从事Java工作七年时间,因为一直是非常热爱编程的,从小就有兴趣,大学就是学计算机的,技术应该比一般同龄的都要好一些,今天我想给大家讲述一下,目前想要做Java开发,面试成功应该如何去学习,要具备哪些技术。很多人说我们这行饱和了,说了至少有五六年了,但是以我的从业经验来看,我们这行永远都不会饱和,因为任何一家公司永远都缺java工程师的岗位,项目是不间断的,所以越多的人开发,项目完成的越快,公司想招人是非常难的,我们这行跳槽率非常高,所以机会是非常多的。但是机会只会留给有准备的人。你学习java想.

2020-06-18 11:19:25 359

原创 我承认,要放弃 Lombok了,不相信你可以看下这个。

我承认,Lombok是一个很不错的Java库,它可以让你在少写代码的同时耍耍酷,简单的几个注解,就可以干掉一大片模板代码。但是,所有的源代码很多时候是用来阅读的,只有很少的时间是用来执行的(你可以细品这句话)。一年以前,我和大多数人都认为Lombok的出现会让Java的编码体验会更好,并极力的在我的团队中推荐使用Lombok。一年以后,我开始对此产生顾虑,尤其是在我准备为开源的博客系统Una-Boot升级Java版本时,我才意识到Lombok自己掉入了一个戏法陷阱。在我进一步分析其源代码并理解相关注

2020-06-18 10:57:07 294

原创 让SpringBoot启动更快一点,看完记得收藏!

“Spring有多快?”这是 2018 Spring One Platform 中的一场会议。看完会议视频,我自己动手试了一下。下面是我做出的测试结果。还没有观看视频的朋友推荐看一下,非常有意思。https://springoneplatform.io/2018/sessions/how-fast-is-spring-本文使用的代码https://github.com/bufferings/spring-boot-startup-mybench我使用的是 OpenJDK 11。java --v

2020-06-16 08:59:59 220

原创 Spring MVC 接收请求参数所有方式总结,看完记得收藏~

SpringMVC请求参数接收其实一般的表单或者JSON数据的请求都是相对简单的,一些复杂的处理主要包括URL路径参数、文件上传、数组或者列表类型数据等。另外,关于参数类型中存在日期类型属性(例如java.util.Date、java.sql.Date、java.time.LocalDate、java.time.LocalDateTime),解析的时候一般需要自定义实现的逻辑实现String->日期类型的转换。其实道理很简单,日期相关的类型对于每个国家、每个时区甚至每个使用者来说认知都不一定相同

2020-06-15 15:39:49 624

原创 Java霸主地位被撼动,Java程序员靠什么逆风翻盘?或许你应该看看这个!

自从1995年Java语言出世以来,从未跌落过神坛,但最近Python语言被抄的太火,看下面这张最新的语言排行榜。独受宠爱的Java似乎要失宠了。从上面这张图我们可以看出,Python一直处于上升趋势,而Java明显有下滑的趋势,面对这样的局面,Java程序员该何去何从?Java 开发者靠什么逆风翻盘?编程语言更新极快的现在,尤其对于需要技术沉淀的后端工程师来说,靠什么实力逆风翻盘?在 Java 框架尚且繁荣的当下,Spring Boot 无疑最火最实用的,也是必不可少的开源框架,完全有实力稳坐

2020-06-13 12:41:01 209

原创 造了一个 Redis 分布锁的轮子,没想到还学到这么多东西。看完记得收藏!

手撸分布式锁这篇文章本来是准备写下 Mysql 查询左匹配的问题,但是还没研究出来。那就先写下最近在鼓捣一个东西,使用 Redis 实现可重入分布锁。看到这里,有的朋友可能会提出来使用 redisson 不香吗,为什么还要自己实现?哎,redisson 真的很香,但是现有项目中没办法使用,只好自己手撸一个可重入的分布式锁了。虽然用不了 redisson,但是我可以研究其源码,最后实现的可重入分布锁参考了 redisson 实现方式。分布式锁分布式锁特性就要在于排他性,同一时间内多个调用方加锁竞争

2020-06-13 12:11:05 284

原创 史上最全的程序员职业晋升规划,按照这规划,我年薪竟然达到了43W!

程序员的三个发展分支:1.技术资深技术工程师,对于技术比较痴迷,有这方面的钻劲。以后可以去做技术顾问,可能一周只去公司两天,但是拿的工资是非常高的。2.管理有长时间的工作经验,在公司可以带别人去成长,目前常见的三个管理职业,项目经理、产品经理,技术总监。做管理需要高情商,维护人事关系,有自己的大局观,承受压力的能力要强,就是心比较累,承受的东西比较多。3.创业走创业这条路,风险大,付出的精力非常多,要有启动资金,平时需要积累人脉资源。性格需要是那种不认输的性格,为人比较乐观开朗。有良好的团队运作能

2020-06-12 09:37:31 632

原创 explain都不懂,还说会SQL调优?看完本文相信你就能明白!

mysql中的explain命令可以用来查看sql语句是否使用了索引,用了什么索引,有没有做全表扫描。可以帮助我们优化查询语句。explain出来的信息有10列,文章主要介绍type、key、Extra这几个字段。演示中涉及到的表结构如下: CREATE TABLE `dept_desc` ( `dept_no` char(4) NOT NULL, `dept_name` varchar(40) NOT NULL, `desc` varchar(255) NOT NULL, PRIMA

2020-06-12 09:29:50 274

原创 如何系统的学习Java?阿里程序员给出这样的建议

知己知彼百战不殆无论你要学习技能,你首先要知道这个技能应该学习哪些内容,把这些内容都学会是否能找到一份工作,这是在开始的时候必须了解的,如果连学习什么内容都不知道,就无从开始。所以首先了解2020年Java技术栈应该学习哪些技术。制定适合自己的Java学习规划:当你了解了Java都学习什么内容后,就根据这些该学会的技术进行划分,根据你自己的时间,无论你是上学的还是上班的,肯定都有属于自己的空余时间,把这些时间利用起来,就是学习技术的时间。建议一天拿出4个小时左右的时间来学习。学习时间太久也不是好事,一

2020-06-11 09:35:51 116

原创 如此沙雕的代码注释,看来你们都是段子手啊!看来记得收藏!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路…首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗?这不禁让人想起之前某音乐app的穷逼Vip,果然,穷13在哪里都是会被标记的。其实,不止这些,代码注释还有很多种玩法。毕竟,最会玩的还是你们程序员。01 杀了个产品经理祭.

2020-06-11 09:18:08 425

原创 面试官:你看过Redis数据结构底层实现吗?看完本文记得收藏!

面试中,redis也是很受面试官亲睐的一部分。我向在这里讲的是redis的底层数据结构,而不是你理解的五大数据结构。你有没有想过redis底层是怎样的数据结构呢,他们和我们java中的HashMap、List、等使用的数据结构有什么区别呢。字符串处理(string)我们都知道redis是用C语言写,但是C语言处理字符串和数组的成本是很高的,下面我分别说几个例子。没有数据结构支撑的几个问题1.极其容易造成缓冲区溢出问题,比如用strcat(),在用这个函数之前必须要先给目标变量分配足够的空间,否则

2020-06-10 09:48:30 278 1

原创 全方位解析这道面试题,看完本文记得收藏!

1.碎碎念String、StringBuffer 和 StringBuilder 是一道老生常谈的问题了,字符串是不仅是 Java 中非常重要的一个对象,它在其他语言中也存在。比如 C++、Visual Basic、C# 等。字符串使用 String 来表示,字符串一旦被创建出来就不会被修改,当你想修改 StringBuffer 或者是 StringBuilder,出于效率的考量,虽然 String 可以通过 + 来创建多个对象达到字符串拼接的效果,但是这种拼接的效率相比 StringBuffer 和 S

2020-06-09 09:48:42 228

原创 豆瓣评分8分以上!所有Java程序员都应该阅读的9本书,看完记得收藏!

如果你一名Java程序员,并且想知道如何通过阅读书籍来提高自己的Java技能水平,那你今天算是来对地方了,在本文,我将分享一些有史以来我读过的最好的Java书籍,这些书籍非但没有因为时间的流逝而过时,反而地位越来越高。当我成为一名程序员时,除了大学教科书外,我读的第一本Java书是《深入浅出设计模式》,这本书完全改变了我对Java和面向对象编程的理解。从那时起,我读了许多编程书籍,其中大部分与Java有关。今天,我将分享每个Java开发人员都应该阅读的9本书。1、《Effective java》J

2020-06-06 09:46:35 680

原创 初学者如何迅速学习Java开发,我的建议如下:

首先告诉你的是,零基础学习开始学习Java开发肯定难,Java开发的专业程度本身就不简单,学习这事本来就是一件非常煎熬的事情,人都不愿意学习,可是没办法,为了生存掌握一个技能,你必须学,如果你认真的对待,你就找不到高薪水的工作,所以首先学习Java开发意志,坚持非常重要,很多人放弃的原因根本就是缺乏这些素质。零基础学习Java开发必须明确的几点:1.明确你将来是做什么工作的,需要掌握哪些技能,很多人连这个就不知道就盲目的学,你首先清楚,现在公司需要什么人才,你应该奔着什么目标努力。2.系统的学习规划,

2020-06-05 09:27:17 224

原创 用了这么多年的 Java 泛型,说实话,你到底了不了解它?

作为一个 Java 程序员,日常编程早就离不开泛型。泛型自从 JDK1.5 引进之后,真的非常提高生产力。一个简单的泛型 T,寥寥几行代码, 就可以让我们在使用过程中动态替换成任何想要的类型,再也不用实现繁琐的类型转换方法。虽然我们每天都在用,但是还有很多同学可能并不了解其中的实现原理。今天这篇我们从以下几点聊聊 Java 泛型:Java 泛型实现方式类型擦除带来的缺陷Java 泛型发展史Java 泛型实现方式Java 采用**类型擦除(Type erasure generics)**的方式实

2020-06-05 09:20:07 160

原创 Apollo 你了解下这些内容就完美了,不信你就看完本文!

前言Apollo是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端。本文介绍了配置的概念、配置中心的必要性以及Apollo的特点,着重拆解分析Apollo客户端的设计原理,了解Apollo的原理,也能帮助读者更加能够理解配置中心的实现原理。一、什么是配置配置是程序运行时,动态调整行为的能力。配置有以下属性:配置是独立于程序的只读变量同一份程序在不同的配置下才会有不同的行为,而且配置对于程序来说是只读的,所以程序可以通过读取配置来改变.

2020-06-04 09:57:18 262

原创 新手入门学习Java,必走的一些步骤,看完可以少走一定的弯路!

第一步首先要做好学习前的准备工作:java语言一般用于大型的服务器程序开发,所有有必要了解如下内容:Unix开发环境Unix系统原理、Unix开发环境、Unix常用命令。熟练掌握Unix常用命令;熟练构建下的Java开发环境。第二步然后进入Java语言基础的学习阶段,学习任何一门语言都要打好基础,曾经学过高级程序语言(C,C++等)来说,java语言基础有自己的特点,但是基本规律都是相通的,如:算法基础、常用数据结构、企业编程规范。掌握常见的数据结构和实用算法;培养良好的企业级编程习惯。第三步掌握

2020-06-02 11:07:53 212 1

原创 JSON.stringify() 的 5 个秘密特性,看完本文你绝对有收获!

JSON.stringify() 方法能将一个 JavaScript 对象或值转换成一个 JSON 字符串。作为一名 JavaScript 开发人员,JSON.stringify() 是用于调试的最常见函数。但是它的作用是什么呢,难道我们不能使用 console.log() 来做同样的事情吗?让我们试一试。哦!console.log() 没有帮助我们打印出期望的结果。它输出 [object Object],因为从对象到字符串的默认转换是 [object Object]。因此,我们使用 JSON.st

2020-06-02 10:57:00 112

原创 自学Java,到底能不能找到一份Java工作?

关于自学Java能不能通过社招找到一份互联网公司Java开发的工作,有无数的人问出这样的问题,答案没有标准的,只能从概率去考虑。有的人可以,有的人不可以,有的人自学就业的概率就是高,有的概率就是低。比如一本院校学习通信的学生,他肯定是学过编程的,学习能力也不错。他学成的概率就很高。比如一个初中学历的人,他想要自学编程,想要达到就业的水平,那么这样的概率一定是非常低的,他需要付出比别人更多的努力。不管是什么人,把Java编程自学成功就业的人,都可以利用专业的角度去提升自己学成Java的概率。比如有专业技

2020-06-01 11:13:57 1032

原创 Spring Boot“内存泄漏”?看看美团大牛是如何排查的,看完本文你就能明白!

背景为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+AlwaysPreTouch -XX:ReservedCodeCacheSize=128m -XX:InitialCodeCache

2020-06-01 10:58:48 76

Java基础入门视频教程

2020年最新Java基础精讲视频教程,根据目前Java技术栈需求录制的,相信可以带领各位Java初学者走进Java编程的世界。

2020-11-18

空空如也

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

TA关注的人

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