联系我

单例模式面试连环炮

面试官:请说一下什么是单例模式小明:保证整个系统中一个类只有一个实例 。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。主要解决一个全局使用的类频繁地创建与销毁的问题。面试官:请写一个单例模式小明:(写了一个最简单的懒汉式单例模式,可以让面试官继续发问)class Si......

算法学习路线指南

初入门径如果你刚开始接触编程,在学完一门编程语言的基本语法之后不知道接下来该学什么,这时候你就可以开始练习编程题,这样做有以下几点好处:实践编程语言的语法;熟悉开发工具的使用;练习编码、调试等技巧;编程题可以在一定的时间内求解,很快就能让你体验到编程带来的成就感。Leetcode 上有大量的编程题,......

理解DDD

领域模型 (domain model) 是对领域内的概念类或现实世界中对象的可视化表示。领域模型也称为概念模型、领域对象模型和分析对象模型。——《UML 和模式应用》我们在日常开发中,经常针对一些功能点争论 “这个功能不应该我改,应该是你那边改”,最终被妥协改了之后都改不明白为什么这个功能要在自己这......

设计模式之装饰者模式

定义装饰者模式(Decorator Pattern)是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能),属于结构型模式。适用场景用于扩展一个类的功能或给一个类添加附加职责。动态的给一个对象添加功能,这些功能可以再动态的撤销。生活场景实例这里以一个......

并发编程的优缺点

前言一直以来并发编程对于刚入行的小白来说总是觉得高深莫测,于是乎,就诞生了想写点东西记录下,以提升理解和对并发编程的认知。为什么需要用到并发?凡事总有好坏两面,之间的trade-off是什么,也就是说并发编程具有哪些缺点?以及在进行并发编程时应该了解和掌握的概念是什么?这篇文章主要以这三个问题来谈一......

记一道"简单"的Java面试题

面试题目完成代码,判断一个整数是否是奇数。函数原型如下:public boolean isOdd(int i)不经思考的第一版代码很多人不经思考,拿起键盘就开始写,会写出下面这样的代码:public boolean isOdd(int i) { if (i % 2 == 1) { ......

设计模式之模板模式

定义模板模式通常又叫模板方法模式(Template Method Pattern)是指定义一个算法的骨架,并允许子类为一个或者多个步骤提供实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤,属于行为性设计模式。模板模式在现实生活中的体现入职流程:填写入职登记表-->打印......

技术学习三部曲

前言在学习编程技术过程中,我们会学不少的类库、框架、甚至语言,但很多人学完就跟猪八戒吃人参果一样,只知其形,不明其味。学习最重要的一步我认为是选定技术方向,只有有了方向我们才知道力气往何处使,怎么使。但选定方向不是今天探讨的重点,今天的重点是如何去学。我还是将学习分为三个简单有效的认知步骤,即Wha......

设计模式之委派模式

前言委派模式(DelegatePattern)的基本作用是负责任务的调用和分配,跟代理模式很像,可以看做是一种特殊情况下的静态代理的全权代理,但是代理模式注重过程,而委派模式注重结果。委派模式在Spring中应用非常多,我们常用的DispatcherServlet其实就是用到了委派模式。现实生活中也......

拒绝代码坏味道-IDEA插件推荐

前言作为一个有追求的程序猿,应该有一点代码洁癖,要尽量减少代码坏味道。业内比较知名的一个产品是SonarQube,做了很多检查集成。今天主要推荐一些代码静态检查插件,识别项目中不合规范的代码,帮助提高代码的质量。本文要介绍的三个静态检查插件分别是:Alibaba Java Coding Guidel......