关于Java 里的String和对象】的更多相关文章

之前老师在课堂上讲过关于Java的引用,但是很遗憾,木有认真听啊,所以就在学习Java的过程中迷惑迷惑...最近好像明白一点Java的引用是怎么回事了.以下仅是我个人的理解,如果不对,还请不吝赐教. 一.String String创建的String对象会放入到一个String池子里,对于一些可以共享的字符串对象,会先在String池子中查找是否存在相同的String内容(字符相同),如果有就直接返回,而不是直接创建一个新的String对象,以减少内存的耗用. String s1 = "Hello…
转自:http://blog.sina.com.cn/s/blog_6675493d0100lbfl.html Timestamp转化为String: SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒 Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间 String str = df.forma…
Timestamp转化为String: SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒 Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间 String str = df.format(now);   String转化为Timestamp: SimpleDateFormat df = new…
今天在看<图解设计模式>,里面出了一个问题“String类用final修饰,导致它无法被继承(扩展),这样做违反了开闭原则,这么做有什么正当理由?” 答案是效率和安全性  首先是效率,由于String类它基本上是最频繁使用的几个类之一,如果使用的不好,会出现很明显的性能问题.所以干脆做成final类的.可以在JVM里做很多优化(比如放在栈中重用),类似的还有StringBuilder,虽然都是操作字符串,但是存放机制和使用场景都不同. 另外再说安全性,引用网上一段段“Java并不是操作系统本地…
Java中String类细节问题 (考察点Java内存分配问题) 1. String str1 = "abc";   System.out.println(str1 == "abc"); 步骤: 1) 栈中开辟一块空间存放引用变量str1, 2) String池中开辟一块空间,存放String常量"abc", 3) 引用str1指向池中String常量"abc", 4) str1所指代的地址即常量"abc"…
public class TestBytes { private static String FORMAT = "UTF-8"; public static void main(String[] args) throws UnsupportedEncodingException { byte[] bytes = new byte[] { 50, 0, -1, 28, -24 }; String sendString=new String( bytes ,FORMAT); byte[]…
像我们搞计算机这块的,都知道这么一件事,当前的计算机编程语言主要分为两大块,一为面向过程,二为面向对象.Java就是一门纯面向对象的语言.学习了一个月左右的Java,在下对于Java当中的类和对象有了基本的认识.接下来我就来谈谈自己的看法,各位大神勿喷,新手小白敬上. 既然谈到类和对象,首先,我们要明确一个概念.那就是,什么叫类?什么是对象? 首先让我们来谈谈什么叫类.类是一个比较抽象的概念,如何给它定义,是一个难题.我们通常这样称呼它,模板.是的,它代表了具有相同属性.行为等的一种事物.就比如…
前些天面试遇到一个非常难的关于String的问题,"String为何被设计为不可变的"?类似的问题也有"String为何被设计为final?"个人认为还是前面一种问法更准确,设计成final仅仅保证了String类不能被继承,而Immutable相对于final要严格的多,关于对Immutable的理解可以参考这里. 下文主要翻译自:http://java67.blogspot.sg/2014/01/why-string-class-has-made-immutab…
写在前面 最近小伙伴加群时,我总是问一个问题:Java中的String类占用多大的内存空间?很多小伙伴的回答着实让我哭笑不得,有说不占空间的,有说1个字节的,有说2个字节的,有说3个字节的,有说不知道的,更让人哭笑不得的是竟然还有人说是2的31次方.那如果真是这样的话,服务器的内存空间还放不下一个字符串呀!作为程序员的我们,可不能闹这种笑话呀.今天,我们就一起来聊聊Java中的String到底占用多大的内存空间! Java对象的结构 首先,我们来下Java对象在虚拟机中的结构,这里,以HotSp…
java里一共有八大数据类型 boolean(未定) char(2字节) byte(1字节) short(2字节) int(4字节) long(8字节) float(4字节) double(8字节),还有与之对应的包装类 Boolean Character Byte Short Integer Long Float Double, 基本数据与包装类之间的转换叫做装箱与拆箱 Integer i = new Integer(10);//装箱这个在java1.5之前只能这样new一个出来 Intege…