- 博客(25)
- 资源 (1)
- 收藏
- 关注
转载 同步和Java内存模型
原文:http://gee.cs.oswego.edu/dl/cpj/jmm.html转载:https://ifeve.com/syn-jmm/先来看如下这个简单的 Java 类,该类中并没有使用任何的同步。final class SetCheck { private int a = 0; private long b = 0; void set() { a = 1; b = -1; } boolean check() { return ((b ==
2021-01-27 17:03:55 138
原创 ConcurrentHashMap 中的元素访问
ConcurrentHashMap 中的元素访问背景从数组中获取 Node 节点从数组中替换 Node 节点从数组中存入 Node 节点总结背景众所周知 ConcurrentHashMap 为线程安全的 HashMap, 那么今天就来研究下 ConcurrentHashMap 是如何安全的访问内部元素的。首先看下 ConcurrentHashMap 内部访问元素用到的代码 @SuppressWarnings("unchecked") static final <K,V>
2021-01-25 14:53:28 343 1
原创 mysql事务与锁研究
文章目录MySql 已知条件模拟场景同一会话事务超时后重新开启事务分析MySql 已知条件1、 同一个连接会话 trx_mysql_thread_id 不会变,不同事务 trx_id 不一样2、 可重复读 通过 next-key locks 锁定模拟场景1 begin 开启事务后,如果没有立刻去读取A数据,2 开启事务更新A数据并提交,1 事务这个时候去读取 A数据 将会读到 2 事务更新后的 A数据同一会话事务超时后重新开启事务分析跑波次运行时,如果库存被锁住,事务超时后不做回滚, 后
2021-01-22 11:41:57 139
原创 MySQL 锁机制整理
MySql 锁机制整理最近因为公司经常出现数据库死锁长事务等问题,所以研究了下 MySql 锁机制。本文主要用于梳理最近的研究成果可能会有很多理解错误的地方。在 MySql 下不同的存储引擎会使用不同的锁,这里主要梳理常见的InnoDB存储引擎使用的锁。MySql 锁划分从 mysql 层面划分包含以下锁LockX Lock 排他锁,允许事务删除或更新一行数据,此时无法再加上其他锁。S Lock 共享锁,允许事务读一行数据,此时可以再加共享锁(S Lock/IS Lock)Auto-Inc
2021-01-22 11:28:42 260
原创 HashMap 位运算原理整理
hash计算公式: h ^ (h >>> 16)h 为 Java native 计算得出的hash值,int类型32位 假如 h 值如下:h dec: 2026691355h bin: 01111000110011001101101100011011h 无符号右移(>>>)16位结果:bin: 00000000000000000111100...
2021-01-19 17:15:00 152
原创 使用Spock 单元测试
一、什么是SpockSpock 是一个测试框架,甚至可以说是一门语言他是基于Groovy开发的。它的语法完全遵循 BDD(行为驱动开发) 风格的结构。它是基于 Junit test runner 上开发但是又跟 Junit 完成不一样,同时集成了像 Jmock、Mockito 等语法表达风格于一体,使得它很简洁有很高的可读性。二、Spock 优缺点 语法清晰简单并且有很高...
2020-08-06 15:28:00 728
原创 Sentinel 熔断等指标如何统计以及如何判断熔断点
Sentinel 使用同时发布:http://fantasylion.github.io/java/2020-07-29-Sentinel-Source-code-analysis/在分析源码之前首先看下,Sentinel 如何使用建立规则12345678910111213// 建立规则List<DegradeRule> rule = new Array...
2020-07-29 14:31:00 762
原创 Airflow 使用 Celery 时,如何添加 Celery 配置
背景前段时间我选用了Airflow对wms进行数据归档,在运行一段时间后,经常发现会报以下错误:[2020-01-07 14:41:34,465: WARNING/ForkPoolWorker-5] Failed operation _store_result. Retrying 2 more times.Traceback (most recent call last...
2020-01-07 16:11:00 456 1
原创 什么是唯品会JIT业务
以销定采的模式,供应商将商品发给唯品会仓库在由唯品会发给客户;首先在唯品会创建档期绑定PO此时设置的商品库存为虚拟库存,之后供应商根据实际产生的有效订单将订单中的商品发给唯品会,最后再由唯品会发给用户,已实际销量决定最终采购商品的数量。操作流程图:时序图如下:...
2019-10-25 09:34:00 906
原创 Linux 性能优化排查工具
下图1为 Linux 性能优化排查工具的总结图1诊断 CPU 工具查看 CPU 核数总核数 = 物理CPU个数 X 每颗物理CPU的核数总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l查看每个物理CPU中core...
2019-07-04 14:08:00 276
原创 HttpClient 报错 Invalid cookie header, Invalid 'expires' attribute: Thu, 01 Jan 1970 00:00:00 GMT...
今天在给我姐夫写一个 QQ 自动加好友的程序,但是在 HttpClient 登陆 QQ 的时候报了一个错:2019-02-12 14:08:33.727 [Thread-3] - Invalid cookie header: "Set-Cookie: pt2gguin=;Expires=Thu, 01 Jan 1970 00:00:00 GMT;Path=/;Domain=qq.co...
2019-02-12 15:59:00 2156
原创 如何使用 Enterprise Architect 画 UML
本文同时发布于http://fantasylion.github.io/Tools/2019-01-17-How-to-use-EA/重识 EA (Enterprise Architect)公司使用的 OMS 是从外面买过来后进行二次开发的,而对方给到的技术文档不够全面,有很大部分的业务细节需要自己看代码梳理。想起来之前 IBM Developer 看过一篇关于Tomcat 原理...
2019-01-17 16:10:00 216
原创 通过maven profile 打包指定环境配置
背景最近换了个新公司接手了一个老项目,然后比较坑的是这个公司的项目都没有没有做多环境打包配置,每次发布一个环境都要手动的去修改配置文件。今天正好有空就来配置下。解决这个问题的方式有很多,我这里挑选了一个个人比较喜欢的方案,通过 maven profile 打包的时候按照部署环境打包不同的配置,下面说下具体的操作配置不同环境的配置文件建立对应的环境目录,我这里有三个环境分别是,de...
2019-01-03 16:04:00 469
原创 Git 使用总结
Git 是如何工作的本地建库Git 是一个分布式版本控制系统,当你准备使用git 来管理文件的版本时,首先在你本地需要一个git 库用来存储git 的提交记录,这里有两种方式用来创建本地库一、使用git init 在本地初始化一个git 库初始化一个git 库当执行完git init 命令后,git 将会在项目目录下建立一个隐藏目录 .git 。这个时候就说明本地的库已...
2019-01-02 10:38:00 69
原创 Git 分支模型
翻译自:https://nvie.com/posts/a-successful-git-branching-model/在这篇文章中,主要介绍 Git 分支模型。不会谈论任何项目的细节,只讨论分支策略和发布管理。Git分布式和集中式理解我们配置了中央存储库可以很完美的配合该分支模型工作。这里需要注意下,这个仓库只是被认为是中央仓库(因为Git是DVCS(分布式版本管理系统),在...
2019-01-02 10:25:00 94
原创 本地Windows环境Dubbo搭建测试
Dubbo介绍 Dubbo[]是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 其核心部分包含:远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置...
2017-11-01 17:07:00 71
原创 Javascript 文件的同步加载与异步加载
HTML 4.01 的script属性charset: 可选。指定src引入代码的字符集,大多数浏览器忽略该值。defer: boolean, 可选。延迟脚本执行,相当于将script标签放入页面body标签的底部,js脚本会在document的DOMContentLoaded之前执行。除IE和较新版本的Firefox外,其他浏览器并未支持。language: 已废弃。大部分浏览器会忽...
2015-09-07 10:15:00 80
原创 tomat 欢迎页面设置在WEB-INF目录下时不显示问题
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml...
2015-07-12 00:10:00 54
原创 Eclipse中的Web项目自动部署到Tomcat
问题这里就有个问题,是怎么把Eclipse中的网站项目自动部署到tomcat中。在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse中的服务器,才能运行Web项目。所以要对Eclipse进行修改,才能将做好的项目,发布到Tomcat服务器上,发布到服务器上的Webap...
2015-07-11 16:50:00 36
原创 Java获取图片属性
BufferdImagebfi=ImageIO.read(newFile(“d:/file/img.jpg”));//获取图片位深度IntimgBit=bfi.getColorModel().getPixelSize();//获取图片颜色模式RGBCMYK等模式bfi.getColorModel().getColorSpace().getType();AE...
2015-07-10 20:48:00 91
原创 (转)hibernateTools工具安装及使用总结(eclipse 3.6)
最近项目采用flex+spring+hibernate的框架开发,之前虽说有多年的Java开发经验了,但是一直使用的JDBC或者 ibatis,hibernate的使用还是大姑娘上轿头一回,网上都介绍说jboss的hibernateTools工具不错,所以安装使用了一下,下 面是安装使用的总结一.hibernateTools工具的安装:1.作者使用的eclipes版本是3.62.选...
2015-06-11 08:18:00 68
原创 Workspace in use or cannot be created, choose a different one.
eclipse 使用一段时间后,有时会因为一些故障自己就莫名奇妙的关闭了,再打开时有时没有问题,有时有会提示错误 Workspace Unavailable:Workspace in use or cannot be created, choose a different one.原因:出现这种情况一般是workspace的配置文件中出现了.lock文件(wor...
2015-06-10 08:34:00 39
原创 初使用maven遇到各种问题记录
Cannot change version of project facet Dynamic Web Module to 2.5?解决办法:将web.xml配置文件中的<web-app version="3.0" ...版本改为2.5点击project -> properties -> Project facets 将Dynamic Web Module 改为2.5 ...
2015-06-01 00:01:00 84
原创 CSS3(animation, trasfrom)总结
CSS3(animation,trasfrom)总结1.Animation样式写法:格式:@-浏览器内核-keyframes样式名{}标准写法(chromesafari不支持@keyframes[样式名]{0%{left:10px;top:20px;}50%{left:20px;top:30px;}100%{left:10px...
2015-05-29 08:59:00 97
原创 用canvas给视频图片添加特效
Canvas制作视频图片特效1.Canvas介绍1.1Canvas是html5上的一个画布标签,功能有点类似java的swing.可以在canvas上画线条弧线,文字就是画布的功能.具体提供的js函数看http://www.w3school.com.cn/tags/html_ref_canvas.asp2简单介绍一下使用:Varcanvas=document.d...
2015-05-26 16:30:00 128
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人