- 博客(25)
- 收藏
- 关注
原创 骨灰级扫地神僧出版的《多线程与高并发》,2020你值得拥有
某粉丝年前参加某个NB企业的面试题列表:聊聊synchronized的CPU原语级别实现 有一千万个数,写一个程序进行高效求和 已知2开平方为1.414,如何不用数学库,求开平方的值,精确到小数点儿后面10位 编码实现两个线程,线程A不断打印1-10的数字,要求在打印到第五个数字的时候通知线程B 自定义线程池需要指定哪7个参数,为什么不建议使用JUC内置线程池? 高并发、任务执行时间短的业务怎样使用线程池? 并发不高、任务执行时间长的业务怎样使用线程池? 并发高、业务执行时间长的业务怎样使
2020-06-26 21:28:25
234
原创 JVM诊断之查看运行参数
问题描述为了分析和定位一个Java线上系统问题,我们需要查看JVM启动时的一些参数设置,例如:垃圾回收算法、堆大小等等。这些参数可能在启动脚本中明确指明,也可能采用默认值。在系统运行过程中其他人也许动态调整了系统参数。 如何实时查看正在运行的JVM的参数呢?解决方案可以采用jcmd来查看正在运行的JVM的参数。jcmd从JDK 7开始引入的一个JVM诊断命令行工具,可以向运行中的JVM发送诊断命令。查看JVM进程的PID $ jcmd -l 27940 sun
2020-06-19 16:29:14
247
原创 腾讯T4大神精心整理,深入理解jvm
做java开发的几乎都知道jvm这个名词,但是由于jvm对实际的简单开发的来说关联的还是不多,一般工作个一两年,很少有人能很好的去学习及理解什么是jvm,以及弄清楚jvm的工作原理,个人认为这块还是非常有必要去认真了解及学习的,特别是刚入门或入门不久的java开发来说,这是java的基石。当面试官向你提问JVM的实战问题时,你是否感觉到无所适从?想解决生产环境中的GC问题,你是否感觉到狗咬刺猬,无处下嘴?面对JVM的海量参数,是否感觉到迷茫无助?看过很多的JVM文章,但当遇到了生产环境中真实问题的时候,
2020-06-12 22:12:02
246
1
原创 JVM 高级特性
1、JVM体系结构线程共享内存可以被所有线程共享的区域,包括堆区、方法区、运行时常量池。1.1 堆(Heap)大多数时候,Java 堆是 Java 虚拟机管理的内存里最大的一块,所有的对象实例和数组都要在堆上分配内存空间,Java 对象可以分为两类,一类是快速创建快速消亡的,另一类是长期使用的。所以针对这种情况大多收集器都是基于分代收集算法进行回收。Java 的堆可以分为新生代(Young Generation)和老年代(Old Generation),而新生代(Young Genera
2020-06-12 21:52:01
273
原创 资深大牛的建议,你想知道如何学习,怎么进入阿里吗?
引言其实本来真的没打算写这篇文章,主要是小编的记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。小编自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的。但是,最近问小编的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回复了。其实之前小编写过一篇文章,但是那篇文章更多的是在讨论“面试前该不该刷题”这个话题,而这篇文章将会更加聚焦在面试前如何准备,以及工作当中如何学习这个话题上,而且
2020-06-08 21:03:46
290
原创 建议收藏|10000字全面图文讲解AQS以及ReentrantLock应用
写在前面祝大家儿童节快乐????,保持童心,这篇文章作为儿童节礼物????送给大家。进入源码阶段了,写了十几篇的 并发系列 知识铺垫终于要派上用场了。相信很多人已经忘了其中的一些理论知识,别担心,我会在源码环节带入相应的理论知识点帮助大家回忆,做到理论与实践相结合,另外这是超长图文,建议收藏,如果对你有用还请点赞让更多人看到Java SDK 为什么要设计 Lock曾几何时幻想过,如果 Java 并发控制只有 synchronized 多好,只有下面三种使用方式,简单方便publiccl
2020-06-05 15:20:28
255
1
原创 5000+收藏的Spring Boot面试核心总结,关键时刻可以救你一命!
技术面试时的你是否会有这样的感受:面试官问的好多技术我都用到了,但面试官的问题我们时却不能给出准确的答案。我们平常在项目中主要关注使用,程序run起来就ok了,很少去了解原理、架构、和性能调优。这样在面试问题中总有一种无法直击问题本质的无力感,很难充分表现自己,最终影响面试结果。其实,这是很多Java研发人员遇到的普遍问题,不清楚原理,虽然用起来没问题,但讲起来有困难!为了避免此类问题,本文针对面试中涉及到的Spring Boot核心知识点进行了总结,帮助大家查漏补缺,在技术面试中能够一路通
2020-06-05 14:53:54
322
原创 Spring Boot 密码加密的 2 种姿势!
先说一句:密码是无法解密的。密码无法解密,还是为了确保系统安全。今天松就来和大家聊一聊,密码要如何处理,才能在最大程度上确保我们的系统安全。1.为什么要加密2011 年 12 月 21 日,有人在网络上公开了一个包含 600 万个某网站用户资料的数据库,数据全部为明文储存,包含用户名、密码以及注册邮箱。事件发生后该网站在微博、官方网站等渠道发出了声明,解释说此数据库系 2009 年备份所用,因不明原因泄露,已经向警方报案,后又在官网发出了公开道歉信。在接下来的十多天里,金山、网易、京东、当当
2020-06-04 15:37:52
294
原创 面试阿里巴巴,只因不懂JVM,面试官让我回去等通知
前言JVM的GC机制绝对是很多程序员的福音,它让Java程序员省去了自己回收垃圾的烦恼。从而可以把大部分时间专注业务身上,大大提高了业务开发速度,让产品需求尽快的落地抢占市场。但是也正因为如此,导致很多Java程序员对JVM和GC知之甚少,以我愚见大家对JVM&GC不够了解的有几个原因: 门槛太高。我们平常接触的spring,dubbo,java集合&J.U.C,网上都有无数优秀的文章对其深入的分析。而且都是基于Java语言,我们在学习的过程中,可以自己很容易的debug源码更深入
2020-06-04 15:18:10
413
原创 13 个最火的 Java 开源项目推荐!总有一个适合你!
商城系统Guide 哥注:下面的商城系统大多比较复杂比如 mall ,如果没有 Java 基础和 Spring Boot 都还没有摸熟的话不推荐过度研究下面几个项目或者使用这些项目当作毕业设计。mall:mall 项目是一套电商系统,包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现。 mall-swarm: mall-swarm 是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、..
2020-06-04 14:33:04
2153
原创 把一致性哈希算法原理讲的最清楚的一篇
一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人都知道,memcached服务器端本身不提供分布式cache的一致性,而是由客户端来提供,具体在计算一致性has
2020-06-04 14:27:39
176
原创 java程序员简历上的哪些内容才是面试者眼中的干货
已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份这篇文章会用实例告诉你,什么是差的程序员简历!疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。就在公众号里公开征简历,义务帮大家看,并一一点评。一石激起千层浪,三天收到两百多封简历。花光了两个星期的所有空闲时间,一一点评,一一回复,一一讨论与修正。看光了所有简历以后,能称得上为范本的寥寥无几。有些同学非常有实力,但看到他的简历时,根本不可能过简历筛选
2020-06-03 15:02:26
867
原创 来理解一下:SOA, SOAP, Web Service, WSDL等
什么是SOA、SOAP?SOA是什么? SOA(Service-Oriented Architecture)的定义是面向服务的架构,就是说将软件按照功能设计成一个个服务,这些服务用标准的方式定义接口、并通过标准的协议进行调用。 SOA所定义的接口和调用方式是独立于编程语言和运行平台的,广义上讲SOA可以基于不同的底层技术实现,比如CORBA和Web Services。但CORBA由于过于复杂和臃肿已很少使用,所以目前所说的SOA绝大多数是基于Web Services技术实现。在Web Se...
2020-06-03 14:37:19
368
原创 终于明白阿里百度,总是拿ThreadLocal经常考验求职者了
什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数据,线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用。ThreadLocal提供了线程安全的另一种思路,我们平常说的线程安全主要是保证共享数据的并发访问问题,通过sychronized锁或者CAS无锁策略来保证数据的一致性。ThreadLocal结构图从上面的结构图,我们已经窥见ThreadLocal的核心机制:每个Thread线程内部都有一个Map。 Map
2020-06-03 14:32:03
241
原创 如何快速入门java spring
好记忆不如烂笔头, 能记下点什么, 就记下点什么, 方便后期的巩固Spring介绍Spring 是一个开源框架,是一个分层的 JavaEE 一站式框架。所谓一站式框架是指 Spring 有 JavaEE 开发的每一层解决方案。 WEB层:SpringMVC Service层:Spring的Bean管理,声明式事务 DAO层:Spring的JDBC模板,ORM模板 优点: IOC:方便解耦合 AOP:对程序进行扩展 轻量级框架 方便
2020-06-03 14:17:42
157
原创 短时间如何过Java校招
结合我的经历,简单聊聊我的看法吧。信息差很多没听说过校招的同学会认为:我找工作肯定是在毕业之后找的啊,这有毛病吗?仅仅听过「校招」这个词的同学可能想的是:校招不就是企业现场到我的学校或者隔壁的学校招聘吗,这有啥的?如果参加过校招的同学肯定会说:这肯定有毛病啊,哪有毕业之后才找工作的。是谁告诉你校招仅仅就是企业现场到学校招聘的?「校招」的经历笔者毕业于一个九流的学校,那是怎么知道有「校招」这一回事的呢?学校自然是没有告诉我的,身边的同学也几乎都不知道的,我在奋战秋招的那段时间也没有
2020-06-02 17:10:40
861
原创 如何学习sql?
SQL精通难但是很容易上手,如果只是为面试准备的话,大概只要认真准备3-4天就可以达到不会被面试官难倒的程度SQL快速学习分三步:学SQL语法->集中刷题->花式刷题1、关系型数据库+SQL语法有需要详细资料的可以加qq群:993091016具体了解哈SQL基本语法心中熟记SQL魔咒:select from where group by having order bySELECT [ALL|DISTINCT] <列名> as <别称> [
2020-06-02 14:15:15
463
原创 面试官必问,你却没见过的设计模式其一:命令模式
命令模式命令模式很好理解,举个例子,司令员下令让士兵去干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行。这个过程好在,三者相互解耦,任何一方都不用去依赖其他人,只需要做好自己的事儿就行,司令员要的是结果,不会去关注到底士兵是怎么实现的。我们看看关系图:Invoker是调用者(司令员),Receiver是被调用者(士兵),MyCommand是命令,实现了Command接口,持有接收对象,看实现代码:public interface Comm
2020-06-01 13:36:09
163
原创 工作8年高专程序员的真实感悟
还记得自己刚开始进入软件开发行业的时候,也是在网上看了好多大佬的工作总结,每次看完总是踌躇满志,像打了鸡血一样充满干劲。斗者,与天斗,其乐无穷;与地斗,其乐无穷;与人斗,其乐无穷。2013年,算是我正式踏上软件开发的第二年,咱们直入正题关于程序员高薪的一些看法?现在网上各种流行程序员动不动年薪百万,我想澄清下,大部分都是标题党为了吸引眼球和访问量,里面一般都是推荐一些培训课程或者公众号。怎么拿到年薪百万?大部分都是一线互联网公司,类似阿里,腾讯,华为,至少P6以上的核心技术.
2020-06-01 11:27:55
609
原创 从一无所知到Java研发4面已拿offer总结
前言:面试一直是大家关注的问题,包括最近有很多人跟我讲投了很多简历出去,就像泥牛入海一样了无音讯了,工作难找。不少人问我怎么办,讲真,我也无能为力。很多Java程序员在面试时都有这样的苦衷:我掌握了很多Java开发技巧,每次到笔试环节,死活就是答不上; 明明是一个职场老手,和面试官聊天,简单的技术问题都吞吞吐吐;面试只是对个人技术及应变能力的一次考验。只有解决了一个问题,你才有机会遇见下一个问题。以下面试题由群友提供或网上收集整理,共勉。以下分享一份某大厂Java..
2020-06-01 11:26:03
192
原创 阿里 P7+,为啥小公司的试用期都过不了?
前阵子,我的一个大学同学跟我吐槽,“他去年从大厂跳槽到了一家C轮创业公司担任技术leader,今天居然被老板通知试用期没通过!”这位同学在加入小厂之前,有过两段大厂经历,P7+的水平,怎么会连小厂的试用期都过不了呢?看似不可思议,其实有理可循,下面想就这个话题展开聊聊。大厂高P之所以选择加入小厂,绝大部分人是想通过跳槽往管理转型,毕竟大厂有能力的人居多,但是管理坑位和发挥空间有限。如果眼光独到,小厂发展成了下一个大厂,那么还有机会做到中高层管理。一条看似不错的路径真的好走吗?我...
2020-06-01 11:18:13
1154
原创 怎么学计算机网络
思维导图如果你是科班出身的同学,相信你对计算机网络的学习不用我操心,如果是非科班的同学,按照这个思路去学习,我觉得是还是可以的。简介之前讲到了数据结构怎么学,当时我的学习方法是先看视频,再看书,然后刷一刷基础算法题做巩固。作为一个非科班考研党,当时觉得这个学习路线还是比较平滑的,毕竟能让我一个小白快速学会,这门课相对来说还是比较简单的。于是,等我读研的时候,打算以相同的学习方式来补一下其他几门计算机基础课程,首当其冲的就是计算机网络。因为这门课实在重要,几乎是面试必问的内容,什
2020-05-29 19:56:40
581
原创 Java小白如何秋招翻身 收获BAT等大厂offer(3)
面经分享具体的面经都比较长,这里大概介绍一下面试的情况,具体的面经请大家关注我的公众号并回复“面经”即可查看。1 阿里面经 阿里中间件研发面经,蚂蚁金服研发面经,岗位是研发工程师,直接找蚂蚁金服的大佬进行内推。我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。然后我也参加了蚂蚁金服中间件部门的面试,经历了三次面试,但是没有走流程,所以面试中止了。最后我走的是蚂蚁金服财富事业群的流程,经历了四次面试,包括一次交叉面,最终拿到了蚂蚁金服的意向书,评级为A。阿里的面试体验还
2020-05-28 21:53:03
522
原创 Java小白如何秋招翻身 收获BAT等大厂offer(2)
重建知识体系,对学过的东西做减法前面提到我在秋招前完成了知识体系重建,那在这里我也想跟大家分享一下我当时大致的知识体系构成。就跟我前面说的一样,我选择重新再学一遍Java后端相关的技术内容,因为我知道大致的学习方向,并且有一定的基础,所以看很多文章变得更加得心应手,写文章和做总结也更加有底气了。首先在Java基础方面,我写了20多篇原创博客,主要是对Java核心技术的解析,比如“Java反射”,“Java序列化和反序列化”,“Java异常体系”等等。在Java集合类方面,我原创了部分文章,另外整合了
2020-05-28 21:51:51
299
原创 Java小白如何秋招翻身 收获BAT等大厂offer(1)
前言读过许多秋招总结,在这里总结一篇自认为最完整的总结。秋招是大家工作生涯中重要的开端,希望通过这篇文章,帮助即将、正在面临秋招,或者已经经历过秋招的朋友们。不忘初心,方得始终。本人是普通本科生,经历四年的学习积累,有幸于2019秋季招聘中拿到几个公司的研发岗offer,其中包括百度,阿里,腾讯,今日头条,网易,华为等。一路走来遇到很多困难,踩了很多坑,自己也通过对校园招聘研究和相应的准备探索了很多的学习方法,总结了很多心得体会。19年秋季招聘结束后,决定把这些东西全部都写成文字,做成专题,希望可以
2020-05-28 21:50:37
368
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人