随笔分类 -  Java总结

摘要:1.缓存雪崩:缓存挂了,所有请求直接打到数据库了 例如:redis挂了,查询数据的时候发现redis不可用,所有请求直接打到数据库了 解决办法:1.缓存集群高可用,2首先本地一级缓存,其次redis二级缓存,最后数据库 2.缓存击穿:所有请求在缓存中没有找到数据,直接打到数据库了 例如:查询数据的时 阅读全文
posted @ 2019-07-20 09:30 麻雀虽小五脏俱全 阅读(433) 评论(0) 推荐(0)
摘要:一、需求:用户管理系统(UMS),仓库管理系统(WMS),订单管理系统(OMS) 现在OMS有一张订单表:【订单id,用户id,商品id,订单状态,订单时间】,需要在客户端展示此订单对应的用户详情和商品详情 二、接口API整理:在OMS中,需要根据用户id在UMS中查询用户详情和根据商品id在WMS 阅读全文
posted @ 2018-09-26 23:31 麻雀虽小五脏俱全 阅读(458) 评论(0) 推荐(0)
摘要:我的版本说明: redis服务端版本:redis_version:2.8.19 jedis: 1、网上关于scan的资料很少,我把自己遇到的先总结下: scan时间复杂度:O(1) 遍历一次所有的key:O(N),N代表次数 先贴下jedis实现代码: 阅读全文
posted @ 2018-03-01 17:23 麻雀虽小五脏俱全 阅读(1351) 评论(0) 推荐(0)
摘要:/** * @author admin * @date 2018/1/12 9:48 * 作用在同一个实例对象上讨论 * synchronized同步方法的测试 * 两个线程,一个线程调用synchronized修饰方法,另一个线程可以调用非synchronized修饰的方法,互不影响 */ public class SynchronizedTest { public sy... 阅读全文
posted @ 2018-01-12 11:24 麻雀虽小五脏俱全 阅读(6336) 评论(0) 推荐(0)
摘要:锁的释放-获取建立的happens before 关系 锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。 下面是锁释放-获取的示例代码: 假设线程A执行writer()方法,随后线程B执行reader()方法。根据happens b 阅读全文
posted @ 2017-12-29 16:14 麻雀虽小五脏俱全 阅读(223) 评论(0) 推荐(0)
摘要:Java内存模型的抽象 在java中,所有实例域、静态域和数组元素存储在堆内存中,堆内存在线程之间共享(本文使用“共享变量”这个术语代指实例域,静态域和数组元素)。局部变量(Local variables),方法定义参数(java语言规范称之为formal method parameters)和异常 阅读全文
posted @ 2017-12-29 16:09 麻雀虽小五脏俱全 阅读(207) 评论(0) 推荐(0)
摘要:一、定义 无状态服务(stateless service)对单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部获取到(比如说数据库),服务器本身不存储任何信息 有状态服务(stateful service)则相反,它会在自身保存一些数据,先后 阅读全文
posted @ 2017-12-29 14:41 麻雀虽小五脏俱全 阅读(3492) 评论(0) 推荐(0)
摘要:1、>>表示右移(有符号右移),如:15>>2的结果是3,-31>>3的结果是-4,左边以该数的符号位补充,移出的部分将被抛弃。 转为二进制的形式可能更好理解(省略左边的三个字节),0000 1111(15)右移2位的结果是0000 0011(3),1110 0001(-31)右移3位的结果是111 阅读全文
posted @ 2017-12-04 15:51 麻雀虽小五脏俱全 阅读(2536) 评论(0) 推荐(0)
摘要:雪花算法-snowflake 分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。 有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。 而twitter的sno 阅读全文
posted @ 2017-11-14 10:00 麻雀虽小五脏俱全 阅读(4259) 评论(0) 推荐(0)
摘要:import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concu 阅读全文
posted @ 2017-11-04 23:26 麻雀虽小五脏俱全 阅读(8426) 评论(1) 推荐(0)
摘要:1、什么叫着缓存击穿? 缓存击穿:就是略过缓存了,直接请求数据库,导致数据库挂了 一般的缓存设计就算下面这种写法: // 判断缓存key是否存在 if(缓存中存在){ return redis.get(key); } // 查询数据库 value = DB.query(); // 保存在缓存 red 阅读全文
posted @ 2017-11-04 22:13 麻雀虽小五脏俱全 阅读(1663) 评论(0) 推荐(0)
摘要:System.exit(0)会跳过finally块的执行,什么都不输出。 阅读全文
posted @ 2017-10-17 18:15 麻雀虽小五脏俱全 阅读(1200) 评论(0) 推荐(0)
摘要:package com.test.service;import com.task.Application;import com.task.model.po.TaskRecordDo;import org.junit.Test;import org.junit.runner.RunWith;impor 阅读全文
posted @ 2017-09-21 13:56 麻雀虽小五脏俱全 阅读(13788) 评论(0) 推荐(0)
摘要:什么是微服务? 微服务(Microservices Architecture)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。 单体架 阅读全文
posted @ 2017-09-18 17:46 麻雀虽小五脏俱全 阅读(281) 评论(0) 推荐(0)
摘要:public class txttest { /** * 读取txt文件的内容 * @param file 想要读取的文件对象 * @return 返回文件内容 */ public static String txt2String(File file){ StringBuilder result = 阅读全文
posted @ 2017-09-18 17:09 麻雀虽小五脏俱全 阅读(1040) 评论(0) 推荐(0)
摘要:每次的总结,都是一种进步,把自己理解的东西记录下来不容易,让别人看懂更不容易。 第一:基本概念: 1、有状态就是有数据存储功能。有状态对象(Stateful Bean),就是有实例变量的对象,可以保存数据,是非线程安全的。在不同方法调用间不保留任何状态。 2、无状态就是一次操作,不能保存数据。无状态 阅读全文
posted @ 2017-03-17 17:08 麻雀虽小五脏俱全 阅读(25683) 评论(5) 推荐(9)
摘要:把周末的文章放在现在才来写,是自己太忙了?还是堕落了? 好吧直接进入主题吧,简单干脆的理解会让自己记忆深刻: 首先说明:GC垃圾收集器关注两件事情: 第一件:查找所有存活对象。 第二件:抛弃死对象(不再使用的对象)。 然后再分步骤解释这个过程: 第一步, 记录所有的存活对象, 在垃圾收集中有一个叫做 阅读全文
posted @ 2017-03-15 23:02 麻雀虽小五脏俱全 阅读(538) 评论(0) 推荐(0)
摘要:在java编程中,经常需要用到同步,而用得最多的也许是synchronized关键字了,下面看看这个关键字的用法。 因为synchronized关键字涉及到锁的概念,所以先来了解一些相关的锁知识。 java的内置锁:每个java对象都可以用做一个实现同步的锁,这些锁成为内置锁。线程进入同步代码块或方 阅读全文
posted @ 2017-03-07 16:56 麻雀虽小五脏俱全 阅读(4702) 评论(0) 推荐(1)
摘要:为了弄清这几个概念还和同事讨论了一番,然后还查了一些资料,总结一下。 同步与异步是在客户端向服务端发请求的时候,客户端做出的处理方式。 同步:客户端向服务端发出一个请求,客户端就一直在等着服务端的返回结果。 异步:客户端向服务端发出一个请求并向服务器说:你处理完了通知我一声哦,我就不在这儿一直等着了 阅读全文
posted @ 2017-03-04 16:02 麻雀虽小五脏俱全 阅读(209) 评论(0) 推荐(0)
摘要:记录哈,搭建环境的时候,copy使用方便。 vim /etc/profile export JAVA_HOME=/usr/java/jdk1.7.0_79export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar: 阅读全文
posted @ 2017-03-03 16:44 麻雀虽小五脏俱全 阅读(253) 评论(0) 推荐(0)