3 五四三二幺

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3w+

最详细的设计模式总汇,收藏好,面试不再怕被问设计模式了!

设计模式六大原则单一职责原则 一个方法尽可能做一件事情,一般来说不应该让一个方法承担多个职责。 单一职责原则的英文名称是Single Responsibility Principle,简称是SRP。单一职责原则的定义是:应该有且仅有一个原因引起类的变更。SRP的原话解释是:There should never be more than one reason for a class to change. 单一职责原则提出了一个编写程序的标准,用“职责”或“变化原因”来衡量接口或设计是否

2020-07-20 14:31:39

最近面试了一位5年的Java,一问三不知!还反怼我...

最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见。在沟通中发现,由于年限不小,他们的定位基本都是高级及以上,毕竟,年限摆在那里,面个中级也不体面。面试时我打算聊点基础的,先打开一下话题,结果发现对于一些开发中很基本的问题,比如: Git的分支你们是怎么管理的? 接口保证幂等性是基本的要求,那么幂等性你们是怎么做的? 你们有用@Transa...

2020-05-09 18:43:07

程序员内功心法【设计模式】之建造者模式

基本定义建造者模式将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。建造者模式构建复杂对象就像造汽车一样,是一个一个组件一个一个步骤创建出来的,它允许用户通过制定的对象类型和内容来创建他们,但是用户并不需要知道这个复杂对象是如何构建的,它只需要明白通过这样做我可以得到一个完整的复杂对象实例。模式结构 Builder:抽象建造者。它声明为创建一个Product对...

2020-04-25 17:18:03

你以为简单工厂模式很简单,可能是因为你懂的只是冰山的一角

简单工厂模式基本定义:简单工厂模式又称之为静态工厂方法,属于创建型模式。在简单工厂模式中,可以根据传递的参数不同,返回不同类的实例。简单工厂模式定义了一个类,这个类专门用于创建其他类的实例,这些被创建的类都有一个共同的父类。模式结构:1. Factory:工厂角色。专门用于创建实例类的工厂,提供一个方法,该方法根据传递的参数不同返回不同类的具体实例。2. Product:...

2020-04-20 11:19:21

程序员内功心法《设计模式》

灵魂三问第一问,什么是设计模式?设计模式是在软件工程实践过程中,JAVA使用者们总结出的良好的编程方法,使用设计模式能够增加系统的健壮性,易修改性和可扩展性,当你进行开发的软件规模比较大的时候,良好的设计模式会给编程带来便利,让系统更加稳定。第二问,为什么要学习设计模式?普遍的目的:1、别人都说要学,别人都说好,所以我要学2、面试会被问,所以必须学3、读源...

2020-04-15 09:45:12

使用Let's Encrypt + Nginx生成免费HTTPS证书

Let’s Encrypt简介官网:https://letsencrypt.org/Let’s Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程,目前已经有越来越多的商家加入和赞助支持。certbot简介官方客户端 ...

2020-04-13 10:19:11

谈谈缓存更新

看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。我不知道为什么这么多人用的都是这个逻...

2019-11-27 17:09:56

Java开发人员必备十大工具

Java世界中存在着很多工具,从著名的IDE(例如Eclipse,NetBeans和IntelliJ IDEA)到JVM profiling和监视工具(例如JConsole,VisualVM,Eclipse Memory Analyzer等)。在本文中,我将重点介绍适用于各种Java开发人员(例如核心Java和Web开发人员)的通用工具。该列表绝没有罗列出完整工具,如果您知道开发人员应该学习的...

2019-10-16 16:13:43

阿里P7架构师的9个建议,帮你早日成为优秀的架构师!

最近经常从读者那里收到有关他们希望成为一名更好的Java开发人员而不得解的烦恼的私信,他们应该学习什么以及他们如何成为一名优秀的Java开发人员。对此我分别回答了这些问题之后,现在我在这里做个总汇,我认为这个总汇它将使您成为更好的Java程序员和应用程序开发人员。如果您还没有了解过这些点,可以阅读本文,它将帮助您提高编程和编码技能,这对于成为顶尖的Java开发人员至关重要。这些技巧对核心J...

2019-10-16 16:06:09

十八道JVM面试题总汇(附解析)

一、Java 类加载过程?Java 类加载需要经历以下7 个过程:1. 加载加载是类加载的第一个过程,在这个阶段,将完成以下三件事情:•通过一个类的全限定名获取该类的二进制流。•将该二进制流中的静态存储结构转化为方法去运行时数据结构。•在内存中生成该类的 Class 对象,作为该类的数据访问入口。2. 验证验证的目的是为了确保 Class 文件的字节流中的信息...

2019-10-09 14:14:58

一次跨行取款失败,而引发对分布式事物的思考

场景不知道大家有没有遇到这样的情况,就是去自动取款机取钱的时候,比如说你去取1000块钱,这个时候系统会先帮你把1000块钱扣除,然后自动取款机再把钱吐出来。但是如果取款机出现问题,会发现钱被扣了,但是钱没有取出来。我第一次遇到这个问题的时候很担心,当时跨行取取了3000块钱,短信提醒我钱已经被扣了,但是钱没取出来,于是准备去找柜台帮忙处理的时候,手机上又收到一笔交易提醒,提示钱被退回来了!...

2019-09-27 14:22:18

一文读懂什么是JVM中的内存模型与垃圾回收!

扩展阅读:初探JVM,你只需要看这篇文章!六、内存模型6.1、内存模型与运行时数据区Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干不同数据区域。Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。这里所讲的主内存、工作内存与Java内存区域中的Java堆、栈、方法区等并不是同一层次的内存划...

2019-09-26 11:09:55

初探JVM,你只需要看这篇文章!

1 官网1.1 寻找JDK文档过程www.oracle.com -> 右下角Product Documentation -> 往下拉选择Java ->Java SE documentation-> Previous releases -> JDK 8 -> 此时定位到:https://docs.oracle.com/javas...1.2 Th...

2019-09-26 10:27:41

程序员:千篇一律的秃顶,各有各的顽皮

最后和程序员身边的朋友们嘱咐一句,就算程序员的工位再乱,也不...

2019-09-18 15:31:20

一文详解微服务架构

本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。本文将以一个网上超市应用为例来说明这一过程。最初...

2019-09-18 11:28:41

真实上海IT圈:张江男VS漕河泾男!【转】

通过比较上海各住宅小区在工作日晚餐与夜宵时段一人食外卖订单指数我们会发现:上海IT圈两大胜地:张江高科和漕河泾双双上榜其中张江位列《上海最孤独的15个区域榜单》第一名真实的上海IT圈大揭秘《张江男vs 漕河泾男》上海张江:想必很多没有来过上海的童鞋也听过它的名字,提起上海 IT 圈,很多人的第一反应都是张江高科技园亦或是张江IT男。...

2019-09-04 09:50:18

Spring高频面试题,你能答的上哪些?(高级篇)

1、什么是 Spring 框架?Spring 框架有哪些主要模块?2、使用 Spring 框架能带来哪些好处?3、什么是控制反转(IOC)?什么是依赖注入?4、请解释下 Spring 框架中的 IoC? 5、BeanFactory 和 ApplicationContext 有什么区别?6、Spring 有几种配置方式?7、如何用基于 XML 配置的方式配置 Spring? ...

2019-07-25 19:49:11

关于微服务你不得不知道的事——Spring Boot注解分析

Spring Boot注解分析1 注解1.1 定义Annotation(注解),用于为Java代码提供元数据。简单理解注解可以看做是一个个标签,用来标记代码。是一种应用于类、方法、参数、变量、构造器及包的一种特殊修饰符。1.2 注解的声明@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Docume...

2019-07-15 17:04:54

Spring Boot注解分析

1 注解1.1 定义Annotation(注解),用于为Java代码提供元数据。简单理解注解可以看做是一个个标签,用来标记代码。是一种应用于类、方法、参数、变量、构造器及包的一种特殊修饰符。1.2 注解的声明@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inheritedpu...

2019-06-29 19:59:50

阿里P7工作总结:Spring MVC的工作原理,看完受益匪浅

这篇文章将深入探讨Spring框架的一部分——Spring Web MVC的强大功能及其内部工作原理。这篇文章的源代码可以在GitHub上找到。项目安装在本文中,我们将使用最新、最好的Spring Framework 5。我们将重点介绍Spring的经典Web堆栈,该堆栈从框架的第一个版本中就崭露头角,并且现在依然是用Spring构建Web应用程序的主要方式。对于初学者来说,为...

2019-06-27 16:55:38

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。