Java多线程Semaphore和CountDownLatch 发表于 2018-03-17 | 分类于 Java 最近忙着毕设,要做前端,所以看更多的是React的知识,小后端🐶还是要继续学习总结,不然就要没(tou)时(lan)间继续写了。 Semaphore中文含义是信号量,它是synchronized的升级版。 synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行 ... 阅读全文 »
Java多线程ThreadPoolExecutor初探 发表于 2018-03-04 | 分类于 Java 在java中,使用线程时通过new Thread实现很简单,但是如果并发数量很多时,频繁地创建线程就会大大降低系统的效率。 所以可以通过线程池,使得线程可以复用,每执行完一个任务,并不是被销毁,而是可以继续执行其他任务。 花了两天时间去看了高洪岩写的《JAVA并发编程》,是想要知其然,知其所以然,在 ... 阅读全文 »
JVM学习(三)JVM常用命令 发表于 2018-02-07 | 分类于 Java 本篇记录JVM常用的指令,通过Java的bin目录下强大的工具就能进行查看。 其中很多命令参考option参数,自己要多敲几遍才能记住。 JVM常用命令其中[]方括号内的参数,表示可有可无。 jps JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。 ... 阅读全文 »
JVM学习(二)垃圾收集器 发表于 2018-01-30 | 分类于 Java 上一篇介绍的垃圾回收算法是内存回收的方法论,垃圾收集器就是垃圾回收的具体实现。 不同厂商、不同版本的虚拟机所提供的垃圾收集器可能会有很大差别,书中主要讲的是HotSpot虚拟机的垃圾收集器(在JDK1.7中正式提供了商用的G1收集器)。 (图片来源网络,侵权删) 图中展示了7种作用于不同年代的收集 ... 阅读全文 »
JVM学习(一)JMM和垃圾回收算法 发表于 2018-01-25 | 分类于 Java 经常使用 Java,但对它的底层使用却不太熟悉,还有在出现 StackOverFlow 或 OOM 的时候,没能去找到原因而懊恼,于是就开始了学习 JVM。 最近看的是周志明大神写的《深入理解JVM》,觉得他写的概念比较深,所以看完一遍后,再去结合网络上的文章一起理解会更好吸收。 首先来了解一下Ja ... 阅读全文 »
Minio文件系统安装与服务化 发表于 2017-12-25 Minio简单介绍最近的课程作业中,有个功能是做文件上传下载的,当然如果作业的话,使用MultipartFile进行简单的File IO,可以满足简单的需求,但看到Minio这么好看的界面,顿时想要去玩了。 Minio是一款跨平台的可「自建」轻量级对象存储服务,只需要一个命令,就能实现可以通过浏览 ... 阅读全文 »
记一次Redis脏读问题 发表于 2017-11-12 | 分类于 NoSQL , Redis 这周二遇到一个问题:用户刚新增了一个数据,但是刷新的时候没能显示出来。 于是开始进行问题排查,首先登陆用户的界面,发现果然没有显示数据,然后查了一下线上的数据库,发现新增的数据已经入库了,接着判断是不是代码层面存在什么漏洞。 所以开始猜测引起的原因是数据脏读,现在项目中使用的数据存储结构如下: ... 阅读全文 »
HashMap实现原理 发表于 2017-10-21 | 分类于 GEEK , Java HashMap在编程开发中经常使用到,用来存储key-value,但是一直没深入学习它的实现原理,这次学习了记录一下。 HashMap类123public class HashMap<K,V> extends AbstractMap<K,V> implements ... 阅读全文 »
dubbo+ZooKeeper框架基础配置 发表于 2017-09-16 | 分类于 GEEK , 数据库 先说为什么要用分布式架构:个人理解是从一个繁杂的整体式项目拆分成一个一个互相独立的项目,分别部署到不同的机器,减轻开发的复杂度,提高服务的高可用。 个人搭建的demo基于SSM框架,分成三个Module,API、Provider、Consumer,其中 API打包方式是jar ,提供给Provi ... 阅读全文 »
ZooKeeper基础学习 发表于 2017-09-15 | 分类于 GEEK , Web学习 简介:ZooKeeper:为分布式应用提供了高效且可靠的分布式协调服务,提供了诸如统一命名服务、配置管理和分布式锁等分布式的基础服务。 Zookeeper介绍:是一个开放源代码的分布式协调服务,设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接 ... 阅读全文 »