Java探讨
小苏叶
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java字符串String的trim()方法源码解析
平常判断一个字符串是不是一个空串,通常都会先调用String类的trim()方法,再判断该字符串的长度是不是0,或者调用String的isEmpty方法判断是不是空串(和判断长度等价)。那么,其实trim()方法就是将一个字符串开头连续的空格和结尾连续的空格消除的方法。下面就通过源码了解一下这个方法的逻辑是如何实现的。首先,贴上trim()方法的源码 public String t...原创 2019-06-20 21:22:25 · 1820 阅读 · 0 评论 -
JVM之类加载机制
在Java中,只有我们创建的类被JVM加载之后,我们才能够使用。一、类加载时机类加载过程:1、加载→2、验证→3、准备→4、解析→5、初始化→6、使用→7、卸载(其中,1,2,3,5,7这几个步骤顺序是确定的,但是解析、使用则没有确定;比如解析阶段不一定必须在初始化之前或者准备之后,它可能出现在初始化之后。)什么情况下JVM会进行类加载操作?1、遇到new、getstatic、...原创 2019-04-10 00:12:28 · 151 阅读 · 0 评论 -
JVM之内存模型以及Java的参数传递
一、Java的内存模型关于Java运行时的内存模型,布局,大部分人了解熟悉的就是堆和栈(这也是我们最关心的俩个区域),然而实际上,JVM的内存模型其实远远不止这两块。实际上,JVM讲内存划分为了5大模块:1、方法区。2、堆。3、JVM栈。4、本地方法栈。5、程序计数器(这5大区域里面,线程私有的是3,4,5这三个模块(即线程自己拥有的空间,其他线程不能访问到的),而线程共享(就是所有线程都能够...原创 2019-03-26 22:33:06 · 445 阅读 · 0 评论 -
JVM之垃圾收集器
Java的垃圾收集器是区别于C++语言的一个重要特征。在C++里面,内存的分配以及回收,都是程序员可控的,这带来的好处就是,只要你处理得当,内存空间就不会存在大量浪费,但同时,这也是C++程序员最痛苦的地方,每一个内存的分配和回收都需要自己去处理,稍不注意就是删库跑路(手动滑稽);而针对这一点,Java就完全将内存的分配以及回收交给了JVM,Java程序员只需要在适当的地方创建对象,分配内存;在对...原创 2019-03-30 10:37:56 · 373 阅读 · 0 评论 -
Java的常用类—String类与Object类
在java编程中,字符串类String可以说用得非常普遍,基本所有java程序都会或多或少的用到String类;而Object类,作为Java中所有类的父类,即使不常直接使用,也会经常使用到其中的方法。下面就讲一讲这两个常用类的基本操作。 String类:可以将字符串常量、变量赋值给String类。其中值得注意的一点是,String类创建的字符串常量其实是共享的。...原创 2018-08-06 23:21:47 · 6456 阅读 · 0 评论 -
String类的trim()方法之不能消除的空格
在后台数据统计清洗中,我们时常会遇到针对字符串的修改的问题,其中比较常见的就是消除字符串中的空格。这里笔者要阐述的不是如何消除字符串中出现的空格,而是在消除字符串中遇到的问题:有些空格不能使用trim()消除掉。这个问题出现的原因在于trim()函数只能消除半角空格,而不能消除全角空格。如果输入的空格是全角空格,那么后台使用trim()是不能清除的。要想消除全角空格,就必须先将全角空格...原创 2018-10-27 12:15:12 · 10726 阅读 · 1 评论 -
Java对日期操作的类(Date、SimpleDateFormat、Calendar)
最近在程序中遇到了一些需要对日期进行操作的问题,在解决问题的同时,也顺便复习巩固下日期类的一些方法:Date、SimpleDateFormat、Calendar。一:三大类的基本概念、部分常用方法介绍与举例(1)Date:表示特定的瞬间,精确到毫秒(因为闰秒的原因,所以其实结果并不是特别的准确,但是如果要求不是特别严格,影响并没有很大。)构造方法:Date()、Date(Long da...原创 2018-08-19 12:24:22 · 9997 阅读 · 0 评论 -
new String(xx)和string = xxx的区别
结论:new String(xxx)会在内存中产生一个新的字符串,即使该字符串已经存在于常量池中,也不会引用已经存在的字符串,会重新生成一个新的字符串,而且重新生成的这个字符串也是不可被引用的(比如,先String a = new String("test"); 再 b = "test",这时,b并不会引用a的值,a和b是不同的,使用==比较结果为false。);string = xxx,如果常量...原创 2019-06-20 21:48:53 · 1870 阅读 · 0 评论
分享