- 浏览: 5052569 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (2844)
- java (1094)
- hadoop (37)
- jvm (39)
- hbase (11)
- sql (25)
- 异常 (83)
- div css (6)
- 数据库 (95)
- 有趣的code (15)
- struts2 (6)
- spring (124)
- js (44)
- 算法 (65)
- linux (36)
- hibernate (7)
- 中间件 (78)
- 设计模式 (2)
- 架构 (275)
- 操作系统 (91)
- maven (35)
- tapestry (1)
- mybatis (9)
- MQ (101)
- zookeeper (18)
- 搜索引擎,爬虫 (208)
- 分布式计算 (45)
- c# (7)
- 抓包 (28)
- 开源框架 (45)
- 虚拟化 (12)
- mongodb (15)
- 计算机网络 (2)
- 缓存 (97)
- memcached (6)
- 分布式存储 (13)
- scala (5)
- 分词器 (24)
- spark (104)
- 工具 (23)
- netty (5)
- Mahout (6)
- neo4j (6)
- dubbo (36)
- canal (3)
- Hive (10)
- Vert.x (3)
- docker (115)
- 分布式追踪 (2)
- spring boot (5)
- 微服务 (56)
- 淘客 (5)
- mesos (67)
- php (3)
- etcd (2)
- jenkins (4)
- nginx (7)
- 区块链 (1)
- Kubernetes (92)
- 驾照 (1)
- 深度学习 (15)
- JGroups (1)
- 安全 (5)
- 测试 (16)
- 股票 (1)
- Android (2)
- 房产 (1)
- 运维 (6)
- 网关 (3)
最新评论
-
明兜3号:
部署落地+业务迁移 玩转k8s进阶与企业级实践技能(又名:Ku ...
Kubernetes系统常见运维技巧 -
q328965539:
牛掰啊 资料收集的很全面
HDFS小文件处理解决方案总结+facebook(HayStack) + 淘宝(TFS) -
guichou:
fluent挂载了/var/lib/kubelet/pods目 ...
kubernetes上部署Fluentd+Elasticsearch+kibana日志收集系统 -
xu982604405:
System.setProperty("java.r ...
jmx rmi 穿越防火墙问题及jmxmp的替代方案 -
大漠小帆:
麻烦问下,“获取每个Item相似性最高的前N个Item”,这个 ...
协同过滤推荐算法在MapReduce与Spark上实现对比
public class StringTest { public static void main(String[] args)throws Exception { //String s = "1"; //String s2 = "5"; //String s2 = "2"; //String s12 = "12"; //String s22=s+s2; String s2 = "1"; System.out.println("没改前的值=="+s2); System.out.println(s2=="1"); c(s2); System.out.println("改了后的值=="+s2); System.out.println(s2=="1"); //System.out.println(s12.equals(s22)); //System.out.println(s.hashCode()); //System.out.println(s2.hashCode()); //System.out.println(s.equals(s2)); //System.out.println(s2==s); } public static void c(String s)throws Exception{ Field f = s.getClass().getDeclaredField("value"); f.setAccessible(true); Object o = f.get(s); char[] c = (char[]) o; //System.out.println(o); f.set(s, "5".toCharArray()); Object o2 = f.get(s); //System.out.println(o2); } }
评论
4 楼
m635674608
2013-05-15
zhdkn 写道
m635674608 写道
zhdkn 写道
佩服
System.out.println("改了后的值=="+s2); // 输出:改了后的值==5
System.out.println(s2=="1"); // 输出:true
----------------------------------------------------------
然后我输出 System.out.println("1"); //输出了 5
还真把字符串 "1"的地址里面的值改成了 5
System.out.println("改了后的值=="+s2); // 输出:改了后的值==5
System.out.println(s2=="1"); // 输出:true
----------------------------------------------------------
然后我输出 System.out.println("1"); //输出了 5
还真把字符串 "1"的地址里面的值改成了 5
string是不是可以变的????
还是按照大众的理解吧,String是不可变的,再加上一句:但是如果采用特殊手段也能让它可变。
哈哈哈哈哈,,,,也是
3 楼
zhdkn
2013-05-15
m635674608 写道
zhdkn 写道
佩服
System.out.println("改了后的值=="+s2); // 输出:改了后的值==5
System.out.println(s2=="1"); // 输出:true
----------------------------------------------------------
然后我输出 System.out.println("1"); //输出了 5
还真把字符串 "1"的地址里面的值改成了 5
System.out.println("改了后的值=="+s2); // 输出:改了后的值==5
System.out.println(s2=="1"); // 输出:true
----------------------------------------------------------
然后我输出 System.out.println("1"); //输出了 5
还真把字符串 "1"的地址里面的值改成了 5
string是不是可以变的????
还是按照大众的理解吧,String是不可变的,再加上一句:但是如果采用特殊手段也能让它可变。
2 楼
m635674608
2013-05-15
zhdkn 写道
佩服
System.out.println("改了后的值=="+s2); // 输出:改了后的值==5
System.out.println(s2=="1"); // 输出:true
----------------------------------------------------------
然后我输出 System.out.println("1"); //输出了 5
还真把字符串 "1"的地址里面的值改成了 5
System.out.println("改了后的值=="+s2); // 输出:改了后的值==5
System.out.println(s2=="1"); // 输出:true
----------------------------------------------------------
然后我输出 System.out.println("1"); //输出了 5
还真把字符串 "1"的地址里面的值改成了 5
string是不是可以变的????
1 楼
zhdkn
2013-05-14
佩服
System.out.println("改了后的值=="+s2); // 输出:改了后的值==5
System.out.println(s2=="1"); // 输出:true
----------------------------------------------------------
然后我输出 System.out.println("1"); //输出了 5
还真把字符串 "1"的地址里面的值改成了 5
System.out.println("改了后的值=="+s2); // 输出:改了后的值==5
System.out.println(s2=="1"); // 输出:true
----------------------------------------------------------
然后我输出 System.out.println("1"); //输出了 5
还真把字符串 "1"的地址里面的值改成了 5
发表评论
-
Kryo 使用指南
2017-12-05 20:14 20531、Kryo 的简介 Kryo 是一个快速序列化/ ... -
spring session序列化问题排查
2017-12-01 19:07 6293严重: Servlet.service() for ser ... -
利用junit对springMVC的Controller进行测试
2017-11-30 16:26 1459平时对junit测试service/D ... -
Java内存模型之重排序
2017-11-29 09:44 870在执行程序时,为了提供性能,处理器和编译器常常会对指令进行重 ... -
pmd spotbugs 文档
2017-11-28 10:02 0https://pmd.github.io/pmd/pmd ... -
PMD、FindBug、checkstyle、sonar这些代码检查工具的区别?各自的侧重点是什么?
2017-11-28 10:01 2153可以说都是代码静态分析工具,但侧重点不同。pmd:基于源代码 ... -
阿里巴巴Java代码规约插件p3c-pmd使用指南与实现解析
2017-11-23 17:09 1613阿里巴巴Java代码规约插件安装 阿里Java代码规 ... -
静态分析工具PMD使用说明 (文章来源: Java Eye)
2017-11-23 17:07 1152质量是衡量一个软件是否成功的关键要素。而对于商业软件系统,尤 ... -
MyBatis 使用 MyCat 实现多租户的一种简单思路
2017-11-20 18:27 2854本文的多租户是基于多数据库进行实现的,数据是通过不同数据库进 ... -
Spring+MyBatis实现数据库读写分离方案
2017-11-20 17:15 1110百度关键词:spring mybatis 多数据源 读写分离 ... -
数据库连接池druid wallfilter配置
2017-11-20 11:38 1360使用缺省配置的WallFilter <be ... -
java restful 实体封装
2017-11-16 09:47 1611package com.mogoroom.bs.commo ... -
dak
2017-11-15 11:21 0package zzm; import jodd.ht ... -
Java内存模型之从JMM角度分析DCL
2017-11-15 09:35 648DCL,即Double Check Lock,中卫双重检查锁 ... -
Java 打印堆栈的几种方法
2017-11-14 09:36 4770java 中可以通过 eclipse 等工具直接打印堆栈, ... -
Servlet Session学习
2017-11-10 09:25 562HTTP 是一种"无状 ... -
浅析Cookie中的Path与domain
2017-11-10 09:26 1069Path – 路径。指定与co ... -
入分析volatile的实现原理
2017-11-08 09:47 696通过前面一章我们了解了synchronized是一个重量级的 ... -
Spring MVC-ContextLoaderListener和DispatcherServlet
2017-11-15 09:35 698Tomcat或Jetty作为Servlet ... -
搭建spring框架的时候,web.xml中的spring相关配置,可以不用配置ContextLoaderListener(即只配DispatcherServl
2017-11-07 18:27 1443搭建spring框架的时候,web.xml中的sprin ...
相关推荐
Java中的String类是不可变的,这意味着一旦创建了一个String对象,就不能改变它的内容。这个特性是由几个关键的设计决策和语言特性共同决定的。首先,String类被声明为final,这防止了其他类对其进行子类化并改变其...
String对象不可变,无法修改 ``` 这段代码是错误的,因为 `String` 对象的字符内容是不可变的,不能通过 `charAt` 或其他方法直接修改其内容。 ##### (3) 举例3 利用 `StringBuilder` 或 `StringBuffer` 修改字符...
- B选项错误,因为String是不可变对象,不能通过索引操作符访问字符。 - C选项正确,toUpperCase()是String的方法,用于将字符串转换为大写。 - D选项错误,String对象不能进行减法运算。 5. 在// point x处的...
在Java中,对String对象进行任何修改(如添加、删除或替换字符)都会生成一个新的String对象,这在处理大量字符串操作时可能会导致性能下降,因为频繁的对象创建会消耗更多的内存和时间。 StringBuffer和...
在Python中,不可变类型包括数字(Number)、字符串(String)和元组(Tuple)。这里我们关注数字类型: - **数字(Number)**:在Python中,数字是不可变的。这意味着,如果你创建了一个数字对象,然后尝试修改它...
在Java中,String是不可变对象的示例。 13. 如何编写一个排序程序? 可以使用Java中的Arrays类或Collections类来编写一个排序程序。 14. 如何编写一个反排序程序? 可以使用Java中的Arrays类或Collections类来...
这些属性可以是基本类型(如int、String等),也可以是其他类的对象。 - **方法**:方法定义了对象的行为。它们是实现对象特定功能的函数。 2. **对象的属性模式**:在面向对象编程中,对象通常采用JavaBean模式,...
19. 元组与列表:元组是不可变序列,适合存储不可变数据,可用作字典的键;列表是可变序列,适合动态存储和操作数据。 20. 字型风格属性:在文字处理中,正常、斜体、粗体属于字型风格属性,颜色则不属于。 以上...
该资源提供了Java面试题的答案,涵盖了Java基础知识点,包括内存溢出、String对象、垃圾回收、Error、Exception和RuntimeException的区别、hashCode的作用、HashMap和Hashtable的区别、Reader和InputStream的区别、...
- `String`表示不可变字符串,一旦创建后无法更改。 - `StringBuffer`表示可变字符串,可以通过各种方法修改字符串内容。 10. **Java的垃圾回收机制**: - 当对象不再被引用时,垃圾回收器会自动释放其占用的...
- **线程安全性**:不可变对象天生具备线程安全特性,不需要额外的同步措施。 - **编译器优化**:对于不可变值,编译器更容易进行优化。 - **减少bug**:不可变数据结构减少了因状态变化导致的bug。 3. **从...
- 当对象中不包含可变的引用类型或者不需要对象间的完全隔离时,可以使用浅拷贝。 - 如果需要保证对象间的完全独立性,避免相互影响,则应该使用深拷贝。 #### 其他拷贝方式 除了通过实现`Cloneable`接口和利用...
- `var`用于声明可变变量,`val`用于声明不可变变量。例如:`var age: Int = 0`、`val num = 20`。 - 类型推断:当类型可以从初始值推断出来时,可以省略类型声明,如`var num = 20`。 - 类型明确声明:如`var ...
答案是,可以,但是要key对象必须是不可变的对象,不然在Entry被插入Map中后,再改变key值,会导致当前key值与hash值不符,即与数组索引不符,将无法被查找到。 9. 启动一个线程是用run()还是start()? 答案是,用...
6. **对象序列化和反序列化**: `SerializationUtils`类提供了对象的序列化和反序列化功能,这对于持久化数据或在网络间传输对象非常有帮助。 7. **过滤器和迭代器**: Commons IO 提供了多种过滤器,如`...
在C#编程中,字符串是一种特殊的引用类型,它拥有一个内部不可变的特性。当程序代码中出现两个或多个相同的字符串字面量时,CLR(公共语言运行时)会确保它们在内存中仅存在一份实例。 首先,我们来了解一下什么是...
12. **Java SE 6新特性**:了解Java 6引入的新功能,如增强for循环、枚举类型、可变参数、动态代理等。 《ActualTests 310-055 v2007-07-09.pdf》这个文件名表明这是一份实际测试题库,包含了模拟试题和可能的解答...
不可变对象是创建后其状态不能改变的对象,例如Java中的String。 13. **如何编写排序程序?** 可以使用Java内置的`Arrays.sort()`或Collections的`sort()`方法对数组或集合进行排序,也可以自定义排序算法,如...