Java基础
记录Java基础学习过程。
越十二
这个作者很懒,什么都没留下…
展开
-
Java基础-volatile关键字
在多核CPU下,为了提高效率,线程在拿值时会优先去CPU缓存中拿,若缓存中没有才会去内存拿。这是因为缓存执行速度更快。但有个问题是,缓存中的值和内存中的值并不是时刻同步的,故而就有可能出现线程拿到的值不是最新的值。而volatile 关键字会触发一种机制,即内存的值别更新后会通知CPU的缓存进行更新,从而保证线程从缓存中拿到的是最新的值。...原创 2021-03-10 14:38:02 · 45 阅读 · 0 评论 -
Java基础-Long类型的缓存机制
Long实现了一种缓存机制,缓存了从-128到127内的Long值,故而使用Long时,推荐使用valueOf方法,少用parseLong方法,因为valueOf 方法会从缓存中去拿值,如果命中缓存,会减少资源的开销,parseLong 方法就没有这个机制。...原创 2021-03-10 14:13:56 · 593 阅读 · 0 评论 -
Java基础-String的split拆分与合并
split提供了两个参数,第一个参数是拆分的标准字符,第二个参数是limit,即需要拆分成几个元素。需要注意的是,拆分结果是返回一个字符串类型的数组String[],而不是String;具体示例如下:可以的到结论是拆分结果里不会出现被拆分的字段,同时还受limit参数的影响。另外拆分对象中存在空值的时候并不会去除而是同样保留下来,示例如下:但平时需求中通常不需要保留空值(虽然也有trim,但是只能去除前后的空格),这时就需要用到第三方的开源API——Guava。以下是网上找到的相关知识与学.原创 2021-03-10 14:07:34 · 2906 阅读 · 0 评论 -
Java基础-String字符的replace、replaceAll、replaceFirst
replace字符替换replacereplaceAll和replaceFirst删除常用的替换方式有replace替换所有字符、replaceAll批量替换字符串、replaceFirst替换遇到的第一个字符串。replace需要注意的是,replace的参数可以单引号(即对单个字符进行替换),也可以双引号(既可以对单个字符也可以多多个字符,即字符串进行转换),示例如图:replaceAll和replaceFirstreplaceAll源码: * @param regex *原创 2021-03-09 13:27:51 · 401 阅读 · 0 评论 -
Java基础-“==“和“equals“相等判断
在Java中有 “==” 和 “equals” 两个可以用做对象或变量的相等判断。先说说操作符 “==”,由于没有找到啥官方文档对该操作符的说明,结合网上所学以及Java核心技术卷的一句解释:总结说就是“==”操作符它判断的是两个对象的引用地址(堆内存)是否相等。当适用于基本数据类型(byte, short, char, int, float, double, long, boolean)及其相应的包装类型(Byte, Short, Charater, Interger, Float, Double原创 2020-11-18 11:54:27 · 409 阅读 · 0 评论 -
Java基础之首字母大小写
在编程时有时会遇到需要将首字母大写或小写的需求(如反射),Java 提供了 toUpperCase() 和 toLowerCase() 两个方法将字母进行大小写转换。除此之外,还有一个 substring() 方法进行截取所需字符串。substring()有两种带参情况:public String substring(int beginIndex, int endIndex)beginIndex:开始位置,endIndex:结束位置;public String substring(int begin原创 2020-11-16 10:49:28 · 1268 阅读 · 0 评论 -
Java基础-JVM、JDK、JRE简述。
1. JVMJVM 即Java Virtual Machine( Java 虚拟机的缩写),是用来运行 Java 字节码(什么是 Java 字节码?)的。只要字节码相同,它能做到“一次编译,到处运行。”字节码即(在Java中)JVM可以理解的代码(.class文件)。/* javac即java编译器 */2. JDKJDK即 Java Development Kit( Java 开发工具包的缩写),包含了 ( JRE )Java 的运行环境( JVM + Java 系统类库)和 Java原创 2020-11-10 09:33:15 · 188 阅读 · 0 评论 -
Java基础学习之String篇--不变性
String(字符串)类,一个非常基础又很常使用的基础类。遇事不决,先百度:既然是菜鸟入门,当然也要去菜鸟教程看看:看了之后会发现一点,都在强调String的不可变性。不可变?可是感觉自己用的时候明明可以不断的改变字符串值。怎么就不可变?例如:String str = "Test";->str = "test";这是完全可运行的。那不可变从何说起?探索一下:在IDE中ctrl+鼠标左键点击String进入源码界面:只看它的开头就行(主要是其他也看不明白。。。),会发现首先它本身就原创 2020-10-25 10:02:05 · 143 阅读 · 0 评论