历史潮流浩浩荡荡,顺之者昌,逆之则亡。——孙中山

2019年12月的内容

无主题

IPv4地址转Int之Java实现

IPv4地址转Int之Java实现
讲个故事 面试官:IPv4地址可以转为Long类型的数字知道吧?你写一下这个转换的代码! 对计算机基础逐渐模糊的小徐一脸懵逼,毕竟工作中很少会用到,只记得IP地址和整数是可以相互转换的,但是从来没有自己实现过。于是在大脑中飞速计算。过了一会,思路出现了:IP地址分为四段,每段都...

徐 承恩 7个月前 (12-25) 318℃ 1喜欢

DB数据库

Spring事务隔离级别和传播特性

Spring事务隔离级别和传播特性
传播行为 事务的第一个方面是传播行为。传播行为定义关于客户端和被调用方法的事务边界。Spring定义了7中传播行为。如下表所示: 传播行为 意义 PROPAGATION_MANDATORY 表示该方法必须运行在一个事务中。如果当前没有事务正在发生,将抛出一个异常 ...

徐 承恩 7个月前 (12-24) 253℃ 1喜欢

DB数据库

理解脏读、不可重复读、幻读

理解脏读、不可重复读、幻读
脏读 脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。 不可重复读 不可重复读是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务...

徐 承恩 8个月前 (12-23) 312℃ 1喜欢

JAVA

Java生产者消费者模型实践五

Java生产者消费者模型实践五
回顾前面做一些实验,你会发现,实现一的并发性能高于实现二、三。暂且不关心BlockingQueue的具体实现,来分析看如何优化实现三(与实现二的思路相同,性能相当)的性能。 分析实现三的瓶颈 最好的查证方法是记录方法执行时间,这样可以直接定位到真正的瓶颈。但此问题较简单,我们直接...

徐 承恩 8个月前 (12-12) 252℃ 1喜欢

JAVA

Java生产者消费者模型实践三

Java生产者消费者模型实践三
如果不能将并发与容量控制都封装在缓冲区中,就只能由消费者与生产者完成。最简单的方案是使用朴素的wait && notify机制。 package com.github.xuchengen.concurrent.impl; impo...

徐 承恩 8个月前 (12-12) 265℃ 0喜欢

JAVA

Java生产者消费者模型实践二

Java生产者消费者模型实践二
BlockingQueue的写法最简单。核心思想是,把并发和容量控制封装在缓冲区中。而BlockingQueue的性质天生满足这个要求。 package com.github.xuchengen.concurrent.impl; import c...

徐 承恩 8个月前 (12-12) 231℃ 0喜欢

JAVA

Java生产者消费者模型实践一

Java生产者消费者模型实践一
考查Java的并发编程时,手写“生产者-消费者模型”是一个经典问题。有如下几个考点: 对Java并发模型的理解 对Java并发编程接口的熟练程度 bug free coding style JDK版本:oracle java 1.8.0_102 本文主要归纳了4种写法,阅读后...

徐 承恩 8个月前 (12-12) 270℃ 0喜欢

无主题

设计模式分类(创建型模式、结构型模式、行为模式)

设计模式分类(创建型模式、结构型模式、行为模式)
创建型模式 创建型模式,就是创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象。关注的是对象的创建,创建型模式将创建对象的过程进行了抽象,也可以理解为将创建对象的过程进行了封装,作为客户程序仅仅需要去使用对象,而不再关系创建对象过程中的逻辑。...

徐 承恩 8个月前 (12-09) 289℃ 0喜欢