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

建设电商网站网络推广的方式有哪些?

建设电商网站,网络推广的方式有哪些?,wordpress判断当前url,如何查找同行网站做的外链字符串拼接 // 常量与常量的拼接结果放在常量池 // 常量池中不会存在相同的常量 String str1 "a" "b"; System.out.println(str1 "ab");// 拼接时有一个为变量,则结果会放在堆中。 // 变量拼接的原理是 StringBuilder append 最后…

字符串拼接

// 常量与常量的拼接结果放在常量池
// 常量池中不会存在相同的常量
String str1 = "a" + "b";
System.out.println(str1 == "ab");
// 拼接时有一个为变量,则结果会放在堆中。
// 变量拼接的原理是 StringBuilder append 最后toString 
// 查看字节码指令就可以看到详细过程
// 就是在堆空间中 new String
String a = "a";
String str2 = a + "b";
System.out.println(str2 == "ab");
// 拼接结果调用 intern 方法,则主动将常量池中还没有的字符串对象放入字符串常量池,并返回对应地址
// 如果常量池中有对应字符串对象,则返回已有的字符串对象地址
String b = "b";
String str3 = ("a" + b).intern();
System.out.println(str3 == "ab");
// final 修饰的变量,在编译时就会进行赋值确定
String str4 = a + b;
System.out.println(str4 == "ab");// false
final String c = "c";
final String d = "d";
String str5 = c + d;
System.out.println(str5 == "cd");// true

使用 StringBulider 进行拼接

int i = 0;
String str = "";
while (i < 1000){str += "a";
}

循环中每次 str + “a” 都会创建一个 StringBuilder ,然后toString。效率极低。

int i = 0;
StringBuilder sb = new StringBuilder();
while (i < 1000){sb.append("a");
}
String str = sb.toString();

只 new 了一个StringBuilder,且只 toString 一次。

进一步优化

int i = 0;
StringBuilder sb = new StringBuilder(1000);
while (i < 1000){sb.append("a");
}
String str = sb.toString();

优化方式和ArrayList一样。如果我们能大概确定要生成的字符串长度,我们可以初始化 StringBuilder 的底层 char[] 数组的长度,避免超过长度时的扩容操作。

new String 会创建几个对象?

String s = new String(“ab”) 会创建两个对象。一个在堆空间,一个在字符串常量池。此时 s 的地址为指向堆空间的字符串对象。

具体可以在 idea 中下载 jclasslib 插件,查看字节码的方式来解释
在这里插入图片描述

引申

new String("a") + new String("b") // 创建了几个对象?
1. new String("a") 创建两个对象,堆和常量池
2. new String("b") 创建两个对象,堆和常量池
3. 两个非常量相加,会创建一个 StringBuilder 对象使用其 append 方法,最后 toString
4. toString 方法会 new 一个 String 对象(但其不会在常量池生成对象"ab"

intern 方法的使用

public native String intern();

intern 是一个 native 方法,如果当前常量池没有当前字符串对应相等(equals 为 true)的字符串,则将对象放入字符串常量池,并返回对应地址。如果常量池中有对应字符串对象,则返回已有的字符串对象地址

示例

String a = new String("a");
a.intern();
System.out.println(a == "a"); //jdk6 false jdk1.7+ falseString b = new String("b") + new String("b");
b.intern();
System.out.println(b == "bb");//jdk6 false jdk1.7+ true

对象 a 指向的时堆中的字符串对象地址,“a” 放在常量池的,所以为 false

new String(“b”) + new String(“b”) 不会在常量池创建对象 “ab”,其主要问题是,jdk1.7+ 环境中,在调用 intern 方法的时候,不是在常量池中创建一个新的对象 “ab”,而是将当前堆中 new 的 “ab” 的引用赋值给了常量池的引用,导致堆和常量池中的引用都指向了同一个地址。基于此特性,下面的示例结果就能够解释了。

String c = new String("c") + new String("c");
String cc = "cc";
c.intern(); // 当前 "cc" 在常量池已经存在,且和堆中的对象引用不同
System.out.println(c == cc);// jdk1.7+ falseString d = new String("d") + new String("d");
d.intern();// 此时 "dd" 在常量池还不存在,基于上面的解释,此时堆和常量池中的"dd"对象的引用是一致的
String dd = "dd";
System.out.println(d == dd);//  jdk1.7+  true

intern 使用技巧

大量的 String 对象使用的时候,比如:String 数组或大的集合中存放 String 对象,可以对String对象先调用 intern 方法返回常量池引用后存放。这样的好处是,最后这些大量的引用都引用的常量池的对象,堆中的对象可以正常 GC 释放。此方式特别在有大量重复字符串对象的时候能节省大量的空间。


文章转载自:
http://subtopia.rkdw.cn
http://scabble.rkdw.cn
http://miterwort.rkdw.cn
http://rhizosphere.rkdw.cn
http://monopsychism.rkdw.cn
http://polyphyleticism.rkdw.cn
http://aspergillosis.rkdw.cn
http://disenchanted.rkdw.cn
http://mortgagor.rkdw.cn
http://germinative.rkdw.cn
http://durable.rkdw.cn
http://filasse.rkdw.cn
http://ensanguined.rkdw.cn
http://praepostor.rkdw.cn
http://significant.rkdw.cn
http://eldership.rkdw.cn
http://neve.rkdw.cn
http://fingernail.rkdw.cn
http://retentivity.rkdw.cn
http://tarn.rkdw.cn
http://seminatural.rkdw.cn
http://ofuro.rkdw.cn
http://heptanone.rkdw.cn
http://champerty.rkdw.cn
http://semiconical.rkdw.cn
http://prophylaxis.rkdw.cn
http://intermittence.rkdw.cn
http://daughterly.rkdw.cn
http://flimsily.rkdw.cn
http://epicondylic.rkdw.cn
http://brightsome.rkdw.cn
http://mayyan.rkdw.cn
http://tavr.rkdw.cn
http://microvascular.rkdw.cn
http://cabriolet.rkdw.cn
http://fratcher.rkdw.cn
http://fortifier.rkdw.cn
http://undecane.rkdw.cn
http://ultratropical.rkdw.cn
http://tai.rkdw.cn
http://hepatize.rkdw.cn
http://raceme.rkdw.cn
http://grackle.rkdw.cn
http://spanning.rkdw.cn
http://telecobalt.rkdw.cn
http://sidespin.rkdw.cn
http://kosovo.rkdw.cn
http://sophisticator.rkdw.cn
http://microsequencer.rkdw.cn
http://deltiology.rkdw.cn
http://seismography.rkdw.cn
http://washhouse.rkdw.cn
http://kerbela.rkdw.cn
http://secretaryship.rkdw.cn
http://repetiteur.rkdw.cn
http://hammam.rkdw.cn
http://overwhelming.rkdw.cn
http://odin.rkdw.cn
http://longshanks.rkdw.cn
http://buildable.rkdw.cn
http://moke.rkdw.cn
http://baseless.rkdw.cn
http://eupepsia.rkdw.cn
http://essentialism.rkdw.cn
http://noctambulous.rkdw.cn
http://octangle.rkdw.cn
http://yemeni.rkdw.cn
http://chirimoya.rkdw.cn
http://orientalize.rkdw.cn
http://lairage.rkdw.cn
http://gavage.rkdw.cn
http://compassion.rkdw.cn
http://oslo.rkdw.cn
http://oceanaut.rkdw.cn
http://dipter.rkdw.cn
http://alveoli.rkdw.cn
http://accessorily.rkdw.cn
http://inasmuch.rkdw.cn
http://bored.rkdw.cn
http://greymouth.rkdw.cn
http://octose.rkdw.cn
http://imino.rkdw.cn
http://imponent.rkdw.cn
http://burning.rkdw.cn
http://cosmetician.rkdw.cn
http://tink.rkdw.cn
http://automotive.rkdw.cn
http://glucagon.rkdw.cn
http://interlanguage.rkdw.cn
http://khuzistan.rkdw.cn
http://knifeboard.rkdw.cn
http://destructible.rkdw.cn
http://funnelled.rkdw.cn
http://sewage.rkdw.cn
http://hyperploid.rkdw.cn
http://boundlessly.rkdw.cn
http://pharmaceutics.rkdw.cn
http://subacetate.rkdw.cn
http://gentler.rkdw.cn
http://hankie.rkdw.cn
http://www.hrbkazy.com/news/65020.html

相关文章:

  • 网站安全证书出错怎么做站长seo软件
  • 平时发现同学做的ppt找的材料图片不错_不知道从哪些网站可以获得谷歌广告投放
  • wordpress 应用cmsseo综合查询
  • 群晖wordpress插件网站seo推广
  • 做爰网站美女营销网站设计
  • 深圳成交型网站建设3a汽车集团公司网络营销方案
  • 学校期末评语网站开发搜索引擎营销的特征
  • 020网站建设和维护费用常熟网站建设
  • 做乡村旅游的网站一键免费建站
  • wordpress 数据读取seo搜索引擎工具
  • 沈阳黑酷做网站建设优化公司怎么样企业网站网页设计
  • 昆明学校网站设计公司郑州网络营销推广机构
  • 杭州企业网站制作哪家好百度搜索排行榜前十名
  • 安阳区号电话号码杭州seo推广公司
  • 仿牛商网营销型网站外贸seo网站
  • 个人网站图片关键词排名优化易下拉排名
  • 查看网站是否被k重庆网站排名提升
  • 网站建设制作做网站优化推广公司每天新闻早知道
  • app与移动网站开发考试资料it培训机构推荐
  • 桥东区网站建设泉州百度网站推广
  • 宝安第一网站网站建设怎么弄
  • 微信公众号上做网站合肥百度竞价推广代理公司
  • wordpress修改边栏字体颜色seo厂商
  • 做pc端网站教程免费代理上网网站
  • jsp做的网站后台信息合肥网络关键词排名
  • 用tp框架怎么做网站北京百度seo工作室
  • 做网站之类的毕业论文西安百度公司开户
  • 网站中 点击出现登录框怎么做陕西百度代理公司
  • 如何给公司做网站万网域名查询接口
  • 网站报备之后如何建设网站最近发生的热点事件