02 2021 档案

摘要:1.Spring中的bean的作用域 1.singleton:唯一bean实例,Spring中的bean默认都是单例的。 2.prototype:每次请求都会创建一个新的bean实例。 3.request:每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTP request内有效。 阅读全文
posted @ 2021-02-28 11:13 鄙人取个名字好难 阅读(150) 评论(0) 推荐(0) 编辑
摘要:事务的基本概念 事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序 执行逻辑单元(Unit)。一方面,当多个应用程序并发访问数据库时,事务可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。另一方面,事务为数据库操作序列提供了一个从失败中恢复到正常 阅读全文
posted @ 2021-02-27 09:59 鄙人取个名字好难 阅读(1278) 评论(0) 推荐(0) 编辑
摘要:AOP(Aspect Oriented Programming)是基于切面编程的,可无侵入的在原本功能的切面层添加自定义代码,一般用于日志收集、权限认证等场景。 AOP基本概念 通知(Advice): AOP 框架中的增强处理。通知描述了切面何时执行以及如何执行增强处理; Before :前置通知, 阅读全文
posted @ 2021-02-25 23:19 鄙人取个名字好难 阅读(1258) 评论(0) 推荐(0) 编辑
摘要:IOC(Inversion of Control,控制倒转),意思是对象之间的关系不再由传统的程序来控制,而是由spring容器来统一控制这些对象创建、协调、销毁,而对象只需要完成业务逻辑即可。IOC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过DI(Dependen 阅读全文
posted @ 2021-02-24 23:32 鄙人取个名字好难 阅读(2498) 评论(0) 推荐(0) 编辑
摘要:AutoConfiguration(自动配置),是指springBoot项目启动时,将bean自动加载到IOC容器,其核心源码在【spring-boot-autoconfigure-**.jar】中。 自动配置的核心注解是@EnableAutoConfiguration,该注解又引用了两个注解@Im 阅读全文
posted @ 2021-02-22 21:35 鄙人取个名字好难 阅读(1989) 评论(0) 推荐(0) 编辑
摘要:通常搭建一个基于spring的web应用,我们需要做以下工作: pom文件中引入相关jar包,包括spring、springmvc、redis、mybaits、log4j、mysql-connector-java 等等相关jar ... 配置web.xml,Listener配置、Filter配置、S 阅读全文
posted @ 2021-02-21 20:38 鄙人取个名字好难 阅读(1067) 评论(0) 推荐(0) 编辑
摘要:集合 :JAVA集合面试题JVM :JVM面试题多线程 :Thread面试题SPRING :SPRING面试题 1.作用域public,private,protected,以及不写时的区别 2.Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以 阅读全文
posted @ 2021-02-20 17:30 鄙人取个名字好难 阅读(88) 评论(0) 推荐(0) 编辑
摘要:1.基本数据类型一定存储在栈中吗? 参照:Java内存区域 基本数据类型是放在栈中还是放在堆中,这取决于基本类型在何处声明。 1.在方法中声明的变量,即该变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈 在方法中声明 阅读全文
posted @ 2021-02-20 13:53 鄙人取个名字好难 阅读(54) 评论(0) 推荐(0) 编辑
摘要:简单选择排序 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 算法描述 从未排序序列中,找到关键字最小的元素 如果最小元素不是未排序序列的第一个元素,将其和未排序序列第一个 阅读全文
posted @ 2021-02-19 14:56 鄙人取个名字好难 编辑
摘要:简单插入排序 从数组的第二个元素开始,依次向前进行对比,如果前面的元素大,则后移。重复数组长度-1 轮。工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 算法描述 从第一个元素开始,该元素可以认为已经被排序 取出下一个元素,在已经排序的元素序列中从后向前扫 阅读全文
posted @ 2021-02-19 12:46 鄙人取个名字好难 编辑
摘要:冒泡排序 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 算法描述 比较相邻的元素。如果第一 阅读全文
posted @ 2021-02-18 23:17 鄙人取个名字好难 编辑
摘要:算法分类 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 算法比较 时间复杂度: 1.时间复杂度 阅读全文
posted @ 2021-02-18 15:21 鄙人取个名字好难 编辑
摘要:1.进程与线程的区别 参照:多线程(一)进程与线程 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任 阅读全文
posted @ 2021-02-17 23:12 鄙人取个名字好难 阅读(72) 评论(0) 推荐(0) 编辑
摘要:线程池优势 降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗; 提高系统响应速度,当有任务到达时,通过复用已存在的线程,无需等待新线程的创建便能立即执行; 方便线程并发数的管控。因为线程若是无限制的创建,可能会导致内存占用过多而产生OOM,并且会造成cpu过度切换(cpu切换线程 阅读全文
posted @ 2021-02-17 10:50 鄙人取个名字好难 编辑
摘要:ReentrantLock VS ReentrantReadWriteLock VS StampedLock 锁 特性 是否支持重入 是否支持锁升级 是否支持Condition 适合场景 ReentrantLock 独占可重入 是 无 是 纯写入 ReentrantReadWriteLock 非独占 阅读全文
posted @ 2021-02-16 17:47 鄙人取个名字好难 编辑
摘要:ThreadLocal类顾名思义可以理解为线程本地变量。也就是说如果定义了一个ThreadLocal,每个线程往这个ThreadLocal中读写是线程隔离,互相之间不会影响的。它提供了一种将可变数据通过每个线程有自己的独立副本从而实现线程封闭的机制。Thread类有一个类型为ThreadLocal. 阅读全文
posted @ 2021-02-14 14:38 鄙人取个名字好难 编辑
摘要:并发编程中的三个概念 原子性:即一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 可见性:可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。 有序性:即程序执行的顺序按照代码的先后顺序执行。 内存模型JMM以及共享变 阅读全文
posted @ 2021-02-12 14:23 鄙人取个名字好难 编辑
摘要:synchronized是Java中的关键字,是一种同步锁,按类型可以分为同步方法和同步代码块。 非同步实例方法&同步实例方法: 非同步实例方法: public class TestSync { public static void main(String[] args) throws Interr 阅读全文
posted @ 2021-02-12 14:21 鄙人取个名字好难 编辑
摘要:进程vs线程 在计算机中,我们把一个任务称为一个进程,浏览器就是一个进程,视频播放器是另一个进程,类似的,音乐播放器和Word都是进程。 某些进程内部还需要同时执行多个子任务。例如,我们在使用Word时,Word可以让我们一边打字,一边进行拼写检查,同时还可以在后台进行打印,我们把子任务称为线程。 阅读全文
posted @ 2021-02-12 11:05 鄙人取个名字好难 编辑
摘要:用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责。 1.责任链模式(Chain of Responsibility) 为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。在这种模式中,通常每个接收者都包含对另一个接收者的引用。 阅读全文
posted @ 2021-02-11 00:30 鄙人取个名字好难 编辑
摘要:用于描述如何将类或对象按某种布局组成更大的结构,关注类和对象的组合。 1.适配器模式(Adapter) 作为两个不兼容的接口之间的桥梁,将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器,将内存卡 阅读全文
posted @ 2021-02-09 23:37 鄙人取个名字好难 编辑
摘要:创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵 阅读全文
posted @ 2021-02-08 22:13 鄙人取个名字好难 编辑
摘要:1、kafka基本概念 参照 kafka 基本概念 kafka是一个多分区、多副本且基于zookeeper协调的分布式消息系统。也是一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用。 Producer:生产者,也就是发送消息的一方。生产者负责创建消息,然 阅读全文
posted @ 2021-02-07 14:47 鄙人取个名字好难 阅读(235) 评论(0) 推荐(0) 编辑
摘要:在spring应用中如果需要订阅kafka消息,通常情况下我们不会直接使用kafka-client, 而是使用更方便的一层封装spring-kafka。 在spring-kafka在运行时会启动两类线程,一类是Consumer线程,另一类是Listener线程。前者用来直接调用kafka-clien 阅读全文
posted @ 2021-02-07 01:18 鄙人取个名字好难 编辑
摘要:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 Zookeeper的工作机制 Zookeeper 阅读全文
posted @ 2021-02-05 23:09 鄙人取个名字好难 编辑
摘要:触发器 CREATE TRIGGER创建一个新触发器。该触发器将被关联到指定的表、视图或者外部表并且在表上发生特定操作时将执行指定的函数function_name。 CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } 阅读全文
posted @ 2021-02-04 17:13 鄙人取个名字好难 编辑
摘要:PostgreSQL为开发者提供了一组丰富的工具来管理对数据的并发访问。在内部,数据一致性通过使用一种多版本模型(多版本并发控制,MVCC)来维护。这就意味着每个 SQL 语句看到的都只是一小段时间之前的数据快照(一个数据库版本),而不管底层数据的当前状态。这样可以保护语句不会看到可能由其他在相同数 阅读全文
posted @ 2021-02-04 00:35 鄙人取个名字好难 编辑
摘要:简述 全文搜索(或者文本搜索)提供了确定满足一个查询的自然语言文档的能力,并可以选择将它们按照与查询的相关度排序。 全文索引允许文档被预处理并且保存一个索引用于以后快速的搜索。预处理包括: 将文档解析成记号。标识出多种类型的记号是有所帮助的,例如数字、词、复杂的词、电子邮件地址,这样它们可以被以不同 阅读全文
posted @ 2021-02-02 23:54 鄙人取个名字好难 编辑
摘要:EXPLAIN EXPLAIN [ ( option [, ...] ) ] statement EXPLAIN [ ANALYZE ] [ VERBOSE ] statement 这里 option可以是: ANALYZE [ boolean ] VERBOSE [ boolean ] COSTS 阅读全文
posted @ 2021-02-02 17:56 鄙人取个名字好难 编辑
摘要:操作符类和操作符族 一个索引定义可以为索引中的每一列都指定一个操作符类。 CREATE INDEX name ON table (column opclass [sort options] [, ...]); 比如,可以在创建B-tree索引时通过ASC、DESC、NULLS FIRST和NULLS 阅读全文
posted @ 2021-02-02 06:31 鄙人取个名字好难 编辑
摘要:B-tree PostgreSQL包括了对标准btree(多路平衡树)索引数据结构的一个实现。任何能够被排序为良定义线性顺序的数据结构都可以用一个btree来索引。唯一的限制是一个索引项不能超过大约三分之一个页面。因为每一种btree操作符类都会在其数据类型上施加一种排序顺序,btree的操作符类( 阅读全文
posted @ 2021-02-01 22:38 鄙人取个名字好难 编辑
摘要:文本搜索 tsvector:tsvector值是一个排序的可区分词位的列表,词位是被正规化合并了同一个词的不同变种的词。tsvector类型本身并不执行任何词正规化这一点很重要,它假定给它的词已经被恰当地为应用正规化过。对于大部分英语文本搜索应用,通常应该经过to_tsvector以恰当地为搜索正规 阅读全文
posted @ 2021-02-01 17:24 鄙人取个名字好难 编辑
摘要:TreeMap TreeMap是红黑树的java实现。相比HashMap来说,TreeMap多实现了一个接口NavigableMap,也就是这个接口,决定了TreeMap与HashMap的不同:HashMap的key是无序的,TreeMap的key是有序的。 源码展示: public class T 阅读全文
posted @ 2021-02-01 10:39 鄙人取个名字好难 编辑
摘要:1.集合框架简介 2.Collection框架中实现比较要实现什么接口 参见 源码分析之Collection 要实现比较有两种方式:第一种,实体类实现Comparable<T>接口,并实现 compareTo(T t) 方法,我们称为内部比较器;第二种,创建一个外部比较器,这个外部比较器要实现Com 阅读全文
posted @ 2021-02-01 10:15 鄙人取个名字好难 阅读(81) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示