![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
胆大的人前面才有路
这个作者很懒,什么都没留下…
展开
-
Java String StringBuffer StringBuilder 的区别
String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。 String类的包含如下定义: [java] view plaincopy /** The value is used for character storage. */ private final char value[];原创 2014-10-27 15:34:55 · 878 阅读 · 0 评论 -
java线程池的原理学习
Executor接口如果查看jdk文档,会发现java线程池都源自于这个超级接口Executor,但是这个接口本身比较简单:public interface Executor { /** 在未来某个时间执行给定的命令。该命令可能在新的线程、已入池的线程或者正调用的线程中执行, 这由 Executor 实现决定。 * * @param com原创 2015-08-15 09:36:59 · 539 阅读 · 0 评论 -
Callable和Future
Callable相对于Runnable,Callable并不是很让人熟知,其实Callable和Runnable很类似,只不过它有返回值,并且也没有run()方法,而是有call()方法。public interface Callable<V>{ V call() throw Exception; } Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程执原创 2015-08-13 16:28:27 · 476 阅读 · 0 评论 -
CopyOnWrite
package test1; import java.text.SimpleDateFormat; import java.util.Date; /** * Created by smyhvae on 2015/8/12. */ public class Student { String num; //学号 String name; //姓名 char sex; /原创 2015-08-13 08:37:34 · 551 阅读 · 0 评论 -
ConcurrentHashmap使用注意事项
ConcurrentHashmap是jdk1.5之后引入的并发工具集合类,可以将其看作并发效率更高的map,用来替代Hashtable和synchronizedMap,但是ConcurrentHashmap只能保证自身数据在多线程的环境下不被破坏,而并不能保证业务逻辑的正确性。举个例子:资源池中经常需要将某个资源放到一个map中缓存起来,等到需要的时候再从map中获取,代码如下:code1: pri原创 2015-08-12 10:29:52 · 2696 阅读 · 0 评论 -
java多线程零碎知识点
相比于ReetrantLock,使用synchronized来编写代码要简洁的多,之所以能使用synchronized,是因为每个对象都有一个内部锁,并且该锁有一个内部条件。由锁来管理那些试图进入synchronized方法的线程,由条件来管理那些调用wait的线程 将静态方法声明为synchronized也是允许的,如此则会获得特定类的内部锁,如一个类Person,当该方法被调用时,该方法将会获得原创 2015-08-09 16:13:59 · 468 阅读 · 0 评论 -
线程局部变量ThreadLocal
在java多线程中,除了通过同步来达到线程间共享变量,还可以使用ThreadLocal辅助类为每个线程提供各自的实例,比如:public static final SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");如果多个线程同时执行以下操作:String date = format.format(new Date());结果可原创 2015-08-08 17:00:55 · 476 阅读 · 0 评论 -
如何中断线程?
java中如何中断一个正在运行的线程? stop方法已经被弃用了,interrupt方法可以被用来请求中断一个线程。但是在使用中有个误区:package concurrent;public class InterruptedTest implements Runnable{ public static void main(String[] args) throws InterruptedEx原创 2015-08-07 15:55:54 · 574 阅读 · 0 评论 -
Java 流与文件笔记
1.嵌套的输入流原创 2014-10-20 15:52:32 · 484 阅读 · 0 评论 -
Java多线程中join方法的理解
thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。 t.join(); //使调用线程 t 在此之前执行完毕。 t.join(1000); //等待 t 线程,等待时间是1000毫秒 先上一段JDK中代码: Java代码转载 2014-10-10 11:29:47 · 653 阅读 · 0 评论 -
java线程池的基本使用
四种线程池在Executors中提供了四种线程池: newCachedThreadPool 可缓存线程池,对于每个线程,如果有空闲线程可用,立即让它执行,如果没有,则创建一个新线程 newFixedThreadPool 具有固定大小的线程池,如果任务数大于空闲的线程数,则把它们放进队列中等待 newSingleThreadPool大小为1的线程池,任务一个接着一个完成 newScheduledTh转载 2015-08-15 09:52:25 · 586 阅读 · 0 评论