这篇文章主要介绍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线程安全分析的示例”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!