
java编程手记
文章平均质量分 89
大头菜~
微信公众号作者:大头菜
微信公众号:大头菜技术
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM-结合MAT工具来分析OOM问题
简单来演示一下OOM的分析和实战。直接上代码:public class Demo4 { public static void main(String[] args) { List<Dandan> list = new ArrayList<>(); while (true){ list.add(new Dandan()); } }}class Dandan{}JVM参数:-原创 2021-04-23 12:08:02 · 589 阅读 · 0 评论 -
JVM-对象什么时候进入老年代(实战篇)
哈喽哈喽大家猴,我是把代码写成bug的大头菜。公众号:大头菜技术(bigheadit)。原创不易,但欢迎转载。上一篇文章:JVM-动态年龄判断介绍了对象进入老年代的四种方式大对象动态年龄判断minor gc后,survivor区空间不能容纳全部存活对象存活对象达到年龄阈值。比如15接下来,我们将用代码方式来验证这四种方式。知识回顾在实战开始之前,我们先复习一下知识点:0.134: [GC (Allocation Failure) 0.134: [ParNew: 7444K->.原创 2021-04-19 14:41:24 · 414 阅读 · 0 评论 -
JVM-动态年龄判断你真的理解了吗
哈喽哈喽大家猴,我是把代码写成bug的大头菜。公众号:大头菜技术(bigheadit)。原创不易,但欢迎转载。看文章前,我们先复习一下。什么对象才能直接进入老年代?你可能很快就说出来,毕竟八股文不是白背的。大对象直接进入老年代。动态年龄判断年龄大于阈值,进入老年代Minor GC后,存活的对象空间大于survivor空间,直接进入老年代。好了嘛,应该没了吧。这次,我们把目光聚焦到:动态年龄判断。下面这图片,摘自JVM书的一段话:什么时候对象能进入老年代空间时?其中一个触.原创 2021-04-11 17:34:44 · 3507 阅读 · 12 评论 -
用泊松分布来解释为什么HashMap的链表变树的阈值是8
前言有网友指出《面试Java——集合之HashMap和ConcurrentHashMap》一文,关于为什么是8,还可以加一句符合泊松分布。于是我了解一下泊松分布后,确实和网友说的一致,同时非常感谢网友指出文章存在的瑕疵。接下来的内容,大头菜将试图用泊松分布来论证HashMap的链表变树的阈值为什么是8。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2tJX8zG8-1616061099950)(https://imgkr2.cn-bj.ufileos.com/403a原创 2021-03-18 17:54:44 · 939 阅读 · 1 评论 -
双亲委派模型
前言今天大头菜打算讲双亲委派模型,重点关注:如何破坏双亲委派模型,你看完后,一定会获益匪浅哈哈哈。广告时间:先点赞,先收藏,转粉不转路。问题大家思考一下这些问题:为什么不能定义java.lang.Object的Java文件?在多线程的情况下,类的加载为什么不会出现重复加载的情况?以下代码,JVM是怎么初始化注册MySQL的驱动Driver? Connection conn= DriverManager.getConnection("jdbc:mysql://loca原创 2021-03-18 10:17:02 · 6989 阅读 · 3 评论 -
Java——美团面经(三面)
前言美团三面面经,一面没记录,凑合着看吧哈哈哈哈二面为什么要离职?项目太完善了,我想去一些没那么完善的项目组,体验项目逐渐完善的过程…自己对项目的了解情况,给自己打个分满分100,我给自己60。 “说下原因”,,讲完之后, “也就是你自己还没理解透你的系统,为什么不深入学习,要离职” ?????说一下项目我想说的是项目意义,项目模块,业务线过程,数据流转。结果他问我输入是什么输出是什么,输入是什么字段,输出内容有什么字段~~ (这个讲项目的思路不错,可以学习)你原创 2021-03-13 21:18:08 · 681 阅读 · 0 评论 -
面试Java——集合之HashMap和ConcurrentHashMap
前言友善提醒,本文篇幅涉及知识点较多,消耗脑力比较大。如果你怕以后找不到此文,建议先收藏如果你不用复习,可直接跳到——面试开始以下代码都出自JDK8面试前,我们复习一下HashMap的put方法public V put(K key, V value) { //这里已经对key进行一次哈希了 return putVal(hash(key), key, value, false, true); } //扰动函数,主要功能:降低哈希冲突(详细内容原创 2021-03-12 19:35:24 · 180 阅读 · 0 评论 -
面试MySQL——索引
前言没有前言,废话不多说,直接开始面试面试开始面试官:什么是索引索引就是一种数据结构,提高检索效率的数据结构。比如B+树,哈希面试官:说说你对B+树的了解B+树是一颗平衡多叉树,相对B树来说,B+树的数据只存在叶子节点。叶子节点组成链表,因此可支持范围查询。B+树的查询效率为:O(logH),H为B+数的高度。面试官:为什么InnoDB使用B+树作为索引结构,而不用B树?首先B+树和B树比较,B树因为非叶子节点也存储数据,因此非叶子能存储的内存页就少了。在相同数据量原创 2021-03-11 18:38:18 · 175 阅读 · 0 评论 -
Object中的finalize方法
finalize()方法一,finalize是什么?二,finalize为什么存在?三,finalize能做什么?一,finalize是什么?protected void finalize() throws Throwable { }}finalize就是Object中的一个方法。或者说他是谁不重要,重要的是他可以干嘛???二,finalize为什么存在?在java中,并不是所有对象,都是由ja...翻译 2018-05-20 19:29:03 · 1133 阅读 · 0 评论 -
怎么学习新的框架
框架就是framwork,百度上说框架是整个或部分系统的可重用性设计,是应用开发者定制的应用骨架。我个人认为框架是一系列的底层服务,让应用开发者调用这一系列的底层服务来快速开发他们想要做的应用程序。 ...转载 2018-04-07 13:11:13 · 1296 阅读 · 0 评论 -
java的运算符和表达式
运算符 *算术运算符 *基本算术运算符(+、-、*、/) *算术复合赋值运算符(+=、-=、*=、/=、%=) *递增递减运算符(++、--) *关系运算符(==、!=、>、<、>=、<=、) *逻辑运算符(&、|、||、&&、!、&=、|=、^=、^) *位运算符(&...原创 2018-02-19 23:00:46 · 387 阅读 · 0 评论 -
java代码注释
定义:java代码的注释就是备注功能:为了提高代码的可读性分类:单行注释、多行注释、文档注释单行注释:就是指只注释一段代码比如:int number;//定义一个整型变量多行注释:一次性注释多行代码比如:/*int i = 10;double money = 12.9;*/文档注释:文档注释可以被javadoc工具读取出来并形成程序文档的注释格式。比如:/**注释内容*/总结:代码的注释,简单来说...原创 2018-02-18 10:35:50 · 368 阅读 · 0 评论 -
变量和常量
此文章主要用于区分变量和常量,还要区分变量的类型变量:什么是变量?就是在“程序运行的时候”,数据值会发生变化。常量:就是在“程序运行的时候”,数据值不会发生变化。(这里,“程序运行时”是定义上区分变量和常量的前提条件)其实,在变量前面加一个final,就会使得变量成为常量。---------------------------------------------------------------...原创 2018-02-18 11:51:49 · 388 阅读 · 0 评论 -
java的基本数据类型
基本数据类型,又称为元数据类型,有8大分类。1:boolean 就是布尔类型,要么true,要么false2:byte(1字节) 范围:-128--127(因为0算为正数)3:char(2字节) 字符,用单引号包围。比如'a'(“a”双引号的是字符串) 范围:0--255(char的默认值是0的字符,而不是字符0)4:shor...原创 2018-02-18 23:27:45 · 240 阅读 · 0 评论 -
java类型转换
1.java类型转换,为什么会出现?无非就是因为运算时需要数据类型一致才能运算,但是实际开发过程中,常常用到不同的数据类型。所以类型转换就自然产生了。2.类型转换分类 *自动类型转换(隐式类型转换) 条件:目的类型的范围必须比源类型的范围大(解释:就好比如int(源类型)自动转换为long(目的类型),long的范围比int大) 自动转换关系(如...原创 2018-02-18 23:56:40 · 288 阅读 · 0 评论 -
标识符
定义:标识符,通俗来说,在java中,就是字符串;用途:标识符可以用来描述“包”“类”“方法”“变量”“常量”“参数”;组成:标识符由四种东西组成,分别是字母,数字,下划线,美元符号。使用规范:标识符不能以数字开头,就是“1sdf”是错误的。 标识符只能由其余三种符号开头,任意字符组成,长度不限,不能有空格,不能使用关键字(比如interface等)和保留字(比如c...翻译 2018-02-18 00:25:00 · 731 阅读 · 0 评论