摘要:
问题: 有一个请求去调用了服务A,A中需要向数据库写入数据,其中A里面又调用了服务B,B中也向服务器写入了一些数据,当A成功调用B之后,B正常执行了,A的操作发生了异常,A操作的数据可以正常回滚,那么问题是B服务的事务如何与A保持一致呢? 解决方案: 服务A与服务B属于不同的应用,通过dubbo远程 阅读全文
摘要:
海量积分数据实时排名处理方式介绍一中介绍了几种海量数据实时排名的方法 本文章将介绍使用Redis sorted-set及自己开发的多线程算法实现 方法一:使用Redis sorted-set /*** 多线程-根据Redis缓存添加往排行榜添加元素,并获取排行前10的元素* @param rankS 阅读全文
摘要:
问题描述: 十个猴子围成一圈选大王,依次1-3 循环报数,报到3 的猴子被淘汰,直到最后一只猴子成为大王。问,哪只猴子最后能成为大王? 方法一:Java链表 public class TestAll { static Scanner scanner = new Scanner(System.in); 阅读全文
摘要:
首先考虑如下因素: 1.数据的容量:1-3年内会大概多少条数据,每条数据大概多少字节; 2.数据项:是否有大字段,那些字段的值是否经常被更新; 3.数据查询SQL条件:哪些数据项的列名称经常出现在WHERE、GROUP BY、ORDER BY子句中等; 4.数据更新类SQL条件:有多少列经常出现UP 阅读全文
摘要:
规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。 注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字段的长度之和不能超过1000字节。另外MyISAM数据和索引是分开,而InnoDB的数据存储是按聚簇(cluster)索引有 阅读全文
摘要:
一、MySQL的存储引擎 完整的引擎说明还是看官方文档:http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html 这里介绍一些主要的引擎 1、InnoDB存储引擎 InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(sh 阅读全文
摘要:
前面Zabbix使用的数据库是mysql,数据库备份不用多说,必须滴,由于使用的是innodb引擎,既然做,那就使用第三方强大的Xtrabackup工具来热备吧,Xtrabackup的说明,参见https://my.oschina.net/u/1171265/blog/200437 数据库备份: 数 阅读全文
摘要:
MySQL的备份和还原 备份:副本 RAID1,RAID10:保证硬件损坏而不会业务中止; DROP TABLE mydb.tb1; 备份类型: 热备份、温备份和冷备份(根据服务器是否在线) 热备份:读、写不受影响; 温备份:仅可以执行读操作; 冷备份:离线备份;读、写操作均中止; 物理备份和逻辑备 阅读全文
摘要:
方法/步骤 使用navicat工具连接mysql数据库,这里以navicat for Mysql工具为例。如果数据库在本机,那么连接ip处写localhost即可,如果数据库在其他机器,那需要写具体的ip地址。 设置mysql备份文件的存储路径。新建连接页面,设置连接信息的右侧有个高级按钮,点击,进 阅读全文
摘要:
有几种方式: 1 mysqldump, 这种方式不仅适用于InnoDB,还适用于其它类型的存储引擎,如MyISAM。备份的时候将数据库备份成SQL(包含drop,create,insert等语句),恢复的时候直接导入即可。属于逻辑备份。 2 copy file, 我们知道InnoDB底层存储的时候会 阅读全文
摘要:
序章 Atlas是360团队弄出来的一套基于MySQL-Proxy基础之上的代理,修改了MySQL-Proxy的一些BUG,并且优化了很多东西。而且安装方便。配置的注释写的蛮详细的,都是中文。英文不好的同学有福了。 Atlas官方链接: https://github.com/Qihoo360/Atl 阅读全文
摘要:
在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁 锁机制存在以下问题: (1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。 (2)一个线程持有锁会导致其它所有需要此锁的线程挂起。 (3)如果一个优先级高的线程等待一个优先级低的线 阅读全文
摘要:
一、可运行Jar配置 1. 设置JDK 2. 设置源码 #!/bin/bash export BUILD_ID=xxxxxx_content_170 myPath="/data/deploy/iol8-content-service" core_name="content_service_core" 阅读全文
摘要:
并发环境下为什么使用ConcurrentHashMap 1. HashMap在高并发的环境下,执行put操作会导致HashMap的Entry链表形成环形数据结构,从而导致Entry的next节点始终不为空,因此产生死循环获取Entry 2. HashTable虽然是线程安全的,但是效率低下,当一个线 阅读全文
摘要:
最近在网上查资料碰到好多没接触过的技术,先汇总在这里备用,以后慢慢吸收 1. JNA JNI的替代品,调用方式比JNI更直接,不再需要JNI那层中间接口,几乎达到Java直接调用动态库 2. SmallSQL 基于JDBC3.0转为Desktop应用设计的嵌入式数据库,纯Java,本地访问,不支持网 阅读全文
摘要:
这里的自动过期,Redis并没有提供相应的api,但是可以使用一下方法来实现。 需求背景: 给用户返回的文章要求七日内不能重复;文章是存放在java list里边;(这一块就是从db将文章拿出来,然后放入list,放入java内存中)。 分析: 当用户第一次访问的时候,创建一个key值为userId 阅读全文
摘要:
如果对实时并发排序感兴趣,请关注这个项目(java):https://github.com/xuerong/hqrank,欢迎参与开发,pass:支持多字段排行 最近遇到一个问题就是根据需求需要对所有的用户根据积分,显示他的全站排名,数据量大概200万左右,积分是实时更改的,怎么能让这个排名尽量的实 阅读全文
摘要:
需求概述 积分排名在很多项目都会出现,大家都不会陌生,需求也很简单,积分排名主要满足以下需求: 当排序的数据量不大的时候,这个需求很容易满足,但是如果数据量很大的时候比如百万级、千万级甚至上亿的时候,或者有实时排名需求;这个时候要满足性能、低成本等需求,在设计上就变得复杂起来了。 常规积分排名处理 阅读全文
摘要:
1,java堆,分新生代老年代,新生代有Eden,from surviver,to surviver三个空间,堆被所有线程共。eden内存不足时,发生一次minor GC,会把from survivor和eden的对象复制到to survivor,这次的to survivor就变成了下次的from 阅读全文
摘要:
1、 JVM结构原理、GC工作机制详解 答:具体参照:JVM结构、GC工作机制详解 ,说到GC,记住两点:1、GC是负责回收所有无任何引用对象的内存空间。 注意:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,2、GC回收机制的两种算法,a、引用计数法 b、可达性分析算法( 这里的可达 阅读全文
摘要:
一。三大框架方面问题 1、Spring 事务的隔离性,并说说每个隔离性的区别 解答:Spring事务详解 2、Spring事务的传播行为,并说说每个传播行为的区别 解答:Spring事务详解 3、hibernate跟Mybatis/ ibatis 的区别,为什么选择? 解答:Hibernate与My 阅读全文
摘要:
Redis实现消息队列参考如下: 以下分别用Redis及Jedis实现简单消息队列: Redis实现消息队列 、参考2 阅读全文
摘要:
在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法, 由于Thread.join()也和这三个类有类似用法,我也一起拿来进行比较。 1. Join: 等待当前 阅读全文
摘要:
正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编 程中跟C 阅读全文
摘要:
背景: 省分短信发送每天都差不多要1000W条上下,遇到特殊节假日和政府通告时量会更大!boss系统中存放的是短信发送内容,而真正完成发送短信指令动作是的华为方做的短厅,这么大的通信量选择了netty来完成数据传输并自定义了一套基于netty的SGIP协议进行通信; 省分boss系统—>短信营业厅( 阅读全文
摘要:
Lock Lock相比于synchronized具有更强大的功能,在jdk1.6之前,锁竞争激烈的情况下使用lock的实现类ReentrantLock甚至比synchronized具有更好的性能,1.6之后oracle对synchronized进行了优化,如今的jdk1.8中两者性能不相伯仲。一个工 阅读全文
摘要:
Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。 读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这是由jvm自己控制的,你只要上好相应的锁即可。如果你的代 阅读全文
摘要:
Linux安装Gradle Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。在github上,gradle项目很多,有的是gradel跟maven构建一块儿使用,可以看出,gradle有一种逐渐替代maven的架势。 下面就描述一下 阅读全文
摘要:
自增ID主键 UUID 主键 优劣 阅读全文
摘要:
Websocket 阅读全文
摘要:
VideoJS Audio标签 视频 音频 字幕 同步播放 阅读全文
摘要:
HTTP Basic Auth HTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环 阅读全文
摘要:
Spring 接口参数加密传输 阅读全文
摘要:
版本 标准 阅读全文
摘要:
JwPlayer 水印 阅读全文