java
文章平均质量分 75
MartinCol
当命运需要你逆风飞翔的时候,就不能随风而去
展开
-
JAVA之创建线程与线程池
JAVA多线程的实现方式有多种。public class TestThread { public static void main(String[] args) throws Exception { testExtends(); testImplents(); testExecutor(); testCallable();...原创 2018-05-31 11:25:17 · 527 阅读 · 0 评论 -
JAVA线程之Thread类详解
ss原创 2018-05-30 16:22:23 · 97732 阅读 · 2 评论 -
JAVA并发之Lock(下——实现)
在上一节中,描述了Lock包的核心基础–AQS,本节将讲述其具体实现:ReadWriteLock,ReentrantLock,ReentrantReadWriteLock.原创 2018-05-24 19:59:46 · 879 阅读 · 0 评论 -
JAVA之IO
一、概述IO即输入输出系统。我在平时使用过程中,都是直接在网上复制粘贴,没有仔细梳理,导致现在使用自己写有点磕磕巴巴,故此梳理一遍。 IO重点有5个类:File、OutputStream、InputStream、Writer、Reader,用于操作文件、写入写出数据。二、模型输入流: 程序从输入流读取数据源。数据源包括外界(键盘、文件、网络…),即是将数据源读入到程序的通信通道 ...原创 2018-05-29 18:13:18 · 148 阅读 · 0 评论 -
log4j升级至log4j2
本文主要内容包含:实现log4j升级至log4j2,并实现日志自动删除的操作步骤以及注意事项。一、升级原因:log4j存在天然缺陷:log4j采用同步输出模式,当遇到高并发&日志输出过多情况,可能导致线程阻塞,消耗时间过大log4j无法实现自动删除按照日期产生的日志,现有项目都采用定时脚本删除日志。通过调研,log4j2采用异步输出,并且能通过配置实现自动删除日志...原创 2018-06-11 17:30:33 · 13453 阅读 · 0 评论 -
JAVA并发之Lock(上——AQS)
一、概述上文详述了synsynchronized的原理及实现【JAVA并发之Synchronized】,虽然在JDK1.6对其进行了大量优化,但是还是存在缺陷:缺少了获取锁与释放锁的可操作性,可中断、超时获取锁,且它为独占式在高并发场景下性能大打折扣。而java.util.concurrent(简称JUC)下的Lock类解决了这些问题,Lock类的基础之一为AQS,此文将介绍AQS的原理及底层...原创 2018-05-23 18:25:02 · 320 阅读 · 0 评论 -
JAVA并发之Synchronized(悲观锁)
一、关键字介绍synchronized是Java中的关键字,是一种同步锁。可修饰实例方法,静态方法,代码块。 synchronized是一种悲观锁。二、使用场景synchronized可以修饰实例方法,静态方法,代码块。 修饰实例方法:对当前实例加锁,进入同步代码前要获得当前实例的锁 修饰静态方法:对当前类对象加锁,进入同步代码前要获得当前类对象的锁 修饰代码块:指定加锁对象,...原创 2018-05-22 15:55:45 · 20276 阅读 · 1 评论 -
使用LockSupport唤醒指定线程
public class TestPark { public static void main(String[] args) { System.out.println(System.currentTimeMillis() + "TestPark开始测试===="); System.out.println("该线程线程号为:" + Thread.curren...原创 2018-05-17 16:52:36 · 1062 阅读 · 0 评论 -
通过HttpServletRequest对象获取信息
HttpServletRequest所包含信息原创 2017-02-28 10:32:01 · 1772 阅读 · 0 评论 -
redis主从配置+sentinel管理+spring集成(maven环境下)
redis主从配置+sentinel管理+spring集成(maven环境下)原创 2017-05-26 17:18:03 · 1077 阅读 · 0 评论 -
分布式一致性问题经典解决方案(2PC,3PC,Paxos,ZAB)
关于分布式一致性问题不做解释,在长期探索过程中,有几种代表性的解决方案,在这主要说2PC,3PC,Paxos,ZAB。2PC2PC(Two-Phase Commit),二阶段提交。目前,绝大多数关系型数据库使用此协议完成分布式事务处理。协议说明二阶段提交协议是将事务提交过程分为两个阶段进行处理,其执行流程如下:阶段一:提交事务请求(投票) 1.事务询问:协调者向所有参与者发送事务内容,...原创 2019-08-22 16:15:33 · 612 阅读 · 0 评论