java中stringbuffer线程安全分析的示例

  介绍

这篇文章主要介绍java中stringbuffer线程安全分析的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

常用的java框架有哪些

1。SpringMVC, Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级网络框架。2。Shiro, Apache Shiro是Java的一个安全框架。3。Mybatis, Mybatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.4.Dubbo,达博是一个分布式服务框架.5.Maven, Maven是个项目管理和构建自动化工具.6.RabbitMQ, RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器1:8)。Ehcache, Ehcache是一个纯Java的进程内缓存框架。

在对于一些类作用于线程时,安全系数高的线程更推荐大家使用,在尽可能的程度上降低程序出错的可能性。对于本篇所要提到的StringBuffer而言,在其缓冲区中有多个线程的存在,我们在查询其内部方法时发现了锁的存在。现在我们就StringBuffer线程,锁的应用,线程安全分析逐步带来介绍。

<强> 1. StringBuffer线程说明

Java.lang.StringBuffer <强>线程安全的可变字符序列强。一个类似于字符串的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。

可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。

<强> 2.同步锁的应用方式

<强>(1)修饰实例方法,对当前实例加锁

 public  synchronized  StringBuffer 附加(int 我),{
  ,,,,,,,toStringCache =,空;
  ,,,,,,,super.append(我);
  ,,,,,,,return ;
  ,,,}

<强>(2)修饰静态方法,对当前类对象加锁

 public  static  synchronized  void 测试(){
  ,,,,,,,我+ +;
  ,,,}

<强>(3)修饰代码块,对指定对象加锁

<>之前,,,,public  boolean  contentEquals (CharSequence  cs), {   ,,,,,,,//,Argument  is  a  StringBuffer, StringBuilder   ,   ,,,,,同步(cs), {   ,,,,,,,,,,,,,,,,,,return  nonSyncContentEquals (cs) (AbstractStringBuilder);   ,,,,,,,,},   ,,,}

<强> 3。线程安全分析

 StringBuffer 缓冲=,new  StringBuffer ();
  buffer.append (“d");
  然后进入的动作里面看看
  @Override
  ,,,public  synchronized  StringBuffer 附加(String  str), {
  ,,,,,,,toStringCache =,空;
  ,,,,,,,super.append (str);
  ,,,,,,,return ;
  ,,,}

看到同步,在方法上面,说明是有线程安全的。

以上是“java中stringbuffer线程安全分析的示例”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

java中stringbuffer线程安全分析的示例