- 博客(20)
- 问答 (1)
- 收藏
- 关注
转载 guice依赖注入原理和使用简介
添加链接描述添加链接描述**Guice:**整个框架的门面Injector:一个依赖的管理上下文创建一个injector1、获取injector2、injector.injectMembers(this);3、创建一个Injector可以使用多个任意多个Module4、实例创建injector.getInstance(FooStarter.class);Binder:一个接口和实现的绑定Module:一组BinderProvider:bean的提供者Key:Binder中对应一个Pr
2021-03-05 15:45:28
1493
转载 Spring 3.1新特性之二:@Enable*注解的源码以及很多enable注解
@enable*注解分析SpringBoot的自动化配置原理的时候,可以观察下这些@Enable*注解的源码,可以发现所有的注解都有一个@Import注解。@Import注解是用来导入配置类的,这也就是说这些自动开启的实现其实是导入了一些自动配置的Bean。如:freemarker的自动化配置类FreeMarkerAutoConfiguration,这个自动化配置类需要classloader中的一些类需要存在并且在其他的一些配置类之后进行加载。但是还存在一些自动化配置类,它们需要在使用一些注解开关的情
2021-02-26 11:14:30
482
转载 spring切面的使用@AspectJ注解的3种配置
定义与 AspectJ 相同的是,Spring AOP 同样需要对目标类进行增强,也就是生成新的 AOP 代理类;与 AspectJ 不同的是,Spring AOP 无需使用任何特殊命令对 Java 源代码进行编译,它采用运行时动态地、在内存中临时生成“代理类”的方式来生成 AOP 代理。Spring 允许使用 AspectJ Annotation 用于定义方面(Aspect)、切入点(Pointcut)和增强处理(Advice),Spring 框架则可识别并根据这些 Annotation 来生成 AO
2021-02-26 10:25:40
1127
转载 cloudera,cdh, hive,impala,Kerberos
Impala 认证现在可以通过 LDAP 和 Kerberos 联合使用来解决Impala是基于 Apache Hadoop 的一个开源的分析数据库,使用 Kerberos 和 LDAP 来支持认证 。Kerberos 在1.0版本中就已经被支持了,而 LDAP 是最近才被支持,在 CDH 5.2 中,你能够同时使用两者。KerberosKerberos 仍然是 Apache Hadoop 的主要认证机制。principal 是 Kerberos 主体,就要一个用户或者一个守护进程。对于我们来说
2021-02-25 11:47:12
399
原创 command line is too long彻底解决
在.idea的workspace.xml中的PropertiesComponent,增加配置Add below line into <component name="PropertiesComponent"> from workspace.xml of .idea
2021-01-25 10:44:57
472
原创 【java基础】处理map里的null key和unmodifiedmap
应该用remove和get处理,但是如果要操作的是一个unmodifiedmap那么可以用另外一个类去接受它,处理这个新的类if(map.containsKey(null)){ Map operateMap = new HashMap(); operateMap.putAll(map); operateMap.put("null", map.get(null)); operateMap.remove(null); }...
2021-01-14 16:07:56
471
转载 面试必问【框架】——spring全家桶,mybatis,RPC和ORM
介绍下 Spring IoC 的流程BeanFactory 和 FactoryBean 的区别Spring 的 AOP 是怎么实现的Spring 的事务传播行为有哪些,讲下嵌套事务什么情况下对象不能被代理Spring 怎么解决循环依赖的问题要在 Spring IoC 容器构建完毕之后执行一些逻辑,怎么实现@Resource 和 @Autowire 的区别@Autowire 怎么使用名称来注入bean 的 init-method 属性指定的方法里用到了其他 bean 实例,会有问题吗@Po
2020-10-25 17:48:00
421
转载 面试必问【计算机网络】——Http,Https,Tcp,RAP,路由表
一 OSI与TCP/IP各层的结构与功能,都有哪些协议OSI的七层体系结构 完整 解耦合 比较复杂。目前在用的一般是TCP/IP五层协议应用层最靠近用户的一层,向应用程序提供网络通信网络应用程序可被分为两大类:直接网络应用程序:Browser , e-mail ,FTP , Telnet间接网络应用程序:Word , resource manager , (viaRedirector)掌握域名解析系统DNS本地DNS服务器, 根据域名,查找对应的IP地址返回给解析器HTTP协议—超文本
2020-10-24 19:41:38
1725
转载 面试必问【基础数据结构之树】——二叉树搜索树,平衡二叉树,红黑树,b树,b+树,b*树
红黑树规则根节点黑色叶子节点都是空黑节点红节点下必须是两个黑节点==从叶子到根的任意路径不能有两个相同的红色节点从任一节点到其每个叶子节点的所有路径都包含相同数目的黑色节点红黑树插入重排原理新节点默认为红色插入,如果其父节点为红色,则对其递归向上换色,如果根节点由此变为红色,则对根节点进行左旋(右侧过深)或右旋(左侧过深)从根节点检查红色节点是否符合路径上的黑色节点数量一致,如果不一致,对该节点进行左旋(右侧黑色节点数量更多)或右旋(左侧黑色节点数量更多),并变换颜色,重复2操作直到符
2020-10-24 19:40:51
122
转载 面试必问【数据库】——mysql索引,锁,数据库事务,sql调优,redis
页的大小为什么是4K?cpu一次能处理数据宽度,总线大小是4k索引数据结构,为什么用这个结构B+树1、B+树是多路平衡搜索树,树高是平衡的,多次搜索的效率平均,搜索时间短2、B+树的多路特性,可以让数据库存储引擎能够多获取一页数据,提高查询的效率和命中率聚簇索引和非聚簇索引myaism非聚簇索引,数据和索引分文件存储,速度慢主键索引树和辅助索引树的叶子节点都存储的是指向数据页的指针。走两个树都能够查到数据innodb聚簇索引,数据和索引存在一个文件,数据行存在主键索引树的叶子节点,辅助索引的
2020-10-24 19:39:45
157
转载 面试必问【java基础】——类的生命周期,jvm,多线程,锁,HashMap,aqs,cas,并发包
1、 栈和队列,区别,用处?栈先进后出,可以用链表或者数组实现,应用是表达式求值,和括号匹配括号匹配:遇到左括号入栈,遇到右括号,判断与栈顶括号是否匹配,如果匹配就出栈。最后栈如果为空,就是成对的括号队列,先进先出,数组和链表实现,应用消息队列,aqs队列2、 了解java的异常吗,有什么区别,常见的异常有哪些呢?空指针异常,变量引用的对象为空,还不存在,此时用变量去使用对象的方法算数异常,堆栈溢出,数组越界3、equals 和====的作用: 基本类型:比较值是否相等 引用类型:比
2020-10-24 19:08:58
1089
转载 面试必问——分布式场景和设计题
为啥 Redis 单线程模型也能效率这么高?纯内存操作。核心是基于非阻塞的 IO 多路复用机制。C 语言实现,一般来说,C 语言实现的程序“距离”操作系统更近,执行速度相对会更快。单线程反而避免了多线程的频繁上下文切换问题,预防了多线程可能产生的竞争问题。redis高可用redis 主从架构,一主多从 开启 master node 的持久化,开始生成一份 RDB 快照文件全量复制redis 基于哨兵实现高可用redis哨兵****哨兵至少需要 3 个实例,来保证自己的健壮性。集群监控:负责
2020-10-22 14:40:00
503
转载 消息队列kafka教程
kafka 学习 非常详细的经典教程所以与传统的将数据缓存在内存中然后刷到硬盘的设计不同,Kafka直接将数据写到了文件系统的日志中。常量时间的操作效率在大多数的消息系统中,数据持久化的机制往往是为每个cosumer提供一个B树或者其他的随机读写的数据结构。B树当然是很棒的,但是也带了一些代价:比如B树的复杂度是O(log N),O(log N)通常被认为就是常量复杂度了,但对于硬盘操作来说并非如此。磁盘进行一次搜索需要10ms,每个硬盘在同一时间只能进行一次搜索,这样并发处理就成了问题。虽然存储系统
2020-09-24 17:37:23
141
转载 消息队列消息积压问题
消息积压是正常现象,积压越来越多就需要处理了。主要原因是,对于绝大多数使用消息队列的业务来说**,消息队列本身的处理能力要远大于业务系统的处理能力**。主流消息队列的单个节点,消息收发的性能可以达到每秒钟处理几万至几十万条消息的水平,还可以通过水平扩展 Broker 的实例数成倍地提升处理能力。而一般的业务系统需要处理的业务逻辑远比消息队列要复杂,单个节点每秒钟可以处理几百到几千次请求,已经可以算是性能非常好的了。所以,对于消息队列的性能优化,我们更关注的是,在消息的收发两端,我们的业务代码怎么和消息队
2020-09-22 21:42:10
740
转载 消息队列实现分布式事务
消息队列中的“事务”,主要解决的是消息生产者和消息消费者的数据一致性问题。电商下单步骤1、生成订单2、删除购物车在分布式系统中, 任何一个步骤都有可能失败, 可能出现订单数据与购物车数据不一致的情况,比如说1、创建了订单,没有清理购物车;2、订单没创建成功,购物车里面的商品却被清掉了。订单系统给消息队列发送订单消息并开启事务(此时订单消息并未被购物车系统可见)订单系统执行本地事务,生成订单成功,给消息队列消息让其消息对购物车系统可见购物车系统消费消息在 RocketMQ 中的事务实现中,
2020-09-22 20:45:41
252
转载 消息队列初步
1、使用场景异步(秒杀系统)秒杀操作一般分为多个步骤如所库存,生成订单,发送短信通知等锁库存后就丢进消息队列中,后面可以对接各种异步处理流量控制在网关和后端服务之间增加消息队列此处运维人员可以水平扩容后端服务和消息队列同时无法处理的请求,可以超时关闭或者使用令牌桶机制在知道请求量的情况下,令牌桶机制实现简单,redis也可以实现令牌桶机制,或者自己实现一个令牌桶服务解耦合实现应用与应用之间的解耦比如原来的短信通知直接对接短信平台加入消息队列后服务端和短信平台之间不相互影响2、不
2020-09-21 21:30:37
109
空空如也
vector内存溢出()没有为KernelBase.dll添加符号
2017-04-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人