03 2021 档案
摘要:##BeanPostProcess简介 在Spring中 BeanPostProcessor 是一个非常重要的接口,它用于在每个bean对象初始化前后修改Bean的属性信息,比如我们最常用的@Autowired注解,在内部处理的时候,是通过一个AutowiredAnnotationBeanPostP
阅读全文
摘要:##简介——什么是观察者模式 观察者模式是一种定义对象相互之间依赖关系的一种设计模式,它属于设计模式中的行为模式,通过发布/订阅的方式在对象之间互相传送消息 ###一般观察者使用步骤 订阅事件(addObserver) 被观察者发布事件 观察者响应事件 ###举例说明 我们可以用一个例子来解释一下观
阅读全文
摘要:##Aware接口 在Spring中有许多的Aware接口,提供给应用开发者使用,通过Aware接口,我们可以通过set的方式拿到我们需要的bean对象(包括容器中提供的一些对象,ApplicationContext等),根据需要可以将其注入到本地对象的属性中。 先来看一个Spring两个基础的接口
阅读全文
摘要:在Spring中创建Bean是分为两个步骤的 实例化Bean(JVM 分配空间,属性设为默认值) 初始化Bean(Spring 属性的依赖注入) 通过将已实例化但未初始化的Bean提前暴露出去的方式解决set或属性注入时产生的循环依赖 流程图
阅读全文
摘要:##简介 Java的java.util.concurrent包中提供了并发相关的接口和类,本文将重点介绍CompletableFuture并发操作类 JDK1.8新增CompletableFuture该类 Class CompletableFuture<T> java.lang.Object jav
阅读全文
摘要:##单例模式 单例模式是我们在编程过程中经常使用的一种设计模式,它属于一种创建型模式。在这种设计模式中涉及到一个需要保证单例的一个类,通过这个类自身去创建本类的一个对象,同时在代码中的任何地方,能够获取到的此类对象都是同一个对象,从而保证此类的对象有且仅被创建一次。 此类提供一个静态的公共方法(pu
阅读全文
摘要:设计模式——动态代理 java 设计模式 ###简介 动态代理是相对就静态代理而言 静态代理是指:代理类通过对被代理类的引用,在代理类中重构被代理对象中需要代理的方法(在调用被代理类的引用对象相应方法的前后,添加我们需要的操作),静态代理对原有代码不会产生任务改变,不会自动生成新的字节码,只需要新建
阅读全文
摘要:##一群友分享的阿里面试题 1.将head链表以m为组反转链表(不足m则不反转): 例子:假设m=3. 链表 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 ->8 output: 3 -> 2 -> 1 ->6 ->5 ->4 -> 7 ->8 ###解法一:使用JDK的链表Lin
阅读全文
摘要:##一位群友分享的**公司面试题 **3个线程分别交替输出xyz字符,输出10遍** ``` public class XYZ implements Runnable { private static AtomicInteger atomicInteger = new AtomicInteger()
阅读全文
摘要:##题目描述 检查子树。你有两棵非常大的二叉树:T1,有几万个节点;T2,有几万个节点。设计一个算法,判断 T2 是否为 T1 的子树。 如果 T1 有这么一个节点 n,其子树与 T2 一模一样,则 T2 为 T1 的子树,也就是说,从节点 n 处把树砍断,得到的树与 T2 完全相同。 题目来源力扣
阅读全文
摘要:##如何禁用笔记本自带的键盘 Win+X 选择 Windows PowerShell(管理员) 1.输入命令cmd,回车 2.再输入以下内容,然后重启即可禁用笔记本自带的键盘 sc config i8042prt start= disabled ##恢复使用 同样以上操作 输入以下内容,重启即可恢复
阅读全文
摘要:##spring项目中读取resources下的文件 我们都知道,spring项目经过maven打包后,可以打成jar包或可解压的war包 a. war包是需要外置的web容器去运行的,是需要先解压的 b. jar包的项目通常是内置的web容器(比如spring boot项目),运行的时候并不会对j
阅读全文
摘要:##账户管理 查看系统所有存在的分组 cat /etc/group cat /etc/group 查看当前用户所属组 gropus [root@localhost /]# groups root 添加分组 groupadd groupadd GROUP_NAME(添加的分组名称) 修改分组 grou
阅读全文
摘要:##IDEA去掉右键 ###在安装IDEA或其它Intellij软件时,因为整个安装流程都是英文的环境,有童鞋稍不注意,就会把Intellij系列软件自动生成鼠标右键给选上 但问题来了,Intellij系列软件的鼠标右键很长,导致鼠标空白处点击右键的时候,选项卡会非常的宽,看着很不舒服, 今天就教大
阅读全文
摘要:#一、下载源码 ####1.官网下载 官网地址 如下图 ####2.github git下载 github地址 如下图 ####3.gitee git下载(国内推荐使用) gitee地址 如图 ###查看对应的gradle版本 在下载的源码中找到与之对应的gradle版本,如果有其它版本有可能会出现
阅读全文
摘要:##简介 14年,Oracle公司如期发布了Java 8正式版,Java8提供了强大的流式处理及函数式接口编程 函数式接口编程,相信很多人在javascript中都使用过,比如回调函数,如今Java8也吸收了诸多的其它语言优点。 ###线程创建(8以前的写法) Thread thread = new
阅读全文
摘要:#线程的基本概念 ##进程与线程的区别 进程 解释:硬盘上有一个程序,这个程序叫做360.exe,这是一个程序,这个程序是一个静态的概念,它被存储在硬盘上,但我们单击它的时候,exe文件就会启动,这个时间叫做启动了一个进程。 线程 解释:作为一个进程里面最小的执行单元叫做一个线程,用简单的话讲一个程
阅读全文
摘要:标签(空格分隔): 多线程 ##park 和 unpark的使用 park和unpark并不是线程的方法,而是LockSupport的静态方法 暂停当前线程 LockSupport.park();//所在的线程调用 恢复某个线程的运行 LockSupport.unpark(暂停线程对象)//由另外的
阅读全文
摘要:线程常见的几种方法 标签(空格分隔): 多线程 ###Thread静态方法 1. Thread.sleep(misseconeds) 睡眠:当前线程暂停一段时间让给别的线程去运行。Sleep复活时间,根据你传入的睡眠时间而定,等到睡眠到规定的时间后,线程自动复活,它不会释放锁资源。 2. Threa
阅读全文
摘要:线程池的使用 标签(空格分隔): 多线程 ##Executors工具类(创建池与提交任务) 通过工具类,可以创建线程池 常见的几种线程池创建 ###通过Executors的静态方法创建线程池 ####1.创建固定大小的线程池(可用于服务器瞬时削峰、限流,但需注意长时间持续高峰情况造成的队列阻塞) E
阅读全文

浙公网安备 33010602011771号