自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 Java魔法师Unsafe

Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。 Unsafe的单例实现: ...

2020-06-10 20:58:55 38 0

原创 CAS了解以及Java中CAS应用

CAS是Java并发包中保证并发的核心思想,其原理调用处理器的cmpxchg指令 CAS是具体理解就是比较转化,如果内存中数据值一致,则修改为新值。Java中java.util.concurrent.atomic并发包中的数据进行处理就是利用的CAS原理,以AtomicInteger为例,类中g...

2020-06-09 20:54:50 48 0

原创 Mac安装Tesseract,使用Tess4j实现OCR识别

Tesseract是一个开源的OCR引擎,支持多国语言,其官方地址:https://github.com/tesseract-ocr/tesseract 1.MAC下安装Tesseract 命令安装brew install --with-training-tools tesseract,现在提...

2020-05-22 17:06:38 35 0

原创 GitHack针对.git的漏洞以及修复

GitHack是一个 .git 文件夹公开漏洞。 它在保持目录结构不变的同时从. git 文件夹重建源代码。 解析.git/index文件,找到工程中所有的:( 文件名,文件sha1) GitHack的使用: 1、下载https://github.com/lijiejie/GitHac...

2020-04-25 19:35:20 116 0

原创 java调用webservice的2种方式代码

webservice有提供wsdl跟asmx两种方式,两种方式的调用方法不同 1、wsdl的方式 添加依赖: <dependency> <groupId>org.apache.cxf</groupId> <artifactId>...

2020-03-13 15:58:08 127 0

原创 Katalon--Mac环境搭建,Mobile之Android调试

Katalon自动化测试工具,官方地址:https://www.katalon.com/ 1.官网下载https://www.katalon.com/download/对应的安装包dmg 2.进行一步步安装 3.katalon需要注册一个账号,使用邮箱注册就可以便可以 4.Katalon ...

2020-01-07 20:21:40 150 0

原创 selenium入门--环境搭建

Selenium是一个涵盖了一系列工具和库的总体项目,这些工具和库支持并支持Web浏览器的自动化。 官方地址:https://selenium.dev/documentation/en/ Selenium之Java环境搭建 Java版本1.8,具体安装、环境配置略 开发IDEA工具 具体...

2019-12-11 17:49:47 58 0

原创 Mysql之group by GROUP_CONCAT的保证顺序

groub by 是按照分组,默认不排序,groub后会选择默认排序的第一条进行返回。 如果分组前排序好的数据,取排序好的第一条数据排序,则需要加上limit ,进行强制排序。 SELECT m.* from ( SELECT...

2019-11-27 19:30:37 283 0

转载 12306并发解决思路(转)

转自https://github.com/GuoZhaoran/spikeSystem#12306%E6%8A%A2%E7%A5%A8%E6%9E%81%E9%99%90%E5%B9%B6%E5%8F%91%E5%B8%A6%E6%9D%A5%E7%9A%84%E6%80%9D%E8%80%83 ...

2019-10-30 20:29:35 104 0

转载 mac下载iterm2,以及安装及配置rz sz(转载)

转自:https://segmentfault.com/a/1190000012166969 环境 Mac ox 10.12.3 iTerm2-3_1_5 安装iTerm2 建议去官网下载http://www.iterm2.com/ 也可以使用我提供的百度云链接 链接:http://pa...

2019-10-28 20:10:42 410 0

原创 python搭建简易web服务器,局域网

python自带一个WEB服务器SimpleHTTPServer,利用python搭建一个http服务器 python2命令:python-mSimpleHTTPServer8000& python3命令:python3 -m http.server 8000 & 这样就可以...

2019-10-28 19:39:57 555 0

原创 微服务分布式事务

微服务架构下,保证事务需求越来越多,针对分布式事务,有不同的方案 1.基于XA协议的两阶段提交方案 ---这种方案,并发量大时,容易出现资源死锁,系统性能和处理吞吐量降低 XA 是指由 X/Open 组织提出的分布式事务处理的规范。XA规范主要定义了Transaction Manager(T...

2019-09-27 20:18:05 27 0

原创 Java8 Lambda表达式使用集合(笔记)

1.list转map List的对象放到Map的value中 public Map<Long, Account> getIdAccountMap(List<Account> accounts) { return accounts.stream().collect(C...

2019-09-26 14:00:33 43 0

原创 mysql表没有索引,并发的情况下导致CPU飙升

虽然mysql中的单表数据量不大,几万条,但是在并发事务(并发数100-200之间,瞬间抢坑位)控制下,导致CPU飙升,查询该表的select也耗时很久。 1、查看了mysql的CPU飙升时,IO、连接数、带宽、内存等监控指标都正常 再查看慢SQL,超过1秒的SQL没有。 再看表的设计,没有...

2019-09-05 20:08:28 367 0

原创 cerebro elasticsearch 监控搭建

cerebro官网:https://github.com/lmenezes/cerebro 1.了解cerebro cerebro是一个开源(MIT许可)elasticsearch web管理工具,使用Scala、Play Framework、AngularJS和Bootstrap构建。cer...

2019-08-29 19:53:27 195 0

原创 ElasticSearch-SQL 5.5 安装及配置

elasticSearch-sql是提供es的类SQL查询的相关接口,支持大部分的SQL语句的查询的插件, 官方网址:https://github.com/NLPchina/elasticsearch-sql 安装环境: elasticsearch 5.5.0 jdk1.8 centos...

2019-08-29 17:32:51 201 0

原创 zabbix服务器监控(运维)

公司的服务器监控使用的zabbix,作为了解博文记录一下 官网地址:https://www.zabbix.com/ zabbix入门:http://www.zsythink.net/archives/category/%e8%bf%90%e7%bb%b4%e7%9b%b8%e5%85%b3/z...

2019-08-28 19:44:00 45 0

原创 Docker入门

官方文档:https://docs.docker.com/ docker安装:https://www.runoob.com/docker/windows-docker-install.html docker命令汇总: https://www.runoob.com/docker/docker-c...

2019-08-14 17:01:37 36 0

原创 redis分布式锁在MySQL事务代码中使用,没控制好并发原因

主要是原因: 1、MySQL的事务隔离机制为:重复读(主因) 2、分布式锁的释放在事务提交前(这个并发高时,时间差也是出现问题的源点) 排查代码(分布式锁+事务下面代码不是很合理)如下: 发现事务service中,获得redis分布式锁后,进行了数据库查询,根据数据查询出的结果进行...

2019-08-12 20:55:34 231 0

原创 服务器运维整理(笔记)

1、Nignx双机主备(keepalive实现) nginx进程需要与keepalive同生同死,才能保证主备(keepalive是监控的keepalive),脚本保证两个进程同生死。 https://blog.csdn.net/lbr2008/article/details/78811759...

2019-08-07 19:50:40 223 0

原创 Elasticsearch is still initializing the Monitoring indices问题解决

这个是ES正在初始化Monitor的索引, 查看服务器磁盘,磁盘空间足够。 解决办法是: 执行命令:curl -XGET -usinochem:sinochem http://es服务器地址:9200/_cat/indices 查看es中的索引 找到上面命令执行结果中为red(非gre...

2019-08-07 19:27:44 428 0

原创 解决POJO的属性首字母为大写,但是赋值不了的问题

解决办法:加上jackson包中@JsonProperty 标签便可以解决属性名称首字母大写,赋值不上的问题。如下图所示 之前没有@JsonProperty标签时,赋值解析成了下面的json,首字母转为小写了。 "dpackagePieces":""...

2019-08-06 15:08:59 156 0

原创 Elasticsearch迁移

迁移办法的几个办法:elasticsearch-dumpsnapshotreindexlogstash 公司迁移es,因数据量不是很大,采用的方法elasticsearch-dump的方式进行数据迁移 elasticsearch-dump:主要针对数据量小的情况,而且迁出迁入服务器网络通 e...

2019-08-01 21:32:23 201 0

原创 分布式锁的实现

主要是基于redis(利用setnx方法、或者lua脚本)信号变量来控制锁或者MySQL数据库的乐观锁进行处理。 一、基于redis的方式的分布式锁 setnx(set if not exists)是当不存在时进行设置,如果值已经存在则不进行设置。 根据这个特性,如果对要锁定的对象加上key...

2019-07-30 20:21:15 42 0

原创 spring循环依赖,解决beans in the application context form a cycle

spring循环依赖简单理解就是类A中引用B,B引用C,C中引用了A,这样构成了循环。 spring中解决循环依赖主要靠三级本地缓存解决 第一级缓存singletonObjects里面放置的是缓存实例化好的单例对象。 第二级earlySingletonObjects里面存放的是提前曝光的单例...

2019-07-24 20:02:09 2128 0

原创 线程之间数据传递ThreadLocal,InheritableThreadLocal,TransmittableThreadLocal

项目中异步处理方法获取用户对象,发现获取不到,发现用户对象是ThreadLocal进行传递,但是异步属于子线程,ThreadLocal对父子线程传递有问题的,后来将对象的传递值改为了TransmittableThreadLocal进行传递。 public static Transmittabl...

2019-06-20 20:45:06 685 0

原创 架构学习笔记(笔记)

1.es 1. 性能优化的杀手锏:Filesystem Cache 2. 数据预热 3. 冷热分离 4.ElasticSearch中的关联查询 5.Document模型设计 6. 分页性能优化 https://mp.weixin.qq.com/s/kOVrM0lbzwnJ9qnaHj...

2019-06-12 21:32:17 94 0

原创 Mysql优化sql排查EXPLAIN EXTENDED

主要使用命令行 EXPLAIN EXTENDED (sql语句); show WARNINGS ; 进行查看分析sql执行步骤索引等等, showWARNINGS;结果中Message列查看mysql优化后的sql语句。 更详细的例子可以参看:https://mp.weixin....

2019-06-05 20:30:31 227 0

原创 Java基础零散技术(笔记)

1.http 301 302 均是重定向,301是永久重定向,302临时重定向 301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于: 301 redirect: 301 代表永久性转移(Permanently Moved)。 302 redirect: 30...

2019-05-24 13:42:49 47 2

原创 深浅拷贝,深浅克隆clone

Java基础的部分,容易忽略的细节。 浅克隆:对象的属性值进行copy,如果包含引用对象属性,则是引用的传递(如果修改,则其他引用的值也变化)。 深克隆:对对象对属性进行copy,如果包含引用对象属性,则引用对象属性copy。对象不相互影响。 浅拷贝:也是包含引用对象属性,则仅是引用的传递。...

2019-05-23 18:12:13 179 0

原创 java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy排查

1、java.lang.ArrayStoreException这个的debug借助IDEA,添加Java Exception的java.lang.ArrayStoreException断点,这样异常时能够看到具体的报错Class 2、首先进入错误debug的是org.springframew...

2019-05-21 19:38:14 9129 0

原创 如何保证缓存与数据库的双写一致性?

Cache Aside Pattern 最经典的缓存+数据库读写的模式,就是 Cache Aside Pattern。 读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。 三种方案如下: 串行化可以保证一定不会出现不一致的情况,但是它也会导致系统的吞吐量大...

2019-05-17 18:05:32 68 0

原创 omitted for duplicate jar包冲突排查

1.maven的命令 mvn dependency tree 可以将当前所有的依赖关系都展示出来,包括来自不同处的依赖项。 mvn dependency:tree -Dverbose Dincludes 可以进行参数过滤 mvn dependency:tree -Dverbose -Di...

2019-05-07 15:01:10 31008 0

原创 Spring boot + Arthas

讲解的视频地址:https://yq.aliyun.com/live/857?spm=a2c4e.11155435.0.0.2d581343qOuYyZ Arthas帮助了解源码结构,以及排查线上问题等有很大的帮助。 trace 查看所有调用路径,方便线上排查问题或者阅读源码,搭建起应用后...

2019-05-02 22:09:06 702 0

原创 springCloud升级到Finchley.RELEASE,SpringBoot升级到2.0.4

Spring cloud版本由Edgware.SR5升级到Finchley.RELEASE,Spring boot版本1.5.7升级到2.0.4,开启升级过程。 配置跟服务注册使用阿里的nacos,版本也由0.1.1升级到0.2.1。 org.springframework.cloud.n...

2019-04-26 15:13:39 759 0

原创 HttpClient请求外部服务器NoHttpResponseException

针对跟外部对接,使用httpclient进行请求可能会报NoHttpResponseException,原因有可能是当时target服务器负载过大,或者服务端连接空闲自动挂起,或者客户端的http请求机制跟服务端不一致(这次就是这个原因,客户端使用socket的空闲连接,服务器端是短连接)。 刚...

2019-04-25 20:00:14 537 0

原创 nacos-discovery源码分析

首先还是Spring.factories中的AutoConfiguration类 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.cloud.alibaba.nacos...

2019-04-24 17:25:45 1004 1

原创 nacos-config源码分析

一、首先看一下<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>的结构如下: 看spring.factories中内容,优先加载装配的配置 org.springframewor...

2019-04-19 18:16:30 2044 0

原创 Spring cloud 技术文档汇总(收集)

好的文章进行收集整理: 1.SpringApplication.run做了哪些事 https://mp.weixin.qq.com/s/uP4seo__qYMJMzmbWyUUnA 2.SpringBoot @ConditionalOnBean、@ConditionalOnMissingBe...

2019-04-15 11:29:42 333 0

转载 介绍Jib - 更好地构建Java Docker镜像(转)

转自:https://blog.csdn.net/cnhome/article/details/89134211 通过jib工具直接上传到docker容器地址,省去docker file的编写 这是一篇来自于google的文章,对于java开发者来说很实用,尤其是容器天下的时代。值得仔细阅...

2019-04-09 16:08:50 100 0

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