并发编程学习

一、认识多线程

在我们的操作系统之上,可以同时运行很多个进程,并且每个进程之间相互隔离互不干扰。我们的CPU会通过时间片轮转算法,为每一个进程分配时间片,并在时间片使用结束后切换下一个进程继续执行,通过这种方式来实现宏观上的多个程序同时运行。

由于每个进程都有一个自己的内存空间,进程之间的通信就变得非常麻烦(比如要共享某些数据)而且执行不同进程会产生上下文切换,非常耗时,那么有没有一种更好地方案呢?

后来,线程横空出世,一个进程可以有多个线程,线程是程序执行中一个单一的顺序控制流程,现在线程才是程序执行流的最小单元,各个线程之间共享程序的内存空间(也就是所在进程的内存空间),上下文切换速度也高于进程。

阅读全文 »

设计模式学习

一、面向对象设计原则(7原则)

我们在进行软件开发时,不仅需要将基本的业务给完成,还要考虑整个项目的可维护性和可复用性,我们开发的项目不单单需要我们自己来维护,也需要其他的开发者一起来进行共同维护,因此我们在编写代码时,应该尽可能的规范。如果我们在编写代码时不注重这些问题,随着项目的不断扩大,整体结构只会越来越糟。为了避免这种情况的发生,我们就可以使用设计模式

阅读全文 »

Java新特性介绍

Java 8是Oracle 公司于 2014 年 3 月 18 日发布的,距离今天已经过了近十年的时间了,Java并没有就此止步,而是继续不断发展壮大,几乎每隔6个月,就会冒出一个新版本,最新的版本已经快要迭代到Java 20了,与Java 8相差了足足十来个版本,但是由于Java 8的稳定和生态完善(目前仍是LTS长期维护版本),依然有很多公司在坚持使用Java 8,不过随着SpringBoot 3.0的到来,现在强制要求使用Java 17版本(同样也是LTS长期维护版本),下一个Java版本的时代,或许已经临近了。

阅读全文 »

谷粒商城学习总结

第一遍学习完结撒花,第一遍主要是熟悉整个项目背景。

第二遍打算结合视频独立完成,熟悉项目的整体设计、优秀业务代码的编写,并输出学习笔记。

阅读全文 »

博主作为一个Java后端攻城狮,开发过程中不免要使用许多的快捷键。合理使用快捷键能极大提高工作效率,那么这么多的快捷键又该记住哪些呢,把所有快捷键都记下显然是不太现实的。因此我根据平时的使用习惯,总结了自己在Windows和IDEA中常用的快捷键。

阅读全文 »

从大二开始就一直很想有一个属于自己的博客网站,可一拖再拖,直到最近才下了决心去搭建一个网站。在网上了解到基于Hexo的博客搭建比较简单并且美观,在查阅了许多教程,走过无数坑后,写下了这篇文章。本文主要讲解个人博客网站的搭建,内容比较详细,适合小白食用。

网页预览:https://yuumiy.github.io

阅读全文 »