摘要:前面的几篇文章中,我们大体上介绍了 SQL 中基本的创建、查询语句,甚至也学习了相对复杂的连接查询和子查询,这些基本功相信你也一定掌握的不错,那么本篇则着重介绍几个技巧方面的关键字,能够让你更快更有效率的写出一些 SQL。 起别名 在实际的项目中,有时候我们的表名、字段名过于复杂以致于我们的 SQL 阅读全文
posted @ 2019-03-05 09:14 Single_Yam 阅读 (650) 评论 (3) 编辑
摘要:上一篇文章中,我们介绍了 SQL 中最基本的 DML 语法,包括 insert 的插入数据、update 的更新数据、delete 的删除数据以及基本的查询语法,但大多比较简单不能解决我们日常项目中复杂的需求。 那么,本篇就来看一看较为复杂繁琐的查询语法,例如多表的连接查询、嵌套的子查询以及很多预定 阅读全文
posted @ 2019-02-26 09:24 Single_Yam 阅读 (501) 评论 (2) 编辑
摘要:上篇文章,我们介绍了数据的基本 DDL 语句,你应当具备基本的创建数据库、数据表的 SQL 语句,以及表字段的基本数据类型的熟知。 那么本篇就来总结总结大家日常最频繁接触到的 DDM 语句,也就是基本的增删改查 SQL。 数据的修改 众所周知的是,我们的项目中,有百分之八十的操作都是在查询,而仅有百 阅读全文
posted @ 2019-02-22 09:36 Single_Yam 阅读 (562) 评论 (0) 编辑
摘要:上篇文章,我们基于『数据库』做了一个宏观上的介绍,你应当了解到数据库是在何种背景下,为了解决什么样的问题而诞生的,以及在具体实现下又可以划分哪些中类型。 非关系型数据库的种类很多,我们会在后续的篇章中进行介绍,数据库这块我们还是以目前当下主流的关系型数据库进行学习。 SQL 是什么 我们看看 SQL 阅读全文
posted @ 2019-02-19 09:36 Single_Yam 阅读 (125) 评论 (0) 编辑
摘要:从本篇起,我们就开始对『数据库』相关概念内容的介绍,除了介绍基本的名词概念以及他们的使用情况外,我们还会深入到源码层面去探究一些底层实现,例如索引、视图、触发器等技术在数据库引擎层是如何支持的。 那么第一篇,我们将针对『数据库』做一个最基本的介绍,弄清楚什么是数据库?数据库的类型有哪些?以及使用数据 阅读全文
posted @ 2019-02-15 09:16 Single_Yam 阅读 (503) 评论 (0) 编辑
摘要:以前的文章中,我们介绍了太多的底层原理技术以及新概念,本篇我们轻松点,了解下 Java 并发包下、基于这些底层原理的三个框架工具类。 它们分别是: 信号量 Semaphore 倒计时门栓 CountDownLatch 屏障 CyclicBarrier 所以,既然是工具类,那么必然是离不开特定的场景的 阅读全文
posted @ 2019-02-01 09:27 Single_Yam 阅读 (1247) 评论 (2) 编辑
摘要:从名字上看,『ThreadLocal』可能会给你一种本地线程的概念印象,可能会让你联想到它是一个特殊的线程。 但实际上,『ThreadLocal』却营造了一种「线程本地变量」的概念,也就是说,同一个变量在每个线程的内部,都有一份副本,且相互之间具有不同的取值。 这样的设计具有怎样的应用场景呢?是怎么 阅读全文
posted @ 2019-01-29 09:18 Single_Yam 阅读 (412) 评论 (1) 编辑
摘要:现代的应用程序早已不是以前的那些由简单的增删改查拼凑而成的程序了,高复杂性早已是标配,而任务的定时调度与执行也是对程序的基本要求了。 很多业务需求的实现都离不开定时任务,例如,每月一号,移动将清空你上月未用完流量,重置套餐流量,以及备忘录提醒、闹钟等功能。 Java 系统中主要有三种方式来实现定时任 阅读全文
posted @ 2019-01-25 09:08 Single_Yam 阅读 (547) 评论 (0) 编辑
摘要:之前的两篇文章中,我们介绍了异步编程,也介绍了线程池的基本概念。也说了,线程池的实现天生也实现了异步任务,允许直接向线程池中进行任务的提交与结果获取。 但是,我们始终没有去深入的了解下,异步任务框架对于任务执行的进度是如何监控的,任务执行的结果该如何获取。 那么,本篇文章就来详细地探讨下异步框架中, 阅读全文
posted @ 2019-01-22 10:08 Single_Yam 阅读 (371) 评论 (0) 编辑
摘要:线程池,是一种线程的使用模式,它为了降低线程使用中频繁的创建和销毁所带来的资源消耗与代价。 通过创建一定数量的线程,让他们时刻准备就绪等待新任务的到达,而任务执行结束之后再重新回来继续待命。 这就是线程池最核心的设计思路,「 复用线程,平摊线程的创建与销毁的开销代价 」。 相比于来一个任务创建一个线 阅读全文
posted @ 2019-01-18 12:49 Single_Yam 阅读 (812) 评论 (1) 编辑