
编程语言
我是月亮呀
来自一位女架构师的分享!
展开
-
程序员懵逼时刻:几个月后,之前自己写的代码也看不懂了?
程序员们大多都会有过这样的经历,就是要看别人写的代码。比如说公司有同事离职了,他的业务就需要有其它的小伙伴们给接下来继续维护。 这对好多程序员来说是一种折磨,边看边骂,这写的是什么东西呀。相信好多人都有这种经历。 那么为什么会出现这样一个局面呢,其实这里面就有很多讲究的地方了,如果不注意的话,不光是看不懂别人写的代码,即使是自己写的代码,几个月后你再去瞧瞧,你也会发现,咦,看不懂了呢。 那么接下...原创 2019-05-30 11:49:29 · 1368 阅读 · 1 评论 -
不可不说Java“锁”事,乐观锁 VS 悲观锁,公平锁 VS 非公平锁
前言 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8和Netty 3.10.6)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。 文章篇幅较长,读完需要九分钟 Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快...原创 2019-06-20 17:55:24 · 680 阅读 · 0 评论 -
包装严重的IT行业,作为面试官,我是如何甄别应聘者的包装程度
一、初选如何鉴别劣质简历 二、进入面试阶段,如何甄别对方的水分 在互联网极速膨胀的社会背景下,各行各业涌入互联网的IT民工日益增大。 早在2016年,我司发布了Java、Ios工程师的招聘信息,就Java工程师单个岗位而言,日收简历近200份,Ios日收简历近一千份。 没错,这就是当年培训机构对Ios工程师这个岗位发起的市场讨伐。而随着近几年的发展,市场供大于求现象日益严重。人员摸底成为用人...原创 2019-06-23 21:12:28 · 871 阅读 · 0 评论 -
太厉害了,终于有人能把TCP/IP协议讲的明明白白了!
一、 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。 二、 TCP/IP 基础 1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 ...原创 2019-06-24 17:42:30 · 2233 阅读 · 2 评论 -
通过IDEA快速定位和排除依赖冲突
|0前言 我们程序员在开发的时候经常会遇到各种各样的 BUG 问题,其中大部分是业务逻辑异常,还有一些是代码书写不规范造成的异常例如:NullPointException(NPE),IndexOutOfBoundsException 等等,其实这些我们都好定位和修复。但是还有一些运行时异常定位起来是特别头疼的,那就是 jar 包冲突引起的异常。 一般程序在运行时发生类似于java.lang....原创 2019-07-03 20:51:54 · 544 阅读 · 0 评论 -
开发10年,面试300人,想进阿里的大牛总结出,java面试69题
基础题目 Java线程的状态 进程和线程的区别,进程间如何通讯,线程间如何通讯 HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别 Cookie和Session的区别 索引有什么用?如何建索引? ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。 equals方法实现...原创 2019-07-09 16:18:46 · 1247 阅读 · 0 评论 -
微服务架构之幂等性问题及设计思想,你不得不知的一些幂等方案
前言 小伙伴们有没有遇到过生产环境经常出现过重复的数据?在排查问题的时候,数据又是正常的。这个是何解呢?怎么会出现这种情况,而且还很难排查问题。今天我给大家分享一下这里的原因,以及解决方案。 读者福利:点击免费获取Java学习笔记,面试,文档以及视频 罪魁祸首 产生重复数据或数据不一致(假定程序业务代码没问题),绝大部分就是发生了重复的请求,重复请求是指同一个请求因为某些原因被多次提交...原创 2019-07-04 14:14:03 · 966 阅读 · 1 评论 -
使用 Gradle 构建 Spring-Boot 的 Docker 镜像
通常我们使用 Dockerfile 来构建项目的Docker 镜像,但是也有需求希望使用 gralde 在编译项目的时候一起把镜像给构建并上传,所以该教程讲解了使用 gradle 编写配置 Dockerfile 并生成镜像的过程。 1. 添加依赖 教程使用gradle-docker插件来实现,在 Gradle 的脚本里配置 dockerfile 的构建镜像功能。 gradle-docker插...原创 2019-06-10 16:57:46 · 2394 阅读 · 0 评论 -
死磕 java同步系列之ReentrantLock源码解析(二)——条件锁
问题 (1)条件锁是什么? (2)条件锁适用于什么场景? (3)条件锁的await()是在其它线程signal()的时候唤醒的吗? 简介 条件锁,是指在获取锁之后发现当前业务场景自己无法处理,而需要等待某个条件的出现才可以继续处理时使用的一种锁。 比如,在阻塞队列中,当队列中没有元素的时候是无法弹出一个元素的,这时候就需要阻塞在条件notEmpty上,等待其它线程往里面放入一个元素后,...原创 2019-06-10 15:27:36 · 284 阅读 · 0 评论 -
死磕 java同步系列之ReentrantLock源码解析(一)——公平锁、非公平锁
问题 (1)重入锁是什么? (2)ReentrantLock如何实现重入锁? (3)ReentrantLock为什么默认是非公平模式? (4)ReentrantLock除了可重入还有哪些特性? 简介 Reentrant = Re + entrant,Re是重复、又、再的意思,entrant是enter的名词或者形容词形式,翻译为进入者或者可进入的,所以Reentrant翻译为可重复进入...原创 2019-06-10 15:26:14 · 210 阅读 · 0 评论 -
为什么 TCP 建立连接是三次握手,关闭连接确是四次挥手呢?
背景描述 对以下技术点有任何疑问的,可以来群里与更多的大佬交流切磋技术,戳这里:咱们来一起抱团取暖,好吗? 我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程。而端到端的通信才应该是应用进程之间的通信。 UDP,在传...原创 2019-05-30 12:26:44 · 4462 阅读 · 0 评论 -
2019年面试必备:最新Java核心知识点(1)—JVM
核心知识——JVM 上篇文章我给大家看了Java核心技术点的目录兼进阶路线 这篇文章将把文章里面的每个点分析给大家,我们先从第一个知识点入手。 jvm基本概念: JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域JVM 是运行在操作系统之上的,它与硬件没有直接 的交互。 ...原创 2019-06-05 21:55:31 · 189 阅读 · 0 评论 -
谁说漂亮女程序员就不能拿大厂Offer了?美团面试经历分享,值得借鉴
美团我是在网上投的简历,之前也投过一次,简历都没通过筛选,后来让学姐帮我改了一下简历,重新投另一个部门,获得了面试机会。10月23日中午HR打电话过来预约了下午4点半面试,说会在线写代码,让我准备好网络环境。结果5点半还没打电话过来,被放鸽子。与hr重新沟通过后,确定下周一下午再面,可是跟hr沟通预约这一套貌似在美团并没有什么用。 文末有总结面试资料分享给大家~ 美团技术一面20分钟 ...原创 2019-06-12 15:46:24 · 788 阅读 · 5 评论 -
面试题:你主要负责公司基础架构的高可用,那你说说DNS的解析过程?
DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。 DNS 是什么? DNS (Domain Name System 的缩写)的作用非常简单,就是根据域名查出IP地址。你可以把它想象成一本巨大的电话本。 举例来说,如果你要访问域名 math.stackexchange.com,首先要通过DNS查出它的IP地址是 151.101.129.69。 查询...原创 2019-05-29 14:08:09 · 819 阅读 · 0 评论 -
【BAT面试题系列】面试官:你了解乐观锁和悲观锁吗?
前言 乐观锁和悲观锁问题,是出现频率比较高的面试题。本文将由浅入深,逐步介绍它们的基本概念、实现方式(含实例)、适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官。 一、基本概念 乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。 乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如...原创 2019-05-29 15:34:58 · 285 阅读 · 0 评论 -
Java动态追踪技术探究,从JSP到Arthas
引子 在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话: “Debug一下吧。” “线上机器,没开Debug端口。” “看日志,看看请求值和返回值分别是什么?” “那段代码没打印日志。” “改代码,加日志,重新发布一次。” “怀疑是线程池的问题,重启会破坏现场。” 长达几十秒的沉默之后:“据说,排查问题的最...原创 2019-06-13 21:46:25 · 391 阅读 · 0 评论 -
百亿数据量下,掌握这些Redis技巧你就能Hold全场
一、Redis封装架构讲解 实际上NewLife.Redis是一个完整的Redis协议功能的实现,但是Redis的核心功能并没有在这里面,而是在NewLife.Core里面。 这里可以打开看一下,NewLife.Core里面有一个NewLife.Caching的命名空间,里面有一个Redis类,里面实现了Redis的基本功能;另一个类是RedisClient是Redis的客户端。 Red...原创 2019-06-19 21:51:40 · 449 阅读 · 0 评论 -
鹅厂java技术面试官说说常用的springmvc、springboot一些注解
springmvc,面试遇到这个鬼 虽说是很正常的问题,但是还是得好好的整理下 @Controller 只是定义了一个控制器类 @RequestMapping 用来处理请求地址映射的注解是真正处理请求 @Resource和@Autowired bean的注入时使用 @Resource并不是Spring的注解,它的包是javax.annotation.Resource,需...原创 2019-07-13 22:02:45 · 894 阅读 · 0 评论