shihunyewu

云青青兮欲雨,水澹澹兮生烟

congnitive awakening

认知觉醒

读书总是最简单的成长之道 认知觉醒是我很久之前”看过”的一本书,时间久了,重新拿起来再看时,发现又变成一本焕然一新的书。忆往昔,自己的读书的心态总是,读过而已,书中讲了什么,对自己有何启示,回想起来总是不甚了了,就像是细沙全部透过了筛子,一丁点没有留下。可能读的过程中,有过很多启示,但是自己没有详加记录,只靠人脑的记忆,根本无法回忆当时自己想到的启示。所以读过书之后,一定要总结,记...

maven

项目管理工具——maven

Maven 概述 Maven 是一个常见的 java 构建工程工具,首先对 maven 有个大体上的认识: maven 本质上是一个独立的软件,虽然很多 IDE 都集成了很多 maven 的操作,但是 maven 和 IDE 本身无关。 maven 自身也是可以安装插件的,就像 vs code 编辑器可以有很多不同的插件一样。 pom.xml 是 maven 针对当前项目的配置...

union find

并查集

并查集 并查集是一种森林状数据结构,主要用来判断两个节点是否在同一分支上。 底层数据结构实现 其中常见底层数据结构实现有 Array,索引即为元素,数组索引对应的值表示根元素(或者上一级节点),一般元素数的范围一定且比较小时用 Array HashMap,键为元素,值为根元素(或者上一级节点) 核心思想就是需要保存节点和节点的前驱,保证能够通过前驱找到前驱的前驱,迭代找到当前分...

spring bean lifetime

" spring bean 的生命周期 "

spring bean 的生命周期 一. spring bean 的完整的生命周期 如下图所示 二、各种接口方法分类 Bean的完整生命周期经历了各种方法调用,这些方法可以划分为以下几类: 1. Bean 自身的方法 这个包括了 Bean 本身调用的方法和通过配置文件中的 init-method 和 destroy-method 指定的方法 2. Bean 级生命周期接口方法 B...

knapsack problem

背包问题

做题目不是最终目的,通过做题发现知识盲区,去研究学习,才能不断提高。 背包问题 01背包问题 有 N 件物品和一个容量为 total 的背包。第 i 件物品的质量为是w[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 public class Knapack { public static void main(String[]...

google guava

Java编程的助手 - guava

使用像 Guava 这样的库远远好于自己写 Guava 是 google 开发的一个 java 集合库,这些类库包含字符串、集合、并发、I/O 和 反射工具。Guava 封装了很多样板代码,让开发者的开发更便捷也更不容易在某些细节上出错。 由于 Guava 是第三方库,因此使用之前需要下载。 第 2 章,基础的 Guava Joiner 类 Joiner 主要用来将列表中的字符串...

spring boot start

开箱即用的 spring boot

spring-boot 让你用最少的配置最快地搭建出想要的应用 Spring-boot spring-boot 的优点 配置少,spring 框架整合其他框架的时候需要配置大量配置文件,这相比于业务开发耗费了更多的时间和精力。spring-boot 直接从项目创建时就已经整合好了对应的框架,只要配置一下必需的配置即可搭建完成一个应用环境。 直接运行,spring-boot...

Java spring springMVC mybatis redis

"Java ssm redis"

好记性不如多总结,二刷基础框架 SSM+Redis 第一章 认识 ssm 和 redis 1.1 spring 框架 1.1.1 IOC IOC,控制翻转,Inversion of Control IOC 容器管理 java bean,还提供对 bean 的生存周期的一些管理 用户代码之间的解耦,接口注册,但是接口的实现类可以改变,在 xml 配置文件中可以重新配置。...

Message Queue

消息队列

消息队列 使用消息队列的场景 消息队列的应用场景 消息队列概述 1. 异步处理 将串行的处理过程变成可以异步处理。比如用户注册完信息后,可以将注册完的消息写入消息队列中,向邮箱发送邮件和相手机发短信两个操作可以异步执行,这样比串行执行快。 2. 应用解耦 将每个独立的过程分开,比如下单和检查库存系统两个过程分开,用户下单成功,但是订单是否完成还要看库存系统。 3. 流量削峰 突然大量流量涌...

C++ STL Usage

C++ STL 的基本使用

解开困扰自己已久的疑惑,更能满足自己的好奇心 C++ STL 容器 概述 C++ STL 的容器分为两类,一类是序列式容器,一类是关联容器。 1. 序列容器 vector 基本介绍 支持随机访问 底层一片连续的空间 适用于高频访问,低频插入 常用方法 push_back(elem), 在尾部添加一个元素 pop_back(), 删除最后一个元素 fr...