
java
文章平均质量分 75
meiye
这个作者很懒,什么都没留下…
展开
-
spring的context:component-scan必须配置扫描子包问题
未使用spring-boot,系统里有类实现InitializingBean,但需依赖注入一对象,为util:properties,使用的@Autowired,这个类作为bean配置在spring配置文件中。刚开始只配置了context:component-scan扫描父包,发现不能拿到依赖注入的util:properties,即依赖的properties对象为空。后来新增一个context:component-scan,将子包也配置到里面,就正常了。详细原因还在分析中,有点颠覆之前的认识了。原工程里也原创 2022-04-21 22:48:21 · 893 阅读 · 0 评论 -
记一次springboot工程占位符不能替换的问题
springboot工程占位符不能替换的问题原创 2022-03-08 18:53:07 · 2197 阅读 · 0 评论 -
阿里开源项目
阿里开源项目Java1.分布式应用服务开发的一站式解决方案 Spring Cloud AlibabaSpring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应原创 2021-03-01 18:37:10 · 1423 阅读 · 0 评论 -
java HashMap&ConcurrentHashMap
HashMap是我们非常常用的数据结构,由数组和链表组合构成的数据结构。大概如下,数组里面每个地方都存了Key-Value这样的实例,在Java7叫Entry在Java8中叫Node。HashMap的默认初始化长度16,在使用是2的幂的数字的时候,Length-1的值是所有二进制位全为1,这种情况下,index的结果等同于HashCode后几位的值。只要输入的HashCode本身分布均...原创 2020-03-27 12:24:23 · 256 阅读 · 0 评论 -
java future模式
Future介绍用过Java并发包的朋友或许对Future (interface) 已经比较熟悉了,其实Future 本身是一种被广泛运用的并发设计模式,可在很大程度上简化需要数据流同步的并发应用开发。Future模式可以简单的看成是 Proxy 模式 与 Thread-Per-Message 模式 的结合,在Proxy模式中,用一个Proxy来代替真正的目标(Subject)生成,目...原创 2020-03-27 08:45:03 · 139 阅读 · 0 评论 -
java难度大算法
题目如下:用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。static int[] bits = new int[] { 1, 2, 3, 4, 5 };/*** @param args*/public static void main(String[] ar...原创 2020-03-27 08:36:45 · 617 阅读 · 0 评论 -
Top K
1. 问题描述在大规模数据处理中,常遇到的一类问题是,在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这类问题通常称为“top K”问题,如:在搜索引擎中,统计搜索最热门的10个查询词;在歌曲库中统计下载率最高的前10首歌等等。2. 当前解决方案针对top k类问题,通常比较好的方案是【分治+trie树/hash+小顶堆】,即先将数据集按照hash方法分解成...原创 2020-03-26 21:24:35 · 251 阅读 · 0 评论 -
java 字符串split
使用StringTokenizer比使用Spring.split()提高接近一倍的性能。要是用indexOf来逐步查找,性能还能进一步提高25%左右。很显然,越接近底层的方法性能越得到满足。不过,这个只是在于对性能要求高的需求底下才有真正的意义。普通应用,String.split()足以补充一点:使用String.indexOf()去扫描的时候,如果使用ArrayList或者...原创 2020-03-26 21:21:24 · 155 阅读 · 0 评论 -
java队列
在JDK 5之前LinkedList就已经存在,而且本身实现都是一种双向队列。所以到了JDK 5以后就将LinkedList同时实现Deque接口,这样LinkedList就又属于Queue的一部分了。通常情况下Queue都是靠链表结构实现的,但是链表意味着有一些而外的引用开销,如果是双向链表开销就更大了。所以为了节省内存,一种方式就是使用固定大小的数组来实现队列。在这种情况下队列的大小是固定...原创 2020-03-26 21:21:02 · 119 阅读 · 0 评论 -
spring中的线程池
多线程并发处理起来通常比较麻烦,如果你使用spring容器来管理业务bean,事情就好办了多了。spring封装了java的多线程的实现,你只需要关注于并发事物的流程以及一些并发负载量等特性,具体来说如何使用spring来处理并发事务:1.了解 TaskExecutor接口Spring的TaskExecutor接口等同于java.util.concurrent.Executor接口。...原创 2020-03-26 21:17:15 · 725 阅读 · 0 评论 -
zookeeper应用场景
Zookeeper的主流应用场景实现思路(除去官方示例)(1)配置管理集中式的配置管理在应用集群中是非常常见的,一般商业公司内部都会实现一套集中的配置管理中心,应对不同的应用集群对于共享各自配置的需求,并且在配置变更时能够通知到集群中的每一个机器。Zookeeper很容易实现这种集中式的配置管理,比如将APP1的所有配置配置到/APP1 znode下,APP1所有机器一启动就对/APP...原创 2020-03-26 21:15:48 · 545 阅读 · 0 评论 -
负载均衡策略
负载均衡分全局负载均衡和本地负载均衡。地负载均衡是指对本地的服务器群做负载均衡,全局负载均衡是指对分别放置在不同的地理位置、有不同网络结构的服务器群间作负载均衡。循环DNS就是每次解析域名时指向IP loop list 里的下一个IP.负载均衡路由器通过某种策略把请求发送到响应最快的server上, 同时可以满足故障转移/故障恢复. 但是负载均衡路由器本身需要维护,...原创 2020-03-26 21:05:01 · 1514 阅读 · 0 评论 -
一致性hash算法
consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 ...原创 2020-03-26 21:04:13 · 111 阅读 · 0 评论 -
java程序里运行外部程序
使用Runtime.getRuntime().exec()方法可以在java程序里运行外部程序。 1. exec(String command) 2. exec(String command, String envp[], File dir) 3. exec(String cmd, String envp[]) 4. exec(String cmdarray[]) 5. exe...原创 2020-03-26 21:03:17 · 275 阅读 · 0 评论 -
httpclient使用参数设置
参数设置1、httpclient 4.2.3HttpParams params = new BasicHttpParams();//设置连接超时时间Integer CONNECTION_TIMEOUT = 2 * 1000; //设置请求超时2秒钟 根据业务调整Integer SO_TIMEOUT = 2 * 1000; //设置等待数据超时时间2秒钟 根据业务调整转载 2015-01-20 15:06:49 · 9865 阅读 · 0 评论 -
spring mvc工作原理
Spring MVC工作流程图图一图二 Spring工作流程描述 1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获; 2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据转载 2013-11-21 13:12:58 · 1828 阅读 · 0 评论