6 青鱼入云

尚未进行身份认证

暂无相关描述

等级
TA的排名 3w+

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

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

2019-02-22 12:13:52

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

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

2018-11-27 16:12:29

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

老碰到少了逗号“,”的情况,导致sql出错,但是这类问题又不容易察觉到,幸好如果有异常堆栈打出的话,这类问题还是比较好发现的。比较麻烦的事是在某厂,当时碰到的这个服务本地无法启动,但是本人初来乍到,一是不熟悉整个系统,找不到启动失败原因在哪儿,而且据说这个问题对于团队老人们都比较难解决,项目又忙,暂时只能通过部署在远程服务器上测试了,二是项目工期压力大,deadline近在眼前,没有时间解决...

2018-11-11 15:49:53

通过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=10-XX:+UseConcMarkSweepGC-XX:CMSMaxAbortablePrecl...

2018-10-24 11:21:14

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

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

2018-09-04 11:54:20

海量数据处理实例

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

2018-09-04 11:53:34

分布式事务与解决方案

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

2018-09-03 17:22:01

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

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

2018-09-03 16:43:39

排序算法汇总

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

2018-09-03 16:33:00

架构上一些专有名词定义

服务降级:在服务负荷超出整体负载能力时,保证重要或基本服务正常运行,非重要服务延迟使用或暂停使用。服务熔断:当下游服务因访问压力过大而相应变慢或失败,上游服务为了保护系统整体的可用性,切断对下游服务的调用。服务熔断会有三个状态:Closed:熔断器关闭状态,调用失败次数积累,到了阈值(或一定比例)则启动熔断机制;Open:熔断器打开状态,此时对下游的调用都内部直接返回错误,不走网络,但...

2018-09-03 15:39:44

秒杀系统架构优化思路

秒杀系统架构优化思路

2018-09-03 15:28:21

分布式锁之redis锁及实现

分布式锁有几种常用的实现方式:zookeeper、memcached、redis、mysql。这里介绍一下redis的实现方式,并在最后附上了一个Demo小工具:众所周知,reids锁是通过setnx+expire的方式实现的,setnx保证只有在key不存在时才能set成功,expire保证锁在非正常释放的情况下不会形成死锁。基本原理就是这个,但实际操作中我们需要注意几个问题:...

2018-06-07 17:27:28

创建线程的三种方式

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

2018-06-03 16:23:39

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

Copy-on-Write机制简称COW,是一种并发设计策略。其基本思路是多线程同时共享同一个内容,当某个线程想要修改这个内容的时候,才会真正的把内容copy出去形成一个新的内容然后修改,其它的线程继续读旧的内容,直到修改完成。这是一种延时懒惰策略。Copy-on-Write有那么几个应用场景:linux系统中内存的管理和分配。参考:写时复制机制redis快照持久化(bg...

2018-06-03 15:16:05

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

hashmap技术概览

2018-06-01 16:33:36

ReentrantReadWriteLock源码解析

ReentrantReadWriteLock是ReadWriteLock的一个实现类,具有和ReentrantLock相似的语义。但注意:并不是Lock、或者ReentrantLock的子类或实现,但ReadLock和WriteLock实现了Lock接口。ReadWriteLock源码如下:/***AReadWriteLock维护一对关联的locks,一个用于只读操作,一个用于写...

2018-05-24 11:44:28

Semaphore源码解析

Semaphore:一个计数信号量。在概念上,信号量维持一组许可证。如果有必要,每个acquire()都会阻塞,直到许可证可用,然后获取它。每个release()释放一个许可证回去,潜在地释放一个阻塞获取方。类似与限流算法中的令牌桶算法。但是,Semaphore并没有使用实际的许可证对象;Semaphore只保留可用数量的计数,并相应地执行。信号量通常用于限制线程数,而不是访问...

2018-05-20 22:39:08

CountDownLatch源码解析

CountDownLatch:允许一个或多个线程等待其他线程中执行完成的同步辅助工具。CountDownLatch使用一个给定的计数初始化。await方法阻塞,直到由于countDown()方法的调用而导致当前计数达到零,之后所有等待线程被释放,并且任何后续的await调用立即返回。这是一个一次性的现象-计数器无法重置。如果您需要重置计数器的版本,可以考虑使用CyclicBar...

2018-05-20 21:39:22

可重入锁ReentrantLock源码解析

ReentrantLock:一个可重入互斥Lock具有与使用synchronized方法和语句访问的隐式监视锁相同的基本行为和语义,但具有扩展功能。比如实现公平锁、超时处理、锁中断。AReentrantLock由最后一个成功锁定且尚未解锁的线程拥有。当锁不是由另一个线程拥有时,调用lock的线程将成功获取锁。如果当前线程已经拥有该锁,该方法将立即返回。当前线程是否持有该锁可以使用...

2018-05-20 21:10:47

AQS(抽象队列同步器)

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

2018-05-20 19:29:52

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得