![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
请保持优秀。
大智若愚,勤能补拙。
展开
-
java分析测试代码程序执行时间与消耗内存
最近刷LeetCode题的时候,突然想用idea分析每个程序执行消耗的时间和内存,但是网上搜了一下好像也没明确说明要怎么办的,看了几篇类似的帖子,自己造了一个java单例类,定义了start和end方法来分析两个方法之间代码的执行。代码如下:package LeetCode.util;/** * @author 肖航 * @date 2019/7/18 * @descr...原创 2019-07-18 10:52:43 · 8530 阅读 · 2 评论 -
==、equals和hashcode的区别与联系
首先我们要知道的是:== 比较的是两个对象在java虚拟机中的地址; equals 默认比较的也是两个对象在java虚拟机中的地址,但是我们可以对一个对象的equals方法进行重写,而“==”我们无法重写; hashcode 返回一个对象在java虚拟机中的地址;带着这几个概念,我们一起来走进这三者的“秘密花园”:==“==”无论在什么情况下比较的都是两者...原创 2019-08-16 16:09:18 · 14777 阅读 · 1 评论 -
Java的静态类详解
在Java世界里,经常被提到静态这个概念,static作为静态成员变量和成员函数的修饰符,意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见。最近一个项目里频繁用到static修饰的内部类,再读了一下《Effective Java》才明白为什么会用static来修饰一个内部类也就是本文的中心——静态类。如果一个类要被声明为stati...转载 2019-05-06 20:43:11 · 13448 阅读 · 0 评论 -
从内存方面解析String与StringBuffer的区别
何为Buffer? 英文单词Buffer是缓冲区的意思,什么叫缓冲区? 皇妃要洗澡,浴池里要有花瓣和温度适中的水,水怎么来的?肯定是一桶一桶往里倒的啊!先把用锅烧的水一瓢一瓢的倒到桶里,再把桶里的水倒进皇妃娘娘的浴池里~在这里,这个桶就是缓冲区。String为不可变类型,而StringBuffer为可变类,为什么它可变呢?这就是缓冲区的神奇了。先看代码:String s1 = "Hello";...原创 2019-03-29 09:47:32 · 11043 阅读 · 0 评论 -
线程安全详解
记得今年3月份刚来杭州面试的时候,有一家公司的技术总监问了我这样一个问题,说你给我说说有哪些线程安全的类,我心里一想,呵呵,这我早都背好了,稀里哗啦说了一大堆,那你再来说说什么是线程安全,然后就GG了,说真的,我们整天说线程安全,但是你对什么是线程安全真的了解嘛?说真的,我之前真的是了解甚微,那么我们今天就来聊聊这个问题。再说什么是线程安全之前我们先来聊聊什么是进程。1、什么是进程?先...转载 2019-03-29 09:24:08 · 10292 阅读 · 0 评论 -
JDK与JRE的区别
JDK,开发java程序用的开发包,JDK里面有java的运行环境(JRE),包括client和server端的。需要配置环境变量。。。。JRE,运行java程序的环境,JVM,JRE里面只有client运行环境,安装过程中,会自动添加PATH。大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装,我也建议大家这样做。因为这样更能帮助大家弄清楚它们的区别:Jre 是ja...转载 2019-03-21 19:18:55 · 10254 阅读 · 0 评论 -
什么是字符集编码?字节和不同的编码方式又有什么关系呢?
博主的理解:首先要明白: 8 bit = 1 byte 即八个(位)等于一个(字节),一个位就是一个0或一个1。好多好多的(位)10100101001001010101010101001010100100010组合在一起就成了字节流。这玩意我们看不懂,我们只能看懂字符啊,于是就有了编码方式,就是我们常说的utf-8、ISO8859-1、GBK等,它们只是一种对应关系,比如按ISO88...原创 2019-10-11 16:17:30 · 2674 阅读 · 0 评论