使用@RequestBody传对象参数时碰到的坑

工作中需要使用到http接口传一个对象数组,网上找到某博客:springmvc参数为对象,数组 但是测试还是不对,报错: 2019-02-21 23:44:37.168 WARN 34133 --- [nio-7001-exec-6] .w.s.m.s.DefaultHandlerExcept...

2019-02-22 12:13:52

阅读数 424

评论数 0

一次zxid打满之后引发的故障

某天早上,还没到公司就被通知系统定时任务都挂了,紧急对所有应用都重启之后,我们把问题定位在了zk上。 问题背景: 系统使用定时任务调度框架为开源tbSchedule,使用zk作为任务注册中心,这个框架对异常状况处理能力比较弱,与zk对连接中,出现网络超时、session过期等情况没有稳定的恢复...

2018-11-27 16:12:29

阅读数 270

评论数 2

mybatis刚从@Annotation向xml转换时遇到的一些坑

老碰到少了逗号“,”的情况,导致sql出错,但是这类问题又不容易察觉到,幸好如果有异常堆栈打出的话,这类问题还是比较好发现的。比较麻烦的事是在某厂,当时碰到的这个服务本地无法启动,但是本人初来乍到,一是不熟悉整个系统,找不到启动失败原因在哪儿,而且据说这个问题对于团队老人们都比较难解决,项目...

2018-11-11 15:49:53

阅读数 123

评论数 0

通过ps -ef | grep java查看到java进程相应jvm启动参数

/opt/taobao/java/bin/java -server -Xms4g -Xmx4g -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -Xmn2g -XX:MaxDirectMemorySize=1g -XX:SurvivorRatio=...

2018-10-24 11:21:14

阅读数 534

评论数 0

记某一次阿里面试的实时笔试题

某次面试阿里云,要求实时写一个小程序,要求如下: 1.两个线程,一个线程生产者,一个线程是消费者 2.生产者生产票,超过10张就休息,被消费了就继续生产。 3.消费者消费票,票没了之后就休息,有票了接着消费。 题目看着很简单,但却包含了很多考点:消息队列、线程、线程通信、锁。 具体看看我...

2018-09-04 11:54:20

阅读数 306

评论数 0

海量数据处理实例

在bat等大公司,基本所有业务的数据量级都很庞大,那么如何在保证数据完整性的情况下快速处理成了一个通用的难题,这里列举几个例子,大致反应一些处理思想。 1.一个文件中,每一行有一个整数,有上亿行,目的:统计出现次数超过三次的整数写入到另一个文件中。 分析: (1)首先数据在文件中,既然要统计...

2018-09-04 11:53:34

阅读数 129

评论数 0

分布式事务与解决方案

分布式事务:分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。 ACID: 原子性(Atomicity)、 一致性(Consistency)、 隔离性(Isolation)、 持久性(Durability) CAP: 一致性...

2018-09-03 17:22:01

阅读数 69

评论数 0

osi七层模型与TCP/IP五层模型

https://blog.csdn.net/zhangym199312/article/details/78346652

2018-09-03 16:43:39

阅读数 70

评论数 0

排序算法汇总

冒泡:俩俩相比然后互换位置 选择:从前往后比较,一直找到最小的一个挪到最左边 插入:从前往后,把每个数往前面合适的地方插入 归并:把待排序队列分为n个有序的子队列,再合并他们 快速:冒泡排序的进化,第一个数据把做全量对比,把比这个数小的放到它左边,大的放到右边,然后分别对左右两部分再进行快...

2018-09-03 16:33:00

阅读数 58

评论数 0

架构上一些专有名词定义

服务降级:在服务负荷超出整体负载能力时,保证重要或基本服务正常运行,非重要服务延迟使用或暂停使用。 服务熔断:当下游服务因访问压力过大而相应变慢或失败,上游服务为了保护系统整体的可用性,切断对下游服务的调用。服务熔断会有三个状态: Closed:熔断器关闭状态,调用失败次数积累,到了阈值(或一...

2018-09-03 15:39:44

阅读数 71

评论数 0

秒杀系统架构优化思路

秒杀系统架构优化思路

2018-09-03 15:28:21

阅读数 82

评论数 0

分布式锁之redis锁及实现

分布式锁有几种常用的实现方式:zookeeper、memcached、redis、mysql。这里介绍一下redis的实现方式,并在最后附上了一个Demo小工具: 众所周知,reids锁是通过setnx + expire的方式实现的,setnx保证只有在key不存在时才能set成功,exp...

2018-06-07 17:27:28

阅读数 369

评论数 0

创建线程的三种方式

1. 继承Thread类创建线程 2. 实现Runnable接口 3. 实现callable接口

2018-06-03 16:23:39

阅读数 73

评论数 0

Copy-On-Write写时复制机制与Java中CopyOnWriteArrayList容器源码实现

Copy-on-Write机制简称COW,是一种并发设计策略。其基本思路是多线程同时共享同一个内容,当某个线程想要修改这个内容的时候,才会真正的把内容copy出去形成一个新的内容然后修改,其它的线程继续读旧的内容,直到修改完成。这是一种延时懒惰策略。 Copy-on-Write有那么几个应用场景...

2018-06-03 15:16:05

阅读数 265

评论数 0

hashmap技术概览与扩容在Java7与Java8中的不同实现

hashmap技术概览

2018-06-01 16:33:36

阅读数 378

评论数 0

ReentrantReadWriteLock源码解析

ReentrantReadWriteLock是ReadWriteLock的一个实现类,具有和ReentrantLock相似的语义。但注意:并不是Lock、或者ReentrantLock的子类或实现,但ReadLock和WriteLock实现了Lock接口。 ReadWriteLock源码如下: ...

2018-05-24 11:44:28

阅读数 81

评论数 0

Semaphore源码解析

Semaphore:一个计数信号量。 在概念上,信号量维持一组许可证。 如果有必要,每个acquire()都会阻塞,直到许可证可用,然后获取它。 每个release() 释放一个许可证回去,潜在地释放一个阻塞获取方。 类似与限流算法中的令牌桶算法。 但是,Semaphore并没有使用实际的许可证...

2018-05-20 22:39:08

阅读数 107

评论数 0

CountDownLatch源码解析

CountDownLatch:允许一个或多个线程等待其他线程中执行完成的同步辅助工具。 CountDownLatch使用一个给定的计数初始化。await方法阻塞,直到由于countDown()方法的调用而导致当前计数达到零,之后所有等待线程被释放,并且任何后续的await 调用立即返回。 ...

2018-05-20 21:39:22

阅读数 72

评论数 0

可重入锁ReentrantLock源码解析

ReentrantLock:一个可重入互斥Lock具有与使用synchronized方法和语句访问的隐式监视锁相同的基本行为和语义,但具有扩展功能。比如实现公平锁、超时处理、锁中断。 A ReentrantLock由最后一个成功锁定且尚未解锁的线程拥有 。当锁不是由另一个线程拥有时,调用l...

2018-05-20 21:10:47

阅读数 109

评论数 0

AQS(抽象队列同步器)

一、什么是 AQS ? AQS即AbstractQueuedSynchronizer的缩写,是并发编程中实现同步器的一个框架。 AQS基于一个FIFO双向队列实现,被设计给那些依赖一个代表状态的原子int值的同步器使用。我们都知道,既然叫同步器,那个肯定有个代表同步状态(临界资源)的...

2018-05-20 19:29:52

阅读数 220

评论数 0

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