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

dede制作的网站挂马给公司做网站需要什么信息

dede制作的网站挂马,给公司做网站需要什么信息,大庆市住房与城乡建设局网站,嘿客免费网站建设目录 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://www.yayakq.cn/news/42323/

相关文章:

  • 建设银行车主卡网上交罚款网站新闻头条最新消息摘抄
  • 权威的合肥网站推广如何自己开发微信小程序
  • 汉中商城网站建设注册公司核名查询系统
  • 网站建设公司盈利分析免费下载建筑图纸的网站
  • 金山做网站的公司太原网站建设外包价格
  • 网站的图文链接怎么做网站开发常用字体
  • 泰安公司网站建设精品服装网站建设
  • 深做网站公司企业网站 自助建站
  • 滨州网站建设腾度凡科网怎么建网站
  • 网站建设商标属于哪个类别电商网站建设如何
  • 上海响应式网站建设企业新广告法 做网站的
  • 网站建设厘金手指排名二二自己怎么做优惠券网站
  • 河北省建设机械协会官方网站首页华为建站模板
  • 做网站能用思源黑体吗企业网络营销方案策划
  • 广州房地产网站建设公众号引流推广平台
  • 刚做的网站怎么搜索不出来的多用户自助建站系统
  • 网站开发实战 课程抓取wordpress中的 图片
  • 泰州市网站制作公司网页设计实训总结600字
  • 专门做教育的视频网站郑州网站优化软件
  • 南昌定制网站开发公司网页制作咨询公司
  • 北京网站建设技术部网站怎么做详情页
  • 网站建设对数据库有何要求wordpress更改上传
  • 外贸网站管理系统融水苗族自治县网站建设公司
  • 网站备案及管理的授权书深圳建网站培训机构
  • 企业做网站大概多少钱建网站卖阀门
  • 做百度网站要注意什么镇江网站制作价格
  • 无需注册网站模板下载代做施组 方案的网站
  • 深圳网站设计比较好的公司有哪些黄冈论坛遗爱网贴吧
  • 西部数码创建子网站太原新建火车站
  • 六安商务网站建设电话上海软件开发企业