浅析设计模式第一章之简单工厂模式
其实简单工厂模式严格意义上来讲不属于常说的 GoF 23 种设计模式之一,不过可能用的比较多,又经常被拿来跟「工厂方法模式」、「抽象工厂模式」拿来对比,所以属于基础要求,必须掌握的。他们都属于类创建型设计模式,从模式命名模式上来简略分析,其...
其实简单工厂模式严格意义上来讲不属于常说的 GoF 23 种设计模式之一,不过可能用的比较多,又经常被拿来跟「工厂方法模式」、「抽象工厂模式」拿来对比,所以属于基础要求,必须掌握的。他们都属于类创建型设计模式,从模式命名模式上来简略分析,其...
一、hashCode 相等两个类一定相等吗?equals 呢? 在设计之初,hashCode 与 equals 就是相辅相成的,单独拿出一个方法对对象相等的讨论都是耍流氓。 hashCode 和 equals 这两个方法协同工作用来判断两个...
锁的概述 数据库中的锁 不同于 Java 中多线程中的锁,数据库中的锁多半是针对于数据并发访问的一致性、有效性等,所以锁冲突是影响数据库并发访问性能的重要因素。MySQL 的 InnoDB 存储引擎涉及到各种「锁」的概念比较多,在笔面试中、...
MyBatis 的 $ 与 # 的区别?各自的使用场景? 这个问题都快被问烂了,不过这题考查的就是你有没有真正的使用过 MyBatis,所以还是值得拿出来说一下。 #{} 井号多半是用来对参数进行处理。相当于 JDBC 的 Prepared...
本文主要来自于孤尽老师的《码出高效》和方腾飞老师等《Java 并发编程的艺术》两本书中关于线程池的笔记总结,侵删。 一、进程、线程、线程池的定义 进程 定义 进程是程序的一次执行,是一个程序及其数据处理在处理机上顺序执行时所发生的活动,是具...
一、死锁的定义 进程死锁 进程死锁是指两个或两个以上的进程在执行过程中,由于竞争资源(锁、网络连接、通知事件、磁盘、带宽等)或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。 线程死锁 线程死锁是两个或更多线程阻塞...
一、前提 作为一名 Java 程序员,写了一定的程度的业务代码之后,最需要了解的就是 Java 的运行机制以及一些底层原理,比如 JVM 的一些核心知识,比如并发编程的各种底层类的底层原理,这些知识对你的跳槽找工作面试以及工作过程中对业务能...
一、Java 开发工程师为什么一定要阅读 Srping 源码? 作为一个三到五年这种上升期的 Java 开发工程师,不能要求说熟知 Spring 的底层原理,但是最起码要做到一些核心知识点的源码翻阅工作,无论是面试还是在工作使用过程中都会对...
数据机构笔记之路很遥远,但是老四没有忘记,依然按照自己的节奏更新着自己关于技术的理解,尽可能的说的明白一些,希望对能看到的人有所帮助。本文要讲的是插入排序,相对来说是比较基础的排序算法。 插入排序是一种简单直观的排序算法。它的工作原理是通过...
DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。之前老...