Java
冷漠的蓝炮仗
Python是世界上最好的语言
展开
-
模拟实现Tair中的版本号
模拟实现Tair中的版本号最近在公司项目中,遇到了一个分布式多线程并发环境下的短信重复发送问题,最后使用的分布式锁解决。在公司的缓存框架 Tair 中有 version 机制,这个 version 可以作为一个分布式锁使用。对 version 机制比较好奇,但是还没来得及去看框架源码,准备先自己在多线程环境下模拟一个类似的 version 机制。一、需求Tair是 Key-Value 型数据库,在 Tair 中插入数据时主要有以下几种情况:1、在 put 的时候,如果传入的 version 为0原创 2020-06-19 19:04:45 · 439 阅读 · 0 评论 -
不能忽视的 Synchronization on a non-final field
Synchronization on a non-final field今天在做一个多线程试验的时候,对一个变量使用 synchronized ,出现了这样的提示 “Synchronization on a non-final field XXX”,查看详细文档可以看到下面这段话:Reports synchronized statements where the lock expression is a reference to a non-final field. Such statements a原创 2020-06-19 19:00:35 · 4564 阅读 · 0 评论 -
Java版本简单布隆过滤器
最近搞NLP爬了点数据,有地方需要判断一些字符串是否在一个大集合里面出现过,联想到了此前的经历过的一个面试题。问:在做网络爬虫的时候,经常会有URL重复出现,怎么规避这种情况?答:Java里面可以用HashSet保存已经访问过的URL。问:如果这个URL的量很多呢?比如十亿条?答:如果能够忍受一定错误率的话,可以使用布隆过滤器,balabala…一、基本概念上面已经介绍了布隆过滤器...原创 2020-05-07 22:29:53 · 382 阅读 · 0 评论 -
Java线程池详解
如果大家使用过P3C,在使用Executors创建线程时一定看到过这么一句话:线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。 说明:Executors返回的线程池对象的弊端如下:1)FixedThreadPool和SingleThreadPool: 允许的请求队列长度为I...原创 2020-03-29 19:37:11 · 429 阅读 · 2 评论 -
【转载】深入浅出java常量池
jvm虚拟内存分布程序计数器 是jvm执行程序的流水线,存放一些跳转指令。本地方法栈 是jvm调用操作系统方法所使用的栈。虚拟机栈 是jvm执行java代码所使用的栈。方法区 存放了一些常量、静态变量、类信息等,可以理解成class文件在内存中的存放位置。虚拟机堆 是jvm执行java代码所使用的堆。常量池Java中的常量池,实际上分为两种形态:静态常量池和运行时常量池。所谓...转载 2020-02-11 21:21:01 · 162 阅读 · 4 评论 -
【转载】Java数据类型
java中数据类型基本类型:int、short、long、double、float、boolean、char 。注意:并没有String的基本类型,存在于栈中。包装类数据:integer、String、Double等包装类,存在于堆。自动装箱和自动拆箱当你用基本类型的值给包装类赋值时,就会发生基本类型向包装类型的转换:“自动装箱”当你用包装类的值给基本类型的值进行赋值时,系统也会自动...转载 2020-02-11 20:15:35 · 106 阅读 · 0 评论 -
Java根据概率、剩余奖品数量动态抽奖算法实现,概率总和可以不为100%
1、建立奖品类,奖品类中只有三种基本属性编号、中奖几率、奖品剩余数量。public class Award { /**编号*/ public String id; /**概率(0.1代表10%,最多3位小数,即千分之一级)*/ public float probability; /**数量(该类奖品剩余数量)*/ public int count;原创 2016-09-22 20:36:12 · 35786 阅读 · 3 评论 -
支付宝VR红包简陋破解方法。(红包图片处理)
临近新年,支付宝今年又出了新花样——VR红包。大概玩法是,用户根据红包地图指引,走到红白位置,然后根据藏红包的具体地点图片扫描该地点便可打开红包。根据这种玩法,想要获取陌生人的红包难度可想而知,并且很多发红包者定的详细地点在其家中,这种红包根本无法获取。事实是不是这样呢?下面就介绍一种方法,可以破解部分附近的红包,该方法亲测可破解至少50%的红包。原创 2016-12-25 20:54:42 · 3554 阅读 · 0 评论