8 猿人谷

尚未进行身份认证

个人主页:yuanrengu.com/

等级
TA的排名 8k+

内存泄漏与内存溢出

不管哪种编程语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。java中对象可以采用new或反射或clone或反序列化的方法创建,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会监控每个对象的运行状况,对他们的申请、引用、被引用、赋值等状况进行监控,java会使用有向图的方法来管...

2020-02-26 14:58:57

【ZooKeeper系列】3.ZooKeeper源码环境搭建

前文阅读:【ZooKeeper系列】1.ZooKeeper单机版、伪集群和集群环境搭建【ZooKeeper系列】2.用Java实现ZooKeeper API的调用在系列的前两篇文章中,我们介绍了ZooKeeper环境的搭建(包括单机版、伪集群和集群),对创建、删除、修改节点等通过命令行的方式进行测试,让大家对ZooKeeper的环境搭建及常用命令行有了初步的认识,也为搭建ZooKeeper的...

2019-12-31 12:47:11

JAVA设计模式之单例模式

文章目录1 懒汉式单例1.1 在getInstance方法上加同步1.2 双重检查锁定1.3 静态内部类2 饿汉式单例3 登记式单例(可忽略)4 饿汉式和懒汉式区别从名字上来说,饿汉和懒汉:另外从以下两点再区分以下这两种方式:懒汉式中的1.1,1.2,1.3实现有什么区别:什么是线程安全?5 应用转自:https://blog.csdn.net/jason0539/article/detail...

2019-12-19 14:27:44

【ZooKeeper系列】2.用Java实现ZooKeeper API的调用

zookeeper apiAPI客户端异常:org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /zk_demo 。完整的报错信息如下:09:33:52.139 [main-SendThread(106.12.111.172:2181)] DEBUG...

2019-12-17 14:36:54

【Apollo系列】1.Apollo本地运行环境搭建

文章目录1 环境搭建1.1 本地运行环境1.2 导入数据库信息1.2.1 创建ApolloPortalDB1.2.2 创建ApolloConfigDB2 本地启动2.1 Apollo Config Service和Apollo Admin Service2.1.1 新建运行配置2.1.2 配置Application2.2 Apollo-Portal参考Apollo官方文档的介绍其实已经很详细,...

2019-12-13 16:36:05

【ZooKeeper系列】1.ZooKeeper单机版、伪集群和集群环境搭建

1 单机版(Standalone模式)安装ZooKeeper官网下载地址:http://zookeeper.apache.org/releases.html#download如图所示进行操作:注意一点,如果不想当小白鼠,请务必下稳定版(stable release),非稳定版安装时可能出各种未知的异常。以3.4.14版本为例进行安装,之前写一些软件的安装教程时,有人留言说希望把安装的步...

2019-12-06 11:52:56

获取对象属性类型、属性名称、属性值的研究:反射和JEXL解析引擎

先简单介绍下反射的概念:java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。反射是java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以在运行时装配。在实际的业务中,可能会动态根据属性去获取值。工具类如下:package com...

2019-11-28 16:49:40

Integer和Integer比较以及Integer和Int的比较分析

发现做项目的过程中,在数值类型的比较上容易犯错,特别是Integer和Integer的比较,Integer和int的比较。虽然这些都是些基础语法,但稍不留意就容易犯错,在实际开发过程中如果出现这类失误,很容易失之毫厘谬以千里。在这里,总结下这些基础知识点。java虽然宣称一切都是对象,但原始数据类型是例外。int是整形数字,是java的9个原始数据类型(Primitive Types)(bool...

2019-11-22 14:57:50

HashMap在Jdk1.7和1.8中的实现

Java集合类的源码是深入学习Java非常好的素材,源码里很多优雅的写法和思路,会让人叹为观止。HashMap的源码尤为经典,是非常值得去深入研究的,jdk1.8中HashMap发生了比较大的变化,这方面的东西也是各个公司高频的考点。网上也有很多应对面试的标准答案,我之前也写过类似的面试技巧(,应付一般的面试应该是够了,但个人觉得这还是远远不够,毕竟我们不能只苟且于得到offer,更应去勇敢的追求...

2019-11-21 18:01:30

性能对比:Count(字段)、Count(主键)、Count(1)、Count(*)

说明:此篇文章的内容绝大部分来源于《极客时间》专栏。以下讨论是基于InnoDB引擎。至于分析性能差别的时候,可以记住以下几个原则:server层要什么就给什么InnoDB只给必要的值现在的优化器只优化了count(*)的语义为“取行数”,其它“显而易见”的优化并没有做。接下来,我们一个个来进行分析。对于count(主键id)来说,InnoDB引擎会遍历整张表,把每一行的id值都...

2019-10-25 15:33:06

弄明白CMS和G1,就靠这一篇了

文章目录1 CMS收集器安全点(Safepoint)安全区域2 G1收集器卡表(Card Table)参考在开始介绍CMS和G1前,我们可以剧透几点:根据不同分代的特点,收集器可能不同。有些收集器可以同时用于新生代和老年代,而有些时候,则需要分别为新生代或老年代选用合适的收集器。一般来说,新生代收集器的收集频率较高,应选用性能高效的收集器;而老年代收集器收集次数相对较少,对空间较为敏感,应当...

2019-10-20 00:12:22

Mysql中Left Join、Right Join、Inner Join的区别

left join(左联接) :返回包括左表中的所有记录和右表中联结字段相等的记录right join(右联接) :返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接): 只返回两个表中联结字段相等的行举例如下:表A记录如下:aID     aNum1     a200501112     a200501123     a200501134   ...

2019-10-18 16:16:34

面试官,不要再问我三次握手和四次挥手

三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。见过比较典型的面试场景是这样的:面试官:请介绍下三次握手求职者:第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报文之后,会应答一个报文给客户端,第三次握手就是客户端收到报文后再给服务器发送一个报文,三次握手就...

2019-10-08 09:55:58

【面试必备】小伙伴栽在了JVM的内存分配策略。。。

周末有小伙伴留言说上周面试时被问到内存分配策略的问题,但回答的不够理想,小伙伴说之前公号里看过这一块的文章的,当时看时很清楚,也知道各个策略是干嘛的,但面试时脑子里清楚,心里很明白,但嘴里就是说不清楚,说出来的就是像云像雾又像风,最后面试官说他应该是不清楚这一块的内容这里给小伙伴要再次说明下,任何知识点,先抓主干,再摸细节。对于面试来说,能把各个主干捋清楚,只要面试官要求不是太高,都是能过...

2019-09-23 10:46:35

JDK13都出了,你还再玩勺子把(jdk1.7)?

JDK13发布了,你知道吗?官方是这么描述的:带来了5个新特性:350: Dynamic CDS Archives351: ZGC: Uncommit Unused Me...

2019-09-18 16:47:41

程序猿菜鸟打怪升级—一路火花带闪电

各位小伙伴,大家好!我是猿人谷,一名搬砖老菜鸟。蓦然回首这几年的打怪升级历程,不再是之前的年轻气盛,也没有百感交集,内心却像湖面躺着那株莲花一般,平静,荡不起半点涟漪。总结从事搬砖行业的这几年,感觉就是:平台白发银披风,一生都在征战中。初入行时,真的连菜鸟都算不上,顶多是只菜虫。当时听到什么c++,Objective-c,大数据,神经网络。。。。。。真的明白自己就两件事不会:这也不会,那也不会。...

2019-09-16 10:24:55

【不做标题党】创建对象及对象的访问定位

《JVM从小白学成大佬》系列推出到现在,收到了很多小伙伴的好评,也收到了一些小伙伴的建议,在此表示感谢。有几个小伙伴提出了希望出一篇介绍对象的创建及访问,猿人谷向来是没有...

2019-09-11 09:59:22

【JVM从小白学成大佬】6.创建对象及对象的访问定位

《JVM从小白学成大佬》系列推出到现在,收到了很多小伙伴的好评,也收到了一些小伙伴的建议,在此表示感谢。有几个小伙伴提出了希望出一篇介绍对象的创建及访问,猿人谷向来是没有原则的,小伙们要求啥,咱就尽力满足,毕竟文章就是对自己学习的一个总结及和各位小伙伴交流学习的机会。话不多说,直接开撸!1 创建对象在Java程序运行过程中无时无刻都有对象被创建出来,java中对象可以采用new或反射或clo...

2019-09-04 11:31:01

【JVM从小白学成大佬】3.深入解析强引用、软引用、弱引用、幻象引用

关于强引用、软引用、弱引用、幻象引用的区别,在很多公司的面试题中经常出现,可能有些小伙伴觉得这个知识点比较冷门,但其实大家在开发中经常用到,如new一个对象的时候就是强引用的应用。在java语言中,除了原始数据类型(boolean、byte、short、char、int、float、double、long)的变量,其他所有都是所谓的引用类型,指向各种不同的对象。理解这些引用的区别,对于掌握jav...

2019-09-03 15:04:08

有了这篇Dubbo RPC面试题,让天下没有难的面试题!

RPC非常重要,很多人面试的时候都挂在了这个地方!你要是还不懂RPC是什么?他的基本原理是什么?你一定要把下边的内容记起来!好好研究一下!特别是文中给出的一张关于RPC的...

2019-09-03 10:36:54

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。