自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2018 年 Java 程序员必读的十本书

大家好,如果你是一名 Java 程序员,正在考虑 2018 年读什么书,那么这篇文章正适合你。本文中,我将分享 10 本有关 Java、Spring 及其他相关技术的书籍。 这里面既有适合经验丰富的 Java 程序员的书,它们介绍了架构、云开发、微服务、Java 9、Spring 5,以及用于提高生产效率的 Kotlin。同时也照顾到了初级的、缺乏经验的、或正打算 2018 年开始入门 Java ...

2018-08-22 14:31:45 455

原创 0个习惯助你成为一名优秀的程序员

当谈到编程时,很多人应该都有听过10x程序员的说法。 据说一个10x程序员的效率大约是其他程序员的10倍。这是一个有争议的话题,无论你选择相信10x程序员,还是认为这十分可笑,下面的10个习惯可以在一定程度上助你成为一名势不可挡的优秀程序员。1、积极使用搜索工具作为开发人员,你需要了解如何利用搜索解惑,查看其他人对你正在研究的主题所讨论的话题和内容,并将学到的知识应用于手头的项目。...

2018-08-21 11:11:30 280

原创 从数组、链表开始聊聊HashMap的实现原理,据说是阿里面试必问的题(小怪的Java群话题讨论内容)

一、数组和链表介绍数组和链表是两种基本的数据结构,他们在内存存储上的表现不一样,所以也有各自的特点。以5位同学去上课时坐座位为例,总结它们的特点和区别。1.1、数组的特点数组中5位同学连坐一起在内存中,数组是一块连续的区域。 也就是这5位同学必须坐在一起。 数组需要预留空间,在使用前要先申请占内存的大小,可能会浪费内存空间。 比如上课时,为了保证五位同学可以坐在一起,必...

2018-08-31 16:53:56 385 1

原创 Java中实现多线程的3种方法介绍和比较

一、什么是多线程?引用网上别人的一段话:单进程单线程:一个人在一个桌子上吃菜。 单进程多线程:多个人在同一个桌子上一起吃菜。 多进程单线程:多个人每个人在自己的桌子上吃菜。多线程的问题是多个人同时吃一道菜的时候容易发生争抢,例如两个人同时夹一个菜,一个人刚伸出筷子,结果伸到的时候已经被夹走菜了。资源共享就会发生冲突争抢。使用多线程的优点(相对使用多进程来说):进程之间不能...

2018-08-30 14:02:38 184

原创 javaee面试题专家总结(面试必备)

下面就为大家想一些面试方面的专家所总结的一些面试题供大家参考。1)volatile 能使得一个非原子操作变成原子操作吗?一个典型的例子是在类中有一个 long 类型的成员变量。如果你知道该成员变量会被多个线程访问,如计数器、价格等,你最好是将其设置为 volatile。为什么?因为 Java 中读取 long 类型变量不是原子的,需要分成两步,如果一个线程正在修改该 long 变量的值,另...

2018-08-29 15:25:59 1142

原创 Java面试题全集(上)希望大家耐心看完了,有点长

我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没有价值的题目,还有不少的参考答案也是错误的,于是我花了半个月时间对这个所谓的《Java面试大全》进行了全面的修订并重新发布在我的CSDN博客。在修订的过程中,参照了当时JDK最新版本(Java 7)给出了题目的答案和相关代码,去掉了EJB 2.x、JSF等无用内容或过时内容,补充了数据结构和算法、大...

2018-08-29 14:12:30 528

原创 大佬分享:180+道Java面试题目!含答案解析!

大厂常见问题写视频点播网站文件下载接口基础变量/数组写出模拟maven导入包过程写出新变脸内存分配,模拟垃圾回收过程50个白球50个红球,两个盒子,怎么放让人随机在一个盒子里抽到红球概率最高n个数里取两个和为s的数java数据结构HashMap原理自定义类型可以作为Key么?java内存模型知道的排序算法快排的优化Java多线程实现方式Java线...

2018-08-27 16:29:13 934

原创 三条路线告诉你如何掌握Spring IoC容器的核心原理

一、前言前三篇已经从历史的角度和大家一起探讨了为什么会有Spring,Spring的两个核心概念:IoC和AOP的雏形,Spring的历史变迁和如今的生态帝国。本节的主要目的就是通过一个切入点带大家一起学习一下Spring IoC的核心原理,正如从历史的角度出发讲述为什么会有Spring一样,希望通过这个切入点能让你轻松的掌握住Spring IoC的核心原理。本篇文章假设你已经可以熟练的使...

2018-08-27 16:00:44 123

原创 Spring Boot学习记录(一)–环境搭建

最近趁着下班闲时间学习spring-boot,记录下学习历程,因为要做项目,所以是用到什么了就去学什么,所以看起来可能有点乱,不过能用到的东西都会写进去,最后打算实战一个API管理平台,下面开始环境配置.1.工程结构使用maven建立一个普通结构,因为spring-boot内嵌tomcat,所以打包只需要打包成jar就可以直接运行,所以并不像以前那样建立WEB程序了,目录如下,类可以先建立...

2018-08-27 13:59:23 112

原创 请停止结对编程

这是一个风和日丽的星期天下午,Ben 和 Martin 本应该在 Costa 咖啡馆喝一杯下午茶,一起聊聊周末的计划,然而 PM 的一个微信通知打乱了这一切。原来产品出现了一个bug需要紧急修复,下班之前必须要搞定。两人收到消息疾步走回到岗位,也没了心情去喝刚泡好的咖啡,连忙打开邮箱查看问题报告。开始Ben:看来这不是一个很大的问题,就是处理一个来自于远端服务的异常。现在的情况是BF...

2018-08-26 14:20:02 2349

原创 java大牛给大家来一份错误报告

贡献指南错误报告核心开发讨论哪个部门?安全漏洞编码风格PHPDocStyleCI   错误报告为了鼓励积极的协作,Laravel强烈鼓励的是pull request,而不仅仅是bug报告。“Bug报告”也可以以包含失败测试的pull request的形式发送。但是,如果您提交了一个bug报告,那么您的问题应该包含一个标题和对问题的清晰描述。您还应...

2018-08-26 13:53:31 205

原创 登录工程:现代Web应用中的身份验证技术

注:本文基于阿里巴巴技术手册的1.0.2版本编写2016年底,阿里巴巴公开了其在内部使用的Java编程规范。随后进行了几次版本修订,笔者当时看到的版本为v1.0.2版。下载地址可以在其官方社区——云栖社区找到。笔者作为一名有数年工作经验的Java程序员,仔细研读了这份手册,觉得是一份不可多得的好材料。正如阿里巴巴在发布时所说,“阿里巴巴集团推出的《阿里巴巴Java开发手册(正式版)》是公司...

2018-08-24 14:51:55 203

原创 P8写给自学者的入门指南

在 IT 工程师和培训机构多如牛毛的时代,拜师学艺并不难。但自学编程对于毫无基础的同学来说却可能是个问题,相信有过类似经历的朋友都有一把辛酸泪和一肚不吐不快的体会。让我们从一个故事说起…故事某君在一个普通大学读着自己不喜欢的专业,以打游戏、刷段子和睡觉度日,突然有一天想学点什么。学编程好像挺酷,而且听说IT行业充满了机会,没准一不小心就和大佬一起“改变世界”了。那么第一个问题来了,...

2018-08-24 14:31:13 438

原创 IT 工程师的自我管理

工作多年,我们见识到了很多厉害的人,他们可以兼顾家庭和工作,合理安排自己的事务和时间,能冷静的处理突发事件且理智的做出决策,把所有事情安排的妥妥当当。最初我以为这种能力来源于性格、情商甚至是天赋,因为并没有看到任何一本书来教人们做到这些,直到我把视角从普通的生活移到工作中,才发现原来一个能把生活安排的井井有条的人,在工作中往往也是优秀的管理者。管理项目或公司和管理生活有很多共通之处。有些人...

2018-08-24 14:00:17 445

原创 浅谈软件项目规模估计——怎么估?

做事所花费的时间总是比你预期的要长,即使你的预期中考虑了侯世达定律。—— 侯世达,哥德尔、埃舍尔、巴赫周三的下午,我像平常一样,写着代码听着歌,突然从天而降一份莫名其妙的故事列表,说让我给个人天,用来投标用。作为一个技术异常牛逼的高端程序员,这对我来说岂不是 A Piece Of Shit…哦不,Cake。拿着列表,打眼一看就知道是做什么 — 又是个审批流系统。注册、登录、忘记密码...

2018-08-23 15:48:21 5532

转载 从零开始写一个抖音App——Apt代码生成技术、gradle插件开发与protocol协议

1.讨论——总结前两周评论中有意义的讨论并给予我的解答 2.mvps代码生成原理——将上周的 mvps 架构的代码生成原理进行解析 3.开发一款gradle插件——从 mvps 的代码引出 gradle 插件的开发 4.高效的跨语言数据协议protocol——protocol 数据协议在 android 项目中的使用以及优势一、讨论在放上讨论之前我需要重申本项目的意义、初衷和前提:...

2018-08-23 15:34:23 3642

原创 p7大牛给大家分享Java从分布式计算到分布式训练

对计算机来讲,所谓的计算,不过是将存储在各个地方的数据通过数据总线进行传输,然后经过算术逻辑单元执行一系列预设好的规则,最终再将输出写入到某个位置。在计算能力有限、存储成本偏高的情况下,就需要利用好计算机的资源,让它的计算能力发挥出最大的价值,所以在编程初期用指令直接操作硬件,例如汇编语言中常见的操纵寄存器,本质上都是为了减少数据传输的时间,充分利用CPU的计算能力,避免因为数据的长时间传输导...

2018-08-22 16:57:47 2331

原创 拯救 Java Code Style 强迫症

有一位工程师对Code Style特别在意,所以在Code Review的大部分时间中都是该工程师在指出哪里哪里的格式不对,但是团队并没有找到改进方法,每次的结论都是“下次我注意一点。”我挺欣赏这位工程师对Code Style的认真态度,所以就萌生了“怎么拯救Code Style强迫症”的想法。要点Code Style不是个人喜好问题,它会影响工作效率,团队应将其当做工程实践予以重视。 ...

2018-08-22 14:40:01 3471

空空如也

空空如也

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

TA关注的人

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