摘要:
2020年,我完成了从程序员到公务员的转变,对于这个抉择有过挣扎和迷惘。这种转变让我收获了健康、简单的生活方式,但我又觉得失去了更大的可能性,我没有顺势而为,没有完成时代使命。我不知道这个选择是不是正确的,一方面我充分享受这份安逸,另一方面我又会为这一份安逸而焦虑,因为也许未来哪一天会为此付出惨痛代 阅读全文
摘要:
1.线程池的核心概念 线程池ThreadPoolExecutor的构造函数有多个参数,但是最重要的参数是workQueue阻塞队列这个参数。线程池正是使用了阻塞队列的特性,使得线程能够一直留在池中,而不会因为run方法执行完成而销毁。线程池的线程会从阻塞队列中取出任务执行,当阻塞队列为空时,阻塞队列 阅读全文
摘要:
java提供了完整的密码学API,我们可以结合密码学相关的概念来系统的学习这些API。 1.密码学简介(crypto) 密码学通俗来说就是研究如何对信息进行加密和破密,如果不是专门研究信息安全,通常我们只需学习和使用加密的方法,所以破密的相关知识我们可以忽略。 2.加密(Encrypt) 单以加密来 阅读全文
摘要:
1.什么是hash算法 Hash(散列、杂凑)算法,是把任意长度的输入通过特定的算法变换成固定长度的输出,输出的值就是hash值。这个特定的算法就叫hash算法,hash算法并不是一个固定不变的算法。只要是能达到这个目的的算法都可以说hash算法。例如MD5,SHA,String.hashcode( 阅读全文
摘要:
1.什么是覆盖索引 即从辅助索引中就可以得到查询的记录,而不需要查询聚集索引中的记录。使用覆盖索引的好吃是辅助索引不饱含整行记录的所有信息,故其大小要远小于聚集索引,因此可以减少大量的IO操作。 2.例子 我们常常说select的时候最好不要 select ,而要写成select col1,col2 阅读全文
摘要:
写在前面:我在上大学的时候就听说过数据库的最左匹配原则,当时是通过各大博客论坛了解的,但是这些博客的局限性在于它们对最左匹配原则的描述就像一些数学定义一样,往往都是列出123点,满足这123点就能匹配上索引,否则就不能。但是我觉得编程不是死记硬背,这个所谓最左匹配原则肯定是有他背后的原理的。所以我尝 阅读全文
摘要:
1.什么是linux linux是一种操作系统,它可划分为以下四部分 1.linux内核(Linux系统的核心,负责管理系统内存,硬件驱动,文件系统等) 2.GNU工具(一组软件工具,提供一些类UNIX系统命令) 3.图形化桌面环境 4.应用软件 2.linux shell shell是GNU工具包 阅读全文
摘要:
1.从业务上来说 在设计数据库时不需要费尽心思去考虑设置哪个字段为主键。然后是这些字段只是理论上是唯一的,例如使用图书编号为主键,这个图书编号只是理论上来说是唯一的,但实践中可能会出现重复的 情况。所以还是设置一个与业务无关的自增ID作为主键,然后增加一个图书编号的唯一性约束。 2.从技术上来说 如 阅读全文
摘要:
什么是跨域? 浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域 所以跨域只能出现在前端浏览器,这是浏览器行为。后端之间的服务调用是不会出现跨域的。 域名: 主域名不同 http://www.baidu.com/index.html – http://www.sina 阅读全文
摘要:
1.简介 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建(起步依赖)以及开发过程(自动配置)。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 2.特点 Spring Boot将很多魔法带入了Sprin 阅读全文