anguser

通向大牛的小白之路!

java并发编程笔记01 --如何避免死锁&资源限制以及volatile实现原理

避免死锁的方法: 1、避免一个线程同时获取多个锁 2、避免一个线程在锁内同时占用多个资源,尽量保证每一个锁只占用一个资源。 3、尝试使用定时锁,用lock.tryLock 代替内部的锁机制。 4、对于数据库的锁,加锁和解锁必须在同一个数据库连接里,否则会出现解锁失败的情况。 什么事资...

2019-08-10 14:50:19

阅读数 9

评论数 0

Docker架构介绍

基于Redis的分布式锁 redis 分布式锁的加锁和解锁

2019-08-09 20:41:09

阅读数 56

评论数 0

观察者模式

观察者模式解析 定义: 定义对象之间的一种一对多的依赖关系,当一个对象被修改时,所有依赖于它的对象都得到通知并被自动更新 解决的问题: 一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。 应用实例: 拍卖的时候,拍卖师观察最高...

2019-02-14 15:23:38

阅读数 54

评论数 0

2019后端java相关学习计划

开篇介绍 笔者介绍:18年7月初入职一家业务高速发展的互联网教育公司,专职java后端开发。 从入职到现在,似乎一直沉浸在项目的开发上,还没什么时间好好沉淀下,一直都在做项目,每个月的工作基本就是需求评审-开发-测试-上线 ,是时候需要好好沉淀下来,梳理一下方向。 从java基础到微服务...

2019-02-13 15:39:28

阅读数 689

评论数 1

一起来读《深入理解计算机系统》,开篇!

一起来读深入理解计算机系统 19年的flag,一定要读完深入理解计算机系统这本书,准备知识,C语言,汇编语言等等基础知识。 事实上,只是通过此书作为衔接,来学习计算机底层相关基础知识! 深入理解计算机系统大纲 第一章:计算机系统漫游 第二章:信息的表示和处理 第三章:程序的机器级表示 第四章:处...

2019-01-19 12:16:58

阅读数 348

评论数 0

95后北漂IT少年的2018年终总结

2018全面回顾 上半年 年初准备开题报告 年初从家里回来,准备基于Elasticsearch垂直搜索引擎的资料调研。 准备毕设论文 搜集资料,没什么好说的 找工作 开题答辩完成之后,陷入找工作的时机,每天准备面试,每天学习,每天投简历,持续半个多月,对于应届生来说机会太少,但是...

2019-01-03 18:02:37

阅读数 164

评论数 2

AQS源码分析

AQS源码分析 CLH同步队列        CLH同步队列是一个FIFO双向队列,AQS依赖它来完成同步状态的管理,当前线程如果获取同步状态失败时,AQS则会将当前线程已经等待状态等信息构造成...

2018-12-12 16:05:26

阅读数 47

评论数 0

python scrapy安装中遇到的问题

1、pip install中UnicodeDecodeError问题处理方法 参考文章:https://blog.csdn.net/qq_33530388/article/details/68933201#reply 2、Scrapy 安装错误,Microsoft Visual C++ 14....

2018-04-16 17:40:35

阅读数 89

评论数 0

python在pip install 时遇到的问题!

解决问题:You are using pip version 9.0.1, however version 9.0.3 is available. You should consider upgrading via the ‘python -m pip install –upgrade pip’...

2018-04-14 10:48:53

阅读数 623

评论数 0

深入理解java类加载之类的初始化时机

先看一段代码,你能说出执行结果吗? public class TestClassLoad { public static void main(String[] args) { //输出结果 //第一个 System.out.printl...

2018-03-28 13:46:52

阅读数 528

评论数 0

消息中间件保证消息一致性解决方案

1、消息中间件的应用场景 (1)异步通讯 (2)解耦 (3)并发缓冲 2、消息发送和投递的不可靠性 (1)分布式网络进行就引入了数据传输的不确定性 (2)也就是CAP理论中的P(分区容错性) (3)跨网络通信产生了分布式事务问题 3、消息发送一致性 (1)是指产生消息的业务动作与...

2018-01-13 15:25:00

阅读数 4765

评论数 0

并发编程之Future模式的模拟实现

Future模式的核心就是,使原本需要等待的时间段可以用于处理其他业务逻辑。记住这句话就行了。 先来看一个Future的案列:/** * future的使用 * @author 莱格 * */import java.util.concurrent.Callable; import jav...

2018-01-03 15:36:01

阅读数 533

评论数 0

设计模式之模板方法模式!

定义模板:/** * 定义模板 * @author 莱格 * */ public abstract class TeminalMethod { /** * 初始化游戏 */ public abstract void init(); /** ...

2017-12-31 23:54:53

阅读数 518

评论数 0

手写实现一个可重入锁!

代码如下:public class MyLock implements Lock{ Thread lockBy = null; int lockCount = 0; //锁标志 private boolean isLocked = false; /* ...

2017-12-31 23:12:43

阅读数 845

评论数 0

redis集群事务管理工具类

redis集群对象JedisCluster不支持事务,但是,集群里边的每个节点支持事务。 redis 集群管理事务的工具类public class JedisClusterTransactionManager { private static ThreadLocal<Object&g...

2017-12-15 16:31:13

阅读数 2624

评论数 4

从计算机底层来解析java内存结构!

Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。 Java内存模型规定了所有的变量都存储在主内存中(Main memory)中。每条线程都有自己的工作内存(可与前面讲的高速缓存做类比),线程的工作内存中保存了该线程使用到的变...

2017-11-30 23:17:17

阅读数 628

评论数 0

MyBatis学习总结(3)

MyBatis学习总结大全: - MyBatis学习总结第一天 - MyBatis学习总结第二天 - MyBatis学习总结第三天 今日大纲: 使用 多表查询四种方式 一对一 一对多 多对多 自关联 MyBatis注解开发 MyBatis 运行原理 多表操作 ...

2017-11-28 13:17:19

阅读数 604

评论数 0

MyBatis学习总结(02)

MyBatis学习总结大全: - MyBatis学习总结第一天 - MyBatis学习总结第二天 - MyBatis学习总结第三天 今日大纲 动态sql 缓存 接口绑定 或者叫动态代理 ResultType 1、动态sql 相当于条件查询,在代码中使用if语句来拼装sql语...

2017-11-28 13:02:32

阅读数 591

评论数 0

MyBatis学习笔记(01)

MyBatis学习总结大全: - MyBatis学习总结第一天 - MyBatis学习总结第二天 - MyBatis学习总结第三天 今日大纲 MyBatis的CRUD Mybatis的传值 Mybatis的其他标签使用 1.Mybatis的CRUD 1.1、UPDATE...

2017-11-28 12:43:26

阅读数 581

评论数 0

Linux常用命令以及安装部署项目

Linux的常用命令: 1、linux操作系统的简单应用 linux的文本模式介绍 [root@localhsot`] 第一列代表root当前用户 第二列localhost代表主机名 第三列代表当前按所在的目录 ~home目录 tab键可以自动补全命令。linux的登陆与登出logi...

2017-11-28 12:04:05

阅读数 896

评论数 0

提示
确定要删除当前文章?
取消 删除