- 博客(104)
- 收藏
- 关注
原创 过滤器、拦截器、aop -> ‘三兄弟‘
6、拦截器可以获取IOC容器中的各个bean,而过滤器就不行,因为拦截器是spring提供并管理的,spring的功能可以被拦截器使用,在拦截器里注入一个service,可以调用业务逻辑。10、Filter的生命周期由Servlet容器管理,而拦截器则可以通过IoC容器来管理,因此可以通过注入等方式来获取其他Bean的实例,因此使用会更方便。8、Filter是依赖于Servlet容器,属于Servlet规范的一部分,而拦截器则是独立存在的,可以在任何情况下使用。1、过滤器,拦截器拦截的是URL。
2023-05-08 15:11:12
1792
原创 附近的人(使用<GeoHash>经纬度查询附近的人,并根据距离排序)
使用GeoHash算法先过滤附近的人,再根据经纬度查询附近的人,并根据距离排序
2022-11-13 20:01:08
718
原创 zookeeper的应用
1、服务器的动态列表实现思路 当客户端访问集群服务的时候,需要有一个服务器列表,此时如果集群中追加了新的主机,或者有主机宕机,则列表要动态且及时的进行处理;此时就可以使用ZK,在ZK中有一个心跳机制,描述的是这个主机是否存活的主要依据 ...
2022-04-29 17:20:14
1916
1
原创 初识zookeeper
就是一个协调组件,保证数据的一致性;参考路径:https://download.youkuaiyun.com/learn/3868/67980?spm=1002.2001.3001.4143
2022-04-27 18:19:17
1708
原创 RabbitMQ
交换空间(交换机:Exchange)控制队列,一个交换机可以控制多个队列;queue:数据队列;routingKey:如果所有队列的routingKey都一样,则是广播模式,如果不一样则是点对点模式;vhost:虚拟主机,可以在同一个消息服务中用vhost划分不同的区域,各个区域完全独立;可以更好的实现权限和用户管理工作启动 需要在linux中安装并启动1、启动rabbitMQ-server2、默认情况下RabbitMQ启动的时候是不启动webser...
2022-04-25 15:30:24
2386
原创 线程池-任务执行流程
核心线程数:(线程池队列为LinkedBlockingQueue) 要执行的任务数< 核心线程数,则不会进入队列,而是创建新的线程 要执行的任务数 >核心线程数,并且等待队列未满,则进入等待队列;要执行的任务数 >核心线程数,并且 < 最大连接数 并且 等待队列已满,则创建新线程;要执行的任务数 >核心线程数,并且>最大连接数 并且 等待队列已满,则调用拒绝策略来处理该任务(抛异常)...
2022-04-24 17:00:30
1406
原创 常用的数据库连接池
DBCP:Apache下独立的数据库连接池组件, tomcat中使用的连接池就是DBCP;适用于企业级;c3p0:开源的数据库连接池,适用于企业级;druid:alibaba开源项目,适用于大型网站; druid使用详情参照:Druid配置详解,新手必须读_LailaiMonkey的博客-优快云博客_druid配置...
2022-04-24 15:56:15
787
原创 Hibernate和Mybatis的优缺点对比
ORM框架:用数据库里表和实体类映射的结构框架;1、Hibernate和Mybatis都属于ORM框架,2、映射声明区别Hibernate的映射关系是通过xml文件声明;Mybatis是通过typeHandlers(类型转换器)来完成的;(类字段和表字段的转换),隐式转换,如果转换不成功则需要显式声明转换3、sql执行比较Hibernate采用HQL执行sql,这种类型的sql针对数据库,使用哪种数据库时由数据库操作引擎转换成哪种数据库的sql(有性...
2022-04-24 14:37:26
835
原创 Integer、BigInteger、AtomicInteger的区别
Integer:包装类,常量,2^32范围BigInteger:每9位做拆分(Integer的计算最大值),计算的时候是分段计算,然后以字符串链接;没有长度限制AtomicInteger:底层使用cas算法,自动+1/-1,高并发的情况下不会出问题;...
2022-04-24 13:57:25
569
原创 HashMap常见问题
有一个静态内部类Node,并实现了Map.Entry接口; static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; V value; Node<K,V> next; Node(int hash, K key, V value, Node<K,V> next) {
2022-04-24 11:03:32
955
原创 hadoop笔记-常用命令
数据块一般可以分为128M 或者其他可以自行设置,不要太大,不然会影响计算效率;rack:机房中的机架,每个机架都会有一个路由,同机架中的数据访问效率要高于访问其他机架;注:linux和hadoop都是文件系统,在linux中直接ls查看的是linux系统本地的文件,如果想要查看hadoop中的文件需要使用hadoop命令的查看 如:hdfs dfs -lstodo...
2022-04-22 17:16:08
1118
原创 工作问题汇总
1、最大号问题方案:1、数据库自增主键(但单表只能有一个自增)2、程序变量/数据库维护,并对获取最大号方法加锁,每次查询都自增; 3、缓存等...
2022-04-21 15:55:10
422
原创 mysql-常见问题
1、非主键自增字段设置(一样要有‘唯一’约束)alter table tt add numberint auto_increment not null Unique;todo
2022-04-21 15:46:37
400
原创 redis集群
目录集群的核心意义redis应用场景哨兵机制 缺点优点实现-todotodo集群的核心意义保证服务的正常运行;一个节点上服务出了问题其他节点上的服务仍然可以提 供该服务;redis应用场景哨兵机制 比较早期的HA机制, 在master节点上有一个哨兵开监控服务的运行状态(master节点可以找到虽有的slave,所以只监控master),当maste...
2022-04-21 13:26:44
258
原创 redis数据持久化
参考自:https://download.youkuaiyun.com/learn/26150/324222?spm=1002.2001.3001.4143 RDB:将数据生成快照存储到硬盘 手动触发 1>save命令:阻塞进程,保存完之后其他服务才可用;数据量大会有些慢(不推荐使用) 2> bgsave命令:会创建一个子进程,由子进程去完成,完成后退出(父进程创建fork的时候还是会阻...
2022-04-20 22:49:45
192
原创 redis-击穿、穿透、雪崩
参考自:https://download.youkuaiyun.com/learn/29675/424594?spm=1002.2001.3001.41431、
2022-04-20 17:29:33
445
原创 redis-常见问题
1、总共16个库0~152、如果查询一个key的过期时间ttl key返回的是-1 表示不过期;-2表示已经过期;其他为具体时间3、常见数据类型:字符串,hash(对象)、列表(List)、散列(set)-无序、有序集合(sortedSet)4、常用命令:keys *、flushdb(清理数据库)字符串: set k v、get k(支持通配符)、setnx k v、setex k time(设置过期时间)、del k(删除key)hash:hset 对象key 属性key 内容li
2022-04-20 16:15:15
577
原创 hadoop学习-1
hadpood的java编写的将数据切分成很多个块(dataNode),并以HA机制进行存储;shellsort:排序(默认整行排);uniq:去重;-c:count,计算数量mapRedcucemap:对数据进行处理;(和stream中的用法一致) shuffle:将重复的key的数据进行集合处理; reduce:根据自己想要的值进行输出;...
2022-04-19 17:27:11
998
原创 初始Hadoop
hadoop:开源顶级项目;HDFS的瓶颈在于数据存储IO(硬盘IO读取速度),数据很大但数据的读取速度是有限的;hadoop不支持对数据的更新,可以删除后重新写;
2022-04-18 18:33:42
268
原创 分布式事务、分布式锁
分布式锁:在分布式环境中,服务都被分布在各个节点中,并且同一个服务还可能存在多个实例,那要保证在分布式系统中同一个资源只能被顺序访问的问题,此时sy锁就起不到作用了,因为此时的服务都是夸jvm的,解决方案:参照图1使用redis方式 1、在线程要使用公共资源时,在redis中使用set(key,v,过期时间)(注1) 2、获取到锁后执行业务逻辑,执行完业务逻辑后释放锁(将redis中的数据删除掉)...
2022-04-13 16:00:01
3240
原创 java stream 常用方法--笔记
1、对象List排序students.stream().sorted(Comparator.comparing(Student::getMark).reversed()).collect(Collectors.toList());todo
2022-04-13 09:40:23
230
原创 面试题整理
1、为什么要重写hashcode和equals方法;hashcode值一样对象一定相同吗_Java经典面试题,为什么要同时重写equals和hashCode?你会答吗?..._郭正标的博客-优快云博客
2022-03-29 10:22:10
941
原创 微服务集群session共享问题
使用Nginx中的ip绑定策略,同一个ip只能在指定的同一个机器访问(不支持负载均衡)利用数据库同步session(效率不高)使用tomcat内置的session同步-复制(同步可能会产生延迟)使用token代替session我们使用spring-session以及集成好的解决方案(比较重,学习成本比较高)缓存服务器缓存session-redis 失效通知;订阅...
2022-03-17 18:01:47
1962
原创 springcloud-笔记
webservice 第一代应用服务整合(XML+SOAP)优点:是可跨平台的技术缺点:处理速度慢、如果要使用远程接口调用则要生成很多的工具类代码SOA(服务总线的形式调用)PRC技术-远程过程调用(比较流行的有阿里的double及REST-因为json的广泛使用)使用rest实现RPC可以更快REST(springcloud核心架构)我简单的理解为http(理解不够深,如果错误后续修改)...
2022-03-17 13:11:40
569
原创 springboot-笔记
注:第二种形式 System获取参数时,获取不到配置文件中的参数,(配置文件中的参数没有被加载到系统中),启动命令时指定的参数是可以获取到的
2022-03-16 15:38:22
381
原创 JVM-笔记
本地方法栈可以参考:JVM学习笔记(三)本地方法栈_ParadoxSwing的博客-优快云博客_本地方法栈TODO问题: 1、jvm是一个进程吗?什么时候启动? 2、垃圾收集器类型及实现原理 3、怎样给jvm/进程分配‘直接内存’呢...
2022-02-28 18:28:17
138
原创 nginx-笔记
apache和nginx对比nginx优势安装:注:如遇到服务器没有的命令,可以‘yum install -y 命令 ’来下载,linux下载地址官方直接复制就可以;命令:默认80端口查看nginx状态:ss -tanl 或者使用ps-ef | grep nginx配置文件解析结构图1nginx代理模式正向代理(默认)作用...
2022-02-17 17:50:55
1420
原创 Docker入门-笔记
镜像容器虚拟机和容器的区别与对比一、linux在线安装docker只需要一条命令:yum install docker二、docker命令
2022-01-26 18:27:41
1070
4
原创 linux-笔记
linux设计思想-一切皆文件;ll:查看目录详情,如下:在上图中第一列数据解析:第一列总计10个字母,第一个字母为文件类型:‘d’开头的:目录(文件夹)文件;‘-’开头的:普通文件,如txt、pdf、html等;‘c’开头的:字符设备文件,通常在dev下,进行设备读取或者设备交互时才会被使用; ‘l’(symbolic link)开头的:链接文件,快捷方式(软连接:...
2022-01-22 18:04:46
488
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人