3 Java技术宅

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3w+

关于JVM内存溢出的原因分析及解决方案探讨

前言:JVM中除了程序计数器,其他的区域都有可能会发生内存溢出。0.什么是内存溢出当程序需要申请内存的时候,由于没有足够的内存,此时就会抛出OutOfMemoryError,这就是内存溢出。1.内存泄漏和内存溢出区别与联系内存泄漏:系统分配的内存没有被回收。 内存溢出:分配的内存空间超过系统内存。2.内存泄漏的原因分析jvm由5大块组成:堆,栈,本地...

2019-08-11 16:33:14

浅谈 Spring Boot、微服务架构和大数据治理三者之间的纠葛

微服务架构微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物。互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,在这种情况下,如何从系统架构的角度出发,构建灵活、易扩展的系统,快速应对需求的变化;同时,随着用户的增加,如何保证系统的可伸缩性、高可用性,成为系统架构面临的挑战。如果还按照以前传统开发模式,开发一个...

2019-05-19 17:17:14

面试必问之JVM篇

前言只有光头才能变强JVM在准备面试的时候就有看了,一直没时间写笔记。现在到了一家公司实习,闲的时候就写写,刷刷JVM博客,刷刷电子书。学习JVM的目的也很简单:能够知道JVM是什么,为我们干了什么,具体是怎么干的。能够理解到一些初学时不懂的东西在面试的时候有谈资能装逼声明:全文默认指的是HotSpot VM一、简单聊聊JVM1.1先来看看简单的Java程序现在我有一个JavaBean:publ...

2018-07-11 22:55:23

一个程序员在大城市,还是选择离家近的好城市呢

这可能是很大一部分程序员都要面临的问题,北上广深的房价早已望尘莫及,尤其是北上深。是在大城市工作几年回家,还是一直大城市租房,废话不多说,我们先来看一下各个社区里面的意见:伯乐在线:知乎:开源社区:度娘:CSDN:看了这些回答,相信你们自己心中也有了一个大概的轮廓。那么问题又来了,如果让你作出一个选择,你会怎么选?一线城市是现货,二、三线城市则是期货。沈从文说:一个战士要么战死沙场,要么回到故土。...

2018-07-11 22:51:20

【独家】终生受用的Redis高可用技术解决方案大全

最近很多朋友向我咨询关于高可用的方案的优缺点以及如何选择合适的方案线上使用,刚好最近在给宜人贷,光大银行做企业内训的时候也详细讲过,这里我再整理发出来,供大家参考,如有不妥之处,欢迎批评指正,也欢迎推荐更好的技术方案。不废话了,来看看方案吧~知识总纲Redis常见的几种主要使用方式:Redis 单副本Redis 多副本(主从)Redis Sentinel(哨兵)Redis ClusterRedis...

2018-07-10 22:30:31

【独家】史上最全Redis高可用技术解决方案大全

最近很多朋友向我咨询关于高可用的方案的优缺点以及如何选择合适的方案线上使用,刚好最近在给宜人贷,光大银行做企业内训的时候也详细讲过,这里我再整理发出来,供大家参考,如有不妥之处,欢迎批评指正,也欢迎推荐更好的技术方案。不废话了,来看看方案吧~知识总纲Redis常见的几种主要使用方式:Redis 单副本Redis 多副本(主从)Redis Sentinel(哨兵)Redis ClusterRedis...

2018-07-10 19:25:36

架构新说之响应式微服务架构-分布式系统设计原则

O’Reilly的电子书《Reactive Microservices Architecture》讲述了微服务/分布式系统的一些设计原则,本文是笔者阅读完此书后的理解。微服务相比传统的单体应用能够带来快速的响应,以小的系统产生大的影响。而随着网络加速、磁盘成本降低、RAM成本降低、多核技术的发展、云架构技术的爆发,微服务不再受这些客观条件的限制,已经开始大规模的应用。与SOA架构,微服务和它都具有...

2018-07-09 22:56:51

这样学习ElasticSearch可以起飞

前言最近一年使用 Elasticsearch 完成亿级别日志搜索平台「ELK」,亿级别的分布式跟踪系统。在设计这些系统的过程中,底层都是采用 Elasticsearch 来做数据的存储,并且数据量都超过亿级别,甚至达到百亿级别。所以趁着有空,就花点时间整理一下具体怎么做 Elasticsearch 性能优化,希望能对 Elasticsearch 感兴趣的同学有所帮助。背景下面是官方套话介绍elas...

2018-07-09 19:30:25

同样的工作、同样的做需求,为什么他们能进阿里

引言古人云:“活到老,学到老。”互联网算是最辛苦的行业之一,“加班”对工程师来说已是“家常便饭”,同时互联网技术又日新月异,很多工程师都疲于应付,叫苦不堪。以至于长期以来流传一个很广的误解:35岁是程序员工作的终点。如何在繁忙的工作中做好技术积累,构建个人核心竞争力,相信是很多工程师同行都在思考的问题。同样的工作、同样的做需求,为什么有的人只能在现有岗位上缓慢前行,而有的人却能进阿里,本文是我自己...

2018-07-08 17:53:48

这样学习ElasticSearch可以起飞

前言最近一年使用 Elasticsearch 完成亿级别日志搜索平台「ELK」,亿级别的分布式跟踪系统。在设计这些系统的过程中,底层都是采用 Elasticsearch 来做数据的存储,并且数据量都超过亿级别,甚至达到百亿级别。所以趁着有空,就花点时间整理一下具体怎么做 Elasticsearch 性能优化,希望能对 Elasticsearch 感兴趣的同学有所帮助。背景下面是官方套话介绍elas...

2018-07-06 16:16:51

并发编程的艺术

很久没更新文章了,对隔三差五过来刷更新的读者说声抱歉。关于 Java 并发也算是写了好几篇文章了,本文将介绍一些比较基础的内容,注意,阅读本文需要一定的并发基础。本文的主要目的是让大家对于并发程序中的重排序、内存可见性以及原子性有一定的了解,同时要能准确理解 synchronized、volatile、final 几个关键字的作用。另外,本文还对双重检查形式的单例模式为什么需要使用 volatil...

2018-07-05 22:38:54

Java 并发基础之内存模型

很久没更新文章了,对隔三差五过来刷更新的读者说声抱歉。关于 Java 并发也算是写了好几篇文章了,本文将介绍一些比较基础的内容,注意,阅读本文需要一定的并发基础。本文的主要目的是让大家对于并发程序中的重排序、内存可见性以及原子性有一定的了解,同时要能准确理解 synchronized、volatile、final 几个关键字的作用。另外,本文还对双重检查形式的单例模式为什么需要使用 volatil...

2018-07-05 22:28:51

并发编程锁之synchronized(二)

锁synchronized并发编程中数据同步需要依赖锁进行控制,上篇博文通过ReentrantLock源码分析也对Lock实现锁机制的大致原理有了一个了解,Lock主要是通过编码的方式实现锁,其核心就是:CAS+循环,CAS原子操作需要依赖底层硬件层特殊的CPU指令。这节我们来看下Java中另一种非常常见的实现同步的方式:synchronized。synchronized主要通过底层JVM进行实现...

2018-07-03 16:55:57

并发编程之多线程状态(一)

总的执行图:所有状态:1,创建状态( new )在程序中用构造方法创建了一个线程对象后,新的线程对象便处于新建状态,此时,它已经有了相应的内存空间和其他资源,但还处于不可运行状态。新建一个线程对象可采用Thread 类的构造方法来实现,例如,“Thread thread=new Thread();”。2,就绪状态( Runnable )新建线程对象后,调用该线程的start()方法就可以启动线程。...

2018-07-02 22:28:30

垂直打击之JVM剖析

让Java应用程序运行是一回事,但让他们跑得快就是另外一回事了。在面对对象的环境中,性能问题就像来势凶猛的野兽。但JVM的复杂性将性能调整的复杂程度增加了一个级别。这里Refcard涵盖了JVM internals、class loading(Java8中更新以映射最新的元空间)、垃圾回收、故障诊断、检测、并发性,等等。介绍Java是目前软件开发领域中使用最广泛的编程语言之一。Java应用程序在许...

2018-06-28 22:35:05

这些面试准备为我拿到Facebook 的Offer奠定了基础

我刚刚在硅谷的科技公司完成了 7 次现场面试,我收到了来自 Facebook 的软件工程师的职位 Offer。下面分享一下我是怎么为面试做准备的,以及我在这个过程中学到的东西。(一)为了能到硅谷工作,我已准备多年当我还在澳大利亚的大学学习计算机科学的时候,我总是想象着未来能成为硅谷的一名软件工程师。我希望自己未来能够到科技行业的创新中心硅谷去工作。这个目标让我充满了动力,它也让我能够更加专注地准备...

2018-06-28 15:22:35

为了能到硅谷工作,我已准备多年

我刚刚在硅谷的科技公司完成了 7 次现场面试,我收到了来自 Facebook 的软件工程师的职位 Offer。下面分享一下我是怎么为面试做准备的,以及我在这个过程中学到的东西。(一)为了能到硅谷工作,我已准备多年当我还在澳大利亚的大学学习计算机科学的时候,我总是想象着未来能成为硅谷的一名软件工程师。我希望自己未来能够到科技行业的创新中心硅谷去工作。这个目标让我充满了动力,它也让我能够更加专注地准备...

2018-06-27 23:24:12

2018开发者技能调查报告之Java程序员求职必备技能分析

根据国外开发者平台 HankerRank 发布的2018 年开发者技能调查报告,本文摘录程序员求职时必备技能相关的调查结果。雇主招人时,看中哪些核心竞争力?问题解决能力(不管企业大小,都排第1)编程语言熟练程度(不管企业大小,排第2)调试(不管企业大小,排第3)系统设计(综合排第4)性能优化(综合排第5)剩下见下图相比中大型公司,小公司更为看中开发者对框架的熟练程度。因为小公司追求快启动,框架有助...

2018-06-26 23:07:36

闲话高并发的那些神话,看京东架构师如何把它拉下神坛

高并发也算是这几年的热门词汇了,尤其在互联网圈,开口不聊个高并发问题,都不好意思出门。高并发有那么邪乎吗?动不动就千万并发、亿级流量,听上去的确挺吓人。但仔细想想,这么大的并发与流量不都是通过路由器来的吗?>>>>0x00 一切源自网卡高并发的流量通过低调的路由器进入我们系统,第一道关卡就是网卡,网卡怎么抗住高并发?这个问题压根就不存在,千万并发在网卡看来,一样一样的,都是...

2018-06-25 22:59:29

对于程序员的招聘问题,作为软件人的一些吐槽和建议

作为软件人,找工作有时候似乎挺苦逼的。说真的,让我去掉前面这句中“似乎”二字吧。就是苦逼!很多人都曾抱怨处在招聘的一方很糟糕——我们没有任何可靠的方式来甄别会写代码并且写得好的人。这的确是真的,我们这行在这方面做得很糟糕。即使是在最常见的开发者群体(美国人、男性、白人、较为年轻和中产背景)当中,我们的甄别能力也绝对是一败涂地,而当面对更广泛的人群时,我们只会干得更差。但我们不得不扩大范围,因为就算...

2018-06-24 14:20:04

查看更多

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