摘要: 熟悉java的人都知道jdk的bin目录中有很多小工具,其中就包括用于监视虚拟机和故障处理的工具,今天就来仔细了解下各个工具的用法 jps JVM Process Status Tool,用于显示指定系统的内所有的Hotapot的虚拟机进程 1.用法 2.参数列表 3.实际举例: 1. jps -q 阅读全文
posted @ 2018-03-08 22:42 XuMinzhe 阅读(3383) 评论(0) 推荐(0) 编辑
摘要: 分布式环境下,数据一致性问题一直是一个比较重要的话题,而又不同于单进程的情况。分布式与单机情况下最大的不同在于其不是多线程而是多进程。多线程由于可以共享堆内存,因此可以简单的采取内存作为标记存储位置。而进程之间甚至可能都不在同一台物理机上,因此需要将标记存储在一个所有进程都能看到的地方。 常见的分布 阅读全文
posted @ 2018-02-23 13:29 XuMinzhe 阅读(201) 评论(0) 推荐(0) 编辑
摘要: MULTI 、 EXEC 、 DISCARD 和 WATCH 是 Redis 事务的基础。 Multi 和 Exec Multi:开启一个事务,它总是返回 OK 。执行之后, 客户端可以继续向服务器发送任意多条命令, 这些命令不会立即被执行, 而是被放到一个队列中, 当 EXEC 命令被调用时, 所 阅读全文
posted @ 2018-02-23 11:20 XuMinzhe 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 熟悉设计模式的人对于代理模式可能都不陌生。那什么事代理呢,例如我们要买一件国外的商品,但是自己买不到只能去找代购,这个代购就是我们的代理。我们来了解下java中的代理 静态代理 我们来举一个开车的例子, 首先定义一辆车 再新建一个具体实现类 这个时候启动汽车 输出 这个时候我们想在汽车发动前系上安全 阅读全文
posted @ 2018-02-21 17:51 XuMinzhe 阅读(322) 评论(0) 推荐(0) 编辑
摘要: ReentrantLock的功能是实现代码段的并发访问控制,也就是通常意义上所说的锁,java中实现锁有两种方式,一种是本文所提的ReentrantLock,另一种是synchronized。ReentrantLock相比synchronized 使用可以更灵活,这次就来看看ReentrantLoc 阅读全文
posted @ 2018-02-19 16:40 XuMinzhe 阅读(920) 评论(0) 推荐(0) 编辑
摘要: 线程池: 线程池,顾名思义存放线程的池子,因为频繁的创建和销毁线程池是一件非常损耗性能的事情,所以如果先定义一个池子里面放上一定量的线程,有需要的时候就去里面取,用完了再放里面,这样不仅能缩短创建销毁线程的时间,也能减轻服务器的压力。在jdk1.5中Doug Lea引入了Executor框架,把任务 阅读全文
posted @ 2018-02-12 14:22 XuMinzhe 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 初始化: 问题:如何当且仅只有一个线程初始化table 1、第3行 判断当前系统的table是否为空,这里用volatile 修饰table,对于各个线程都是可见的 2、第4行 判断sizeCtl 是否小于零,因为在初始化的过程中,会把sizeCtl设置成-1,所以如果小于零,说明当前有其他线程正在 阅读全文
posted @ 2018-02-07 10:55 XuMinzhe 阅读(221) 评论(0) 推荐(0) 编辑
摘要: Java反射机制可以让我们在编译期(Compile Time)之外的运行期(Runtime)获得任何一个类的字节码。包括接口、变量、方法等信息。还可以让我们在运行期实例化对象,通过调用get/set方法获取变量的值。 一下我们通过几个小demo来了解java反射的相关知识 首先,我们先定义一个类,以 阅读全文
posted @ 2018-02-04 15:06 XuMinzhe 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 在jdk1.5中,java提供了很多工具类帮助我们进行并发编程,其中就有CountDownLatch和CyclicBarrie 1.CountDownLatch的用法 CountDownLatch 位于 java.util.concurrent 包下,其中最主要的方法就是 两个await方法了, 当 阅读全文
posted @ 2018-01-22 11:26 XuMinzhe 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 第一步:填写服务器配置 第二步:验证消息的确来自微信服务器 这两步是什么意思呢,就是微信要验证你的服务器地址是否正确,所以会向你你的服务器请求一次,你得根据微信要求的规则,返回相应的数据 微信的规则如下 开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服 阅读全文
posted @ 2018-01-05 14:39 XuMinzhe 阅读(199) 评论(0) 推荐(0) 编辑