7 牛迁迁

尚未进行身份认证

我要认证

货车帮科技有限公司,高级开发工程师

等级
TA的排名 2k+

【Java基础】ThreadLocal源码解析

查看ThreadLocal的源码,大体上可以划分为ThreadLocal、Thread、ThreadLocalMap这三个类,所以主要分析一下这三个类的联系。ThreadThread是线程类,通过Thread.currentThread()方法可以获取当前线程,并且Thread维护一个ThreadLocalMap成员变量用于存储线程私有变量(ThreadLocal.ThreadLocalMap...

2019-03-13 22:32:31

Charles抓包出现<unknown>问题

Charles注册破解Charles的安装过程在就不做过多介绍了,这里主要说一下Charles的破解方式,不注册购买只能使用30天。这里提供一个License Key,4.x版本亲测可用。打开Help 输入下面的License即可。// Charles Proxy LicenseRegistered Name: https://zhile.ioLicense Key: 48891cf209...

2019-02-21 15:36:50

Python爬虫系列-Mac OS安装Scrapy遇到的各种坑

用python通过原生方式写过几次爬虫项目,代码冗长不易维护;Scrapy是Python语音编写的一个通用性爬虫框架,能够非常方便的通过几行代码来爬取网站数据,提取结构性数据。当然经过发展Scrapy也应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。我想通过对Scrapy的学习来对之前的爬虫项目进行一次重构,来感受一下Scrapy有多么方便。首先来安装一下Scrapy框架。我的本机环...

2019-02-16 15:00:00

彻底解决JS处理Long类型精度丢失问题(二)

当你的序列化方式采用的FastJson时,该如何处理这种类型转换问题呢?一模一样的套路…SpringMVC 使用FastJson序列化方式1.增加类型转换类:public class FastJsonConfigExt extends FastJsonConfig { public FastJsonConfigExt(){ super(); Seri...

2019-01-20 17:11:23

彻底解决JS处理Long类型精度丢失问题(一)

对于Long类型的数据,如果我们在Controller层将结果序列化为json,直接传给前端的话,在Long长度大于17位时会出现精度丢失的问题。如何避免精度丢失呢?最常用的办法就是将Long类型字段统一转成String类型。JS 数字丢失精度的原因计算机的二进制实现和位数限制有些数无法有限表示。就像一些无理数不能有限表示,如 圆周率 3.1415926…,1.3333… 等。JS 遵循 IE...

2019-01-20 16:41:11

Nginx多域名共享80端口配置

前段时间搭建了两个网站,分别是壁纸网站和个人blog。以这两个网站为例介绍一下如何用一个Nginx配置多个域名共享80端口。已有资源:服务器118.24.51.89顶级域名yypic.top二级域名blog.yypic.top 首先需要设置域名解析在域名管理控制台添加两条解析记录,设置了域名解析才可以用域名访问站点一级域名解析设置:yypic.top-...

2019-01-13 17:31:04

Curator源码分析之分布式锁

Curato介绍关于什么是Curator,我们看一下官网是怎么说的。What is Curator?Apache Curator is a Java/JVM client library for Apache ZooKeeper, a distributed coordination service. It includes a highlevel API framework an...

2019-01-12 21:14:52

记一次秒杀重复抢单问题

背景描述:系统给APP用户(客户经理)定时推送一批客户资源数据,这批数据在不同的客户经理登录APP都能看见,然后点击抢的按钮,就可以获取这个客户了,这种场景类似于秒杀抢单,存在多人同时点击按钮抢人,所以伴随着较高的并发操作。 问题描述:这时候问题就出来了,同一个地区的客户经理都可以看到相同的客户,所以他们在抢通一个客户的时候,就会出现同时抢中的情况。 背景设置:线上环境mysql隔离级...

2018-11-13 19:43:44

基于ZooKeeper Curator实现分布式锁

基于ZooKeeper分布式锁的流程1. 客户端连接上zookeeper,并在指定节点(locks)下创建临时顺序节点node_n2. 客户端获取locks目录下所有children节点3. 客户端对子节点按节点自增序号从小到大排序,并判断自己创建的节点是不是序号最小的,若是则获取锁;若不是,则监听比该节点小的那个节点的删除事件4. 获得子节点变更通知后重复此步骤直至获得锁;5. 执...

2018-11-13 19:12:53

关于芝诺悖论的思考

背景  最近在学习高等数学中微积分和极限的一些知识,我们知道数学在历史上一共经历了三次大危机。而第二次数学危机的导火索正是芝诺悖论。危机的萌芽出现在大约公元前450年,芝诺注意到由于对无限性的理解问题而产生的矛盾,提出了关于时空的有限与无限的四个悖论:“两分法”、“阿基里斯(《荷马史诗》中的善跑的英雄)追不上乌龟”、“飞矢不动”、“操场或游行队伍”。现在我们取其中之一来了解一下这些悖论是怎么”...

2018-08-15 19:10:09

【SpringBoot系列】二:SpringBoot配置详解

通过上一篇博客对Spring Boot的介绍,你也看见了Spring Boot并不真正是所谓的『零配置』,他的理念是“习惯优于配置”采用了一些默认的习惯性配置,让你无需手动进行配置,从而让你的项目快速运行起来。所以要想玩转Spring Boot,了解这些默认配置还是必不可少的。 创建Spring Boot项目时,会默认生成一个全局配置文件application.properties(可以修改后缀为

2017-08-13 12:38:34

【SpringBoot系列】一:5分钟构建第一个SpringBoot工程

简介:SpringBoot是伴随着Spring4.0诞生的;从字面理解,Boot是引导的意思,因此SpringBoot的宗旨就是简化开发,帮助开发者快速搭建Spring项目; Spring Boot并不是一门新技术,可以说它继承于Spring。对于熟悉Spring的人来说入手门槛几乎为0,SpringBoot仅仅是对咱们经常做的一些Spring配置做了提炼,封装成了一个个注解;将经常引用的一些ja

2017-06-28 23:22:05

分布式文件系统—FastDFS

什么是FastDFSFastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。 文件上传流程 文件下载流程 上传文件的文件名客户端上传文件后存储服务器将文件ID返回给客户端,此文件ID用于以后访问该文件的索引

2016-06-30 22:31:58

Tomcat实战-调优方案

Tomcat的默认配置,性能并不是最优的,我们可以通过优化tomcat以此来提高网站的并发能力。提高Tomcat的性能可以分为两个方向。服务器资源服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响,所以说服务器性能牛B,Tomcat也不会太差。当然提高服务器的硬件配置,是需要大量RMB的支持的。所以不到万不得已不会采用这种方式,一般公司会采取下面这种通过优化配置,来提升Tomcat性能的

2016-06-30 22:08:12

Redis的持久化-AOF

Redis的AOF持久化策略是将发送到Redis服务端的每一条命令都记录下来,并且保存到硬盘中的AOF文件中,类似打日志文件,来一条命令就记录一条。AOF设置AOF文件的位置和RDB文件的位置相同,都是通过dir参数设置,默认的文件名是appendonly.aof,可以通过appendfilename参数来修改。AOF测试当客户端向服务器发送一些redis命令时,Redis会将所执行的命令记录到

2016-06-30 20:02:35

Redis的持久化-RDB

Redis优秀的性能是由于其将所有的数据都存储在内存中,同样memcached也是这样做的,但是为什么Redis能够脱颖而出呢,很大程度上是因为Redis有出色的持久化机制,能够保证服务器重启后,数据不会丢失。下面来看看Redis是如何持久化的。Redis支持两种方式的持久化,一种是RDB方式,一种是AOF方式。这两种方式可以单独使用其中一种,或者混合使用。 RDB方式介绍RDB方式是通过快照完成

2016-06-30 17:42:36

Redis3.x-集群搭建

今天咱们来搭建一下Redis集群,要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下。127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:70051:下载redis。官网下载3

2016-05-31 22:00:14

Redis单机安装及启动

Redis 是一个高速的非关系型内存数据库,可以存储5中不同的数据结构,并可以将内存中的键值对数据持久化到硬盘,并且redis3.0以后版本还提供了集群功能,保证高可用和易扩展。今天先来安装一下Redis的单机版。解压redis[root@localhost software]# tar -zxvf redis-3.0.7.tar.gz编译[root@localhost software]# c

2016-05-31 20:55:39

【Linux运维入门】PSSH-轻量集群管理工具

服务器多了,原始操作就会出现弊端,假如同时给成百上千台服务器执行一个命令,拷贝一个文件,杀一个进程等,就需要逐个连接服务器进行操作,累死运维小哥。有什么简化运维管理的工具呢?可以编写shell脚本使用for循环,但是这样做一方面不确定操作是否成功,另一方面for循环语句性能不好,因为命令是同步执行的。那有什么效率高,且使用方便的工具呢?这类工具已经有很多了,比如 pdsh,mussh,cssh,ds

2016-05-31 18:02:48

项目实战之日志的使用:Jboss环境下添加自定义日志

日志介绍日志已经成为应用软件中不可缺少的一部分,现在我没发现哪个上线并且正常运营的项目没有添加日志;并且是否写日志已经成为了检测程序员是否专业的一个基本品德,就像写注释一样,灰常重要!Apache的开源项目Log4j是一个功能强大的日志组件,可以提供方便的日志记录。其他经常使用的还有slf4j、logback等日志组件。无论那种日志处理技术都能够满足当前的需求。 项目说明现在参与的项目用的JBos

2016-05-31 17:30:48

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!