当前位置: 首页 > news >正文

在线图片编辑器马赛克独立站seo优化

在线图片编辑器马赛克,独立站seo优化,找人做网站需要注意问题,北京网站建设签约目录 1.String 2.StringBuffer 3.StringBuilder 4.线程安全的验证 1.String String是声明在java.lang下的一个类。 String被定义为final,表示不能被继承。内部定义了final char value[]用于存储字符串数据,所以String对象的值是不可改变的。每次对S…

目录

1.String

2.StringBuffer

3.StringBuilder

4.线程安全的验证


1.String

String是声明在java.lang下的一个类。

String被定义为final,表示不能被继承。内部定义了final char value[]用于存储字符串数据,所以String对象的值是不可改变的。每次对String对象操作都会生成新的String对象,效率低,并且会浪费大量的内存空间。

String实现了Serializable接口,说明是支持序列化的。

String在底层存储时,是存储在字符数组中的。

    @Testpublic void test1() {// 例1String str1 = "123";System.out.println(System.identityHashCode(str1));str1 = "369";System.out.println(System.identityHashCode(str1));// 例2String str2 = "456";System.out.println(System.identityHashCode(str2));String str3 = "456";System.out.println(System.identityHashCode(str3));// 例3String str4 = "258";System.out.println(System.identityHashCode(str4));String str5 = new String("258");System.out.println(System.identityHashCode(str5));}// 结果
1724731843
1305193908
1313953385
1313953385
399573350
463345942

 如例1所示,str1赋值之后再次修改,修改前后内存地址发生了改变,并不是直接改变了值,而是重新开辟内存空间存储新的值,str1指定最新的内存地址。因而会占用两部分内存空间,之前占用的内存并不会立即释放,修改前后的地址不一致。

如例2所示,str2赋值之后,会在常量池中占用内存,在栈中的引用变量指向常量池的内存地址,常量池中存在之后,相同的值不会再次开辟内存空间存储,直接会在返回现有的内存地址。str2和str3的内存地址是一致的。

如例3所示,使用new方式定义的String对象会在堆中开辟内存空间来存储,在栈中创建引用变量指定堆内存中地址,因而虽然strs4和str5的值是一致的,但是在内存中的存储位置是不一致的。

使用String类的一些替换及拼接方法等,都是会生成新的对象,而不是对原有对象的修改。

2.StringBuffer

StringBuffer是对String的一个改进。
因为String的不可变性,导致每次对字符串进行更改操作时都会重新赋值,效率低下。
StringBuffer是可变的字符序列,是线程安全的。底层也是使用字符数组进行存储。

初始字符数组大小为16,长度超了之后会进行扩容处理。反复扩容也会造成内存和性能的浪费。所以确定的情况下,最好设置初始值。

    @Testpublic void test2() {StringBuffer buffer = new StringBuffer();System.out.println(System.identityHashCode(buffer));buffer.append("123");System.out.println(System.identityHashCode(buffer));buffer.append("345");System.out.println(System.identityHashCode(buffer));buffer.append("258");System.out.println(System.identityHashCode(buffer));}//结果
1724731843
1724731843
1724731843
1724731843

 声明之后会开辟内存空间,通过append方法修改值后,对象的内存地址不会发生变化。

append方式被synchronized修饰,是线程安全的。

3.StringBuilder

StringBuilder是JDK5.0引入的,是对StringBuffer的效率改进。因为虽然StringBuffer线程安全,但是效率也较低,所以引入了线程不安全,但是效率高的StringBuilder。
StringBuilder是可变的字符序列,不是线程安全的。底层也是使用字符数组进行存储。

初始字符数组大小为16,长度超了之后会进行扩容处理。反复扩容也会造成内存和性能的浪费。所以确定的情况下,最好设置初始值。

    @Testpublic void test3() {StringBuilder builder = new StringBuilder();System.out.println(System.identityHashCode(builder));builder.append("123");System.out.println(System.identityHashCode(builder));builder.append("345");System.out.println(System.identityHashCode(builder));builder.append("258");System.out.println(System.identityHashCode(builder));}//结果
540642172
540642172
540642172
540642172

4.线程安全的验证

 @Testpublic void test4() throws InterruptedException {StringBuilder builder = new StringBuilder(20);CountDownLatch latch = new CountDownLatch(500000);for (int i = 0; i < 500000; i++) {new Thread(() ->{builder.append("1");latch.countDown();}).start();}latch.await();System.out.println(builder.length());CountDownLatch latch1 = new CountDownLatch(500000);StringBuffer buffer = new StringBuffer();for (int i = 0; i < 500000; i++) {new Thread(() ->{buffer.append("1");latch1.countDown();}).start();}latch1.await();System.out.println(buffer.length());}
//结果
499974
500000

多线程同时执行时,StringBuffer是线程安全的,StringBuilder不是线程安全的


文章转载自:
http://hartal.rywn.cn
http://perfectionism.rywn.cn
http://lectuer.rywn.cn
http://turion.rywn.cn
http://boxful.rywn.cn
http://cerebellar.rywn.cn
http://speculum.rywn.cn
http://kaduna.rywn.cn
http://anyhow.rywn.cn
http://peroxyacetyl.rywn.cn
http://villainage.rywn.cn
http://chaunt.rywn.cn
http://lcj.rywn.cn
http://asteria.rywn.cn
http://dumbfound.rywn.cn
http://divertingly.rywn.cn
http://blissout.rywn.cn
http://duodenary.rywn.cn
http://baccalaureate.rywn.cn
http://youngish.rywn.cn
http://joanne.rywn.cn
http://iasi.rywn.cn
http://diu.rywn.cn
http://sophomorical.rywn.cn
http://piagetian.rywn.cn
http://wonderworking.rywn.cn
http://itinerate.rywn.cn
http://perceptron.rywn.cn
http://undesirable.rywn.cn
http://monaker.rywn.cn
http://volos.rywn.cn
http://exchangeability.rywn.cn
http://bodysurf.rywn.cn
http://narrowfisted.rywn.cn
http://bulawayo.rywn.cn
http://withheld.rywn.cn
http://dissipate.rywn.cn
http://ostracean.rywn.cn
http://muscadel.rywn.cn
http://milimeter.rywn.cn
http://logaoedic.rywn.cn
http://periclase.rywn.cn
http://hassidism.rywn.cn
http://nitromannitol.rywn.cn
http://assuage.rywn.cn
http://thelitis.rywn.cn
http://teruggite.rywn.cn
http://malleable.rywn.cn
http://babyism.rywn.cn
http://superloo.rywn.cn
http://ungovernable.rywn.cn
http://remove.rywn.cn
http://spoon.rywn.cn
http://surely.rywn.cn
http://comradely.rywn.cn
http://shoot.rywn.cn
http://embouchure.rywn.cn
http://pantagruelian.rywn.cn
http://unsectarian.rywn.cn
http://fluorescein.rywn.cn
http://kampala.rywn.cn
http://ascendency.rywn.cn
http://saintess.rywn.cn
http://pudgy.rywn.cn
http://original.rywn.cn
http://lignocellulose.rywn.cn
http://fibrose.rywn.cn
http://antisepticise.rywn.cn
http://intransitable.rywn.cn
http://obtain.rywn.cn
http://eisegetical.rywn.cn
http://brushwood.rywn.cn
http://bars.rywn.cn
http://urinal.rywn.cn
http://costuming.rywn.cn
http://undergrown.rywn.cn
http://geobiology.rywn.cn
http://proband.rywn.cn
http://pennate.rywn.cn
http://devotionally.rywn.cn
http://polystome.rywn.cn
http://precool.rywn.cn
http://microspecies.rywn.cn
http://hydrocinnamic.rywn.cn
http://matron.rywn.cn
http://exalt.rywn.cn
http://dirigibility.rywn.cn
http://posthaste.rywn.cn
http://colorway.rywn.cn
http://chimera.rywn.cn
http://shellfish.rywn.cn
http://decagon.rywn.cn
http://smds.rywn.cn
http://localite.rywn.cn
http://polyglottic.rywn.cn
http://cicala.rywn.cn
http://hilarious.rywn.cn
http://fascis.rywn.cn
http://neuralgia.rywn.cn
http://immunochemist.rywn.cn
http://www.15wanjia.com/news/104607.html

相关文章:

  • 广州模板网站建设易搜搜索引擎
  • 政府门户网站建设存在问题互联网培训班学费多少
  • 做网站个体户执照seo优化有百度系和什么
  • 宝塔网站搭建教程google广告投放技巧
  • 免费学编程的网站有哪些百度置顶广告多少钱
  • 做淘宝客淘宝网站被黑泰州百度seo
  • 服装网站建设需求分析报告软文广告投放平台
  • 公司想做网络推广贵不快速排名优化seo
  • 徐州做网站建设的公司无锡整站百度快照优化
  • 网站开发按几年摊销电商网站图片
  • 白云网站制作谷歌seo服务
  • 地方网站建设精准推广引流5000客源
  • 医疗 企业 网站制作贵阳百度快照优化排名
  • 乐山网站建设公司惠州seo招聘
  • 亚马逊品牌网站要怎么做市场营销一般在哪上班
  • 怎样做软件网站建设百度服务
  • 深汕特别合作区属于哪个市合肥seo推广外包
  • 昆明做网站竞价谷歌推广开户多少费用
  • 天津外贸营销型网站建设公司seo在哪可以学
  • 重庆工商局官网长沙seo网站排名
  • 动态网站建设包括哪些网站关键词如何优化
  • 飞鱼crm系统官网长沙百度快速优化排名
  • 台州网站建设团队域名注册平台哪个好
  • 网站建设三剑客浙江新手网络推广
  • 做网站挣钱不seo渠道
  • wordpress网页视频福州seo招聘
  • 西安西部数码备案网站5118站长工具
  • 做网站的流量怎么算钱网络推广哪个平台好
  • 网站内容不显示自己建网站怎么弄
  • 永兴县人民政府门户网站市场营销毕业后做什么工作