自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (2)
  • 收藏
  • 关注

原创 12354 组合的数字 找比该数据最大中的最小数字

12354 组合的数字 找比该数据最大中的最小数字思路:从后往前遍历得到一个相邻的后面比前面大的数据索引位置 从当前索引到数组最大位置建立两个指针,left为当前索引值var[left],right为最大位置索引代表到值var[right],若val[right] > var[left]则交换 交换后继续交换当前索引到数组最大位置建立两个指针中间的值,因为当前索引后面 前面大...

2020-01-04 13:44:37 562

原创 zookeeper基础知识

概念分布式协调服务【命名服务、共享配置、协调锁资源】数据结构Znodedata:Znode存储的数据信息。ACL:记录Znode的访问权限,即哪些人或哪些IP可以访问本节点。stat:包含Znode的各种元数据,比如事务ID、版本号、时间戳、大小等等。child:当前节点的子节点引用,类似于二叉树的左孩子右孩子。读多写少:节点存储少量的状态和配置信息,每个节点的数据最...

2020-01-02 14:42:49 142

原创 缓存小结

目录1 缓存介绍和分类1.本地缓存2 缓存使用注意事项2.1 数据更新先操作缓存还是数据库2.2 并发更新大坑3 手写LRU缓存1 缓存介绍和分类1.1 介绍用户请求 -> 界面 -> 网络转发 -> 应用服务 —> 数据服务应用服务器资源是有限的,且技术变革是缓慢的,数据库每秒能接受的请求次数也是有限的目的:加速数据访问...

2019-10-14 18:03:01 179

原创 es使用经验小结

es get和post的区别post可以带body,get不能带body,post一般用于提交数据,get是获取数据,这是http协议的内容,rest是基于http的,所以在你用get时,你的body写了也没啥用,都被忽略了,而用post的话,es会把你的数据上传到索引里多个must条件javaBoolQueryBuilder boolQueryBuilder = QueryBui...

2019-10-12 18:18:55 2255

原创 支付宝对接总结

支付宝对接【手机网页支付】:1.回跳地址可以是内网,return_url不需要携带自定义拼接参数,回跳成功返回示例:https://www.baidu.com/?a=1&charset=UTF-8&out_trade_no=625025472840859648&method=alipay.trade.wap.pay.return&total_amount=...

2019-10-11 09:58:47 238

原创 限流算法小结

1.令牌桶优点:能限制请求频率,也能够应对突发流量参数最少令牌最大令牌添加令牌的速度上次添加令牌的毫秒数过程系统会按恒定1/QPS时间间隔(如果QPS=100,则间隔是10ms)往桶里加入Token,如果桶已经满了就不再加了。新请求来临时,会各自拿走一个Token,如果没有Token可拿了就阻塞或者拒绝服务。2.漏桶法优点:能限制请求频率,适合请求速度匀速限流缺点:不...

2019-10-10 09:44:57 253

原创 【并发编程】使用Semaphore来遏制任务的提交

前言:ThreadPoolExecutor中提交一个LinkedBlockingQueue来表示请求等待队列的长度,该队列有助于减缓瞬时任务激增带来的压力,但任务提交速度过快时,还是需要遏制任务的提交,以免耗尽内存,【即使没有耗尽,也会随着队列长度的激增响应时间也会变慢】,可以使用Semaphore来限制任务的提交量,限制当前执行的任务数和等待执行的任务数,即期望限制当前线程池加上允许排队等待的线

2017-05-17 11:00:30 442

原创 Kafka环境搭建及与Spring的整合测试

【前言】 Kafka作为一种分布式消息队列的实现,采用发布订阅的消息模型。通过生产者把消息Topic存储在broke,消息者可以订阅多个感兴趣的topic进行消费。消费者需要自己保留一个offset,从kafka 获取消息时,只拉去当前offset 以后的消息。Kafka相比于其他MQ(activemq、rabbitmq)优点:1.高性能高吞吐量 ;  Kafka 集群可以透明的扩展,增加

2016-12-14 11:01:18 16234 4

原创 active mq与Spring的整合

【前言】Java消息服务(JMS)广泛应用在跨系统的异步通信中,优势在于减少响应时间和降低耦合,通常我们会把比较耗时且不需要立即返回结果的操作放入消息队列中。【分类】1.点对点消息模型 :每个消息只有一个接受者,消息发送和消息接收者之间无直接关联。当消息发送者发送消息时,无论接收者在不在运行,都能获取到消息,并在收到时发送确认消息。2.发布订阅模型:一个消息可以有多个订阅者,发布、订阅之间

2016-12-12 16:09:58 1327

原创 网络通信框架Netty的TCP粘包/拆包解决方案

【前言】针对TCP底层网络通信设计时,当在接收或者发送数据消息时,都需要考虑TCP粘包或者拆包的问题。即可以认为TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,因此一个完整的数据包可能被被TCP拆分成多个包进行发送,也可能把若干个小的数据包封装成一个大的包发送,从而导致数据接收的不完整问题,这就是TCP粘包和拆包问题。【问题说明】TCP粘包拆包问题图解

2016-10-13 16:41:17 1811

原创 Concurrent包同步器模拟程序

前言:java.util.concurrent包中高级的工具分为三类:Executor frameWork、性能更好的并发容器(ConcurrentHashMap)以及同步器(使线程能够等待另一个线程的对象),比较常用的同步器就是CountDownLatch和Semaphoreimport org.junit.Test;import java.util.concurrent.CountDownLa

2016-09-01 16:17:51 374

原创 Lock与Synchronized小结

【区别】synchronized:对象锁,调用synchronized方法的线程取得该对象锁后,其他线程需要等待该线程释放该对象锁后才能进入该方法。若是持有不同的对象的线程,则可以同时进入该方法。注意:类锁(全局锁)synchronized(A.getClass)与对象锁synchronized(this)的区别【特点】隐式锁,锁的范围是整个方法或代码块中,离开该方法/块后自动shif2.重入

2016-08-19 11:25:03 510

原创 逻辑运算符的短路特性

【前言】:刷题时遇到了条件的逻辑运算符控制问题,即逻辑条件代码的先后影响了程序的执行。如以下代码:1.while(array[j-1]%2==0&&j>0){ array[j]=array[j-1]; j--; }2.while(j>0&&array[j-1]%2==0){ array[j]=array[j-1]; j--; }第一种情况会发生

2016-07-23 19:38:08 2930

原创 定时调度线程池scheduleAtFixedRate和schedule方法

【1.scheduleAtFixedRate方法】定时调度线程池:ScheduledExecutorService executor=Executors.newScheduledThreadPool(2);//提供2个定时调度的线程executor.scheduleAtFixedRate(Runnable command, long initialDelay, long period,

2016-06-27 15:47:58 6798

原创 Majority Element解决:Moore's Voting Algorithm

【前言】最近再刷leetcode的时候,遇到了一道关于主要元素的题目,题目如下:Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.You may assume that the array is n

2016-06-01 10:47:50 871

原创 数据排序之TopK问题

【前言】在大规模数据处理中,常遇到的一类问题是,在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这类问题通常称为“topK”问题【解决思路】针对topK类问题,通常比较好的方案是【分治+trie树/hash+小顶堆】,即先将数据集按照hash算法分解成多个小数据集,然后使用trie树或者hash表统计每个小数据集中的query词频,之后用小顶堆求出每个数据集中出

2016-05-27 15:27:51 5936

原创 二叉树的构建以及深度优先遍历 广度优先遍历

【前言】 二叉树的遍历过程就是根据某一顺序访问树中的节点,树的几种常用遍历方法有:前序遍历、中序遍历以及后序遍历。由于二叉树属于一个无环的图,所以图中的深度优先遍历和广度(广度)优先编历也适用于二叉树。【1.深度遍历描述】深度遍历是向深度搜索的过程,沿着各分支路径走到尽头,再返回遍历其他的节点。二叉树是无环的结构,在遍历时候只需将各个节点压入栈中,无需标记节点是否已经访问。深度优先遍历路径是根

2016-05-13 15:41:40 778

原创 动态规划之最长递增子序列 最长不重复子串 最长公共子序列

【前言】动态规划:与分治法相似,即通过组合子问题来求解原问题,不同的是分治法是将问题划分为互不相交的子问题,递归求解子问题,再将他们组合起来求出原问题的解。动态规划则应用于子问题重叠的情况,通常用来求解最优化问题。这类问题可以有很多可行解,每个解都有一个值,我们希望寻找最优值的解。通常有4个步骤来设计动态规划算法:1.刻画一个最优解的结构特征。2.递归地定义最优解的值。3.计算

2016-05-11 16:19:40 4043 1

原创 Maven+Spring+mybatis项目搭建

Maven+Spring+mybatis项目搭建##倒腾了一个下午,龟速了下载了N多jar后,终于成功跑起##【前言】使用工具:开发工具使用的是sts(spring tool suite)点击打开链接, JDK 1.7,以及Mybatis generator点击打开链接 主要用来生成model、mapping和dao的,需要自己下载。【过程】1.建表:建立了一张User表,主要

2016-04-24 13:59:39 8403

原创 一道链表题目的思考

【题目说明】设有一个带表头结点的双向循环链表L,每个结点有4个数据成员:指向先驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0.每当在链表上进行一次L.Locate(x)操纵时,令元素值x的结点的访问频度freq加1,并将该结点前移,链接到现它的访问频度相等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频

2016-04-21 14:33:42 702

原创 OSGI框架搭建常见问题即错误

OSGI框架搭建常见问题即错误

2016-03-11 16:59:24 900

原创 (happytime)Onvif Server端口占用 10013问题解决方法

1.查看某程序是否正在占用udp端口号,使用指令netstat -abno -p UDP如上图所示,3702端口被占用,结束掉相应的服务即可。2.停止相应的服务进程3.解决10013端口占用问题

2015-12-27 17:43:51 1730

原创 PO VO DTO BO区别及用法

PO:persistant object持久对象最形象的理解就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。 BO:businessobject业务对象主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。比如一个简历,有教育经历、工作经历、社会关系等等。我们可以把教育经历对应一个PO,工

2015-12-16 20:33:09 7016 1

原创 quartz定时器任务调度实现

quartz-task.xml配置 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"default-lazy-init="false">

2015-12-14 20:48:20 695

java面试宝典

Java面试宝典,不错的总结和解释哦。doc

2015-12-30

happytime-onvif-server端测试软件

happytime-onvif-server端测试软件,在device test tool中可以搜到设备

2015-12-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除