3 火锅技术栈

尚未进行身份认证

我要认证

我不能保证写的每个地方都是对的,但是至少能保证不复制、不黏贴,保证每一句话、每一行代码都经过了认真的推敲、仔细的斟酌。每一篇文章的背后,希望都能看到自己对于技术、对于生活的态度。 我相信乔布斯说的,只有那些疯狂到认为自己可以改变世界的人才能真正地改变世界。面对压力,我可以挑灯夜战、不眠不休;面对困难,我愿意迎难而上、永不退缩。 其实我想说的是,我只是一个程序员,这就是我现在纯粹人生的全部。

等级
TA的排名 1w+

mac 安装

打开终端,查看:输入 diskutil list找到对应的磁盘名称,加载:sudo diskutil mount /dev/disk2s3输入密码加载完成sudo diskutil mount /dev/disk2s1Tuxera NTFS for Mac安装步骤:

2020-10-24 07:16:48

JVM问题排查基本思路分析

Story background  回望2018年12月,这也许是程序员们日夜不得安宁的日子,皆因各种前线的系统使用者都需要冲业绩等原因,往往在这个时候会向系统同时写入海量的数据,当我们的应用或者数据库服务器反应不过来的时候,就会产生各种各样诡异的问题,诸如表现出来就是系统变得巨卡无比,无法使用,或者周期性卡顿,令人发指,用户轻则问候系统全家,重则心脏病发。总而言之每天都脑壳疼!归根到底是我们的应用服务器或数据库服务器因为扛不住流量造成的系统BUG问题暴露,诸如OOM等,呈现出机器的三高,这里说的三高并

2020-10-20 10:44:22

Java 的垃圾回收从头到尾

简介:之前上学的时候有一个梗,说在食堂里吃饭,吃完把餐盘端走清理的是 C++ 程序员,吃完直接就走的是 Java 程序员。确实,在 Java 的世界里,似乎我们不用对垃圾回收那么的关注。很多初学者不懂 GC,也能写出一个能用甚至还不错的程序或系统。阿里妹导读:之前上学的时候有一个梗,说在食堂里吃饭,吃完把餐盘端走清理的是 C++ 程序员,吃完直接就走的是 Java 程序员。确实,在 Java 的世界里,似乎我们不用对垃圾回收那么的关注。很多初学者不懂 GC,也能写出一个能用甚至还不错的程序..

2020-10-01 14:00:54

AQS原理

前言Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为AQS)实现的。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。本文会从应用层逐渐深入到原理层,并通过ReentrantLock的基本特性和ReentrantLock与AQS的关联,来深入解读AQS相关独占锁的知识点,同时采取问答的模式来帮助大家理解AQS。由于篇幅原因,本篇文章主要阐述AQS中独占锁的逻辑和Sync

2020-10-01 13:59:32

Java“锁”事

前言Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8和Netty 3.10.6)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录:1. 乐观锁 VS 悲观锁乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。

2020-10-01 13:57:35

玩转java面向函数编程lambda表达式Function,Consumer,Predicate,Supplier

上代码: private static final Set<Object> setOs = Sets.newLinkedHashSet(); /** * Applies this function to the given argument. * * @param accountId ->id * @param judge...

2020-03-13 16:50:52

面试经验

自我介绍 蚂蚁金服-内推的,面了3面技术 携程(offer)内推-只有一次视频面 美团成都提前批(收到offer) 中兴(一面挂) 滴滴(二面挂,现场面) 招银网络(offer,现场面) 华为(offer,现场面) 贝贝网 大疆(只记得3面) 自我介绍本人妹子,985硕士,211本科,专业都是软件...

2020-01-30 21:31:01

SpringCloud架构

架构Eureka、Ribbon、Feign、Zuul就是优化并发冲突如果你基于Spring Cloud对外发布一个接口,实际上就是支持http协议的,对外发布的就是一个最最普通的Spring MVC的http接口feign,他是对一个接口打了一个注解,他一定会针对这个注解标注的接口生成动态代理,然后你针对feign的动态代理去调用他的方法的时候,此时会在底层生成ht...

2019-12-02 20:36:22

synchoronized锁源码分析

owner 当前锁线程waitset 等待队列(o.wait())cxqEntryList 同步队列等待队列AQS加锁流程

2019-11-30 13:22:36

I/O模型以及多路复用三种实现方式select、poll和epoll比较及区别

I/O过程:图图中明显忽略了很多细节,仅显示了涉及到的基本步骤。 注意图中用户空间和内核空间的概念。用户空间是常规进程所在区域。JVM 就是常规进程, 驻守于用户空间。用户空间是非特权区域:比如,在该区域执行的代码就不能直接访问硬件设备。 内核空间是操作系统所在区域。内核代码有特别的权力:它能与设备控制器通讯,控制着用户区域 进程的运行状态,等等。最重要的是,所有 I/O 都...

2019-11-26 15:29:02

java虚拟机(JVM)服务器Linux优化案例

当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度上增加了GC优化的难度。即便如此,GC调优也不是无章可循,仍然有一些通用的思考方法。本篇会介绍这些通用的GC优化策略和相关实践案例,主要包括如下内容: > 优化前准备: 简单回顾JVM...

2019-11-19 14:18:05

大数据技术栈

技术栈全貌大数据平台技术栈下面自底向上介绍各个层的主要项目。1 采集层和传输层采集层Sqoop在hadoop和关系型数据库之间转换数据。FlumeFlume是一个分布式的高可用的数据收集、聚集和移动的工具。通常用于从其他系统搜集数据,如web服务器产生的日志,通过Flume将日志写入到Hadoop的HDFS中。FlumeCanal数据抽取是 ETL...

2019-11-06 20:04:01

Spring Boot启动流程

我们开发任何一个Spring Boot项目,都会用到如下的启动类从上面代码可以看出,Annotation定义(@SpringBootApplication)和类定义(SpringApplication.run)最为耀眼,所以要揭开SpringBoot的神秘面纱,我们要从这两位开始就可以了。SpringBootApplication背后的秘密虽然定义使用了多个Annotation...

2019-11-04 15:10:19

Java虚拟机(JVM)- 类加载的详细过程

了解 类加载的过程,有利于在类初始化时进行一些功能操作 本文全面讲解类加载过程,希望你们会喜欢。总体过程:底层一点:JVM 类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这 五个过程。综述:...

2019-11-01 15:13:29

java线程状态反观锁

java线程变化的状态转换图如下:1、新建状态(New):新创建了一个线程对象。2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除CPU之外,其它的运行所需资源都已全部获得。3、运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。...

2019-10-31 20:00:38

note sth..

IO模式:对于一次IO操作数据会先被拷贝到操作系统内核缓冲区,然后从操作系统内核缓冲区再拷贝到应用程序内存空间。当一个IO操作发生时会发生两个阶段:1、等待数据准备,2、将数据从内核拷贝到进程中。因为这两个阶段Linux系统产生了五种网络模式方案:1、阻塞IO:在数据准备阶段,用户进程会被阻塞,一直等到数据的到来。知道数据到来并被拷贝到用户内存后该阻塞才会解除2、非阻塞IO:数据...

2018-05-20 14:43:21

java混淆异常

1、运行时异常和非运行时异常(1)运行时异常都是RuntimeException类及其子类异常,"出现都是你的代码问题,你可以选择处理也可不处理,代码优化可以处理"。如NullPointerException、IndexOutOfBoundsException等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免...

2019-10-31 14:40:56

groovy脚本跟java的一些差异

1、Default imports,默认情况下,导入下面的包:java.io. *java.lang。*java.math.BigDecimal中java.math.BigInteger中java.net.*java.util中.*groovy.lang.*groovy.util.*2、Multi-methods,groovy在运行时根据参数的类型选择要调用的方法,称为运行时调度...

2019-10-31 11:29:23

正则表达式快速入门教程

本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :)别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有想像中的那么困难。当然,如果你看完了这篇教程之后,发现自己明白了很多,却又几乎...

2019-09-24 20:18:00

HTTPS整套加密机制实现

HTTPS,在我的概念中就是更安全,需要服务器配置证书,但是到底什么是HTTPS,为什么会更安全,整套流程又是如何实现的,在脑子里没有具体的概念。下文将为大家介绍HTTPS整套加密机制是如何实现的,让更多之前不清楚HTTPS加密到底是什么的同学有一个入门的理解。HTTP是什么样的?HTTP是属于应用层的协议,它是基于TCP/IP的,所以它只是规定一些要传输的内容,以及头部信息,然后通过T...

2019-08-14 17:22:11

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。