- 博客(18)
- 收藏
- 关注
原创 yum -y install 配置
yum -y install 往往比rpm安装方便多了,能够自动关联包,但是往往每一次安装好linux后,yum 并不能直接使用。需要做一些前置设置 。首先运行:locale 看看配置是否正确错误描述:当在centos中使用yum命令时,输出错误: Failed to set locale, defaulting to C 用locale检测,出现如下提示:...
2014-06-09 14:26:17
590
原创 (转)Java并发教程(Oracle官方资料)
本文是Oracle官方的Java并发相关的教程,感谢并发编程网的翻译和投递。 计算机的使用者一直以为他们的计算机可以同时做很多事情。他们认为当其他的应用程序在下载文件,管理打印队列或者缓冲音频的时候他们可以继续在文字处理程序上工作。甚至对于单个应用程序,他们任然期待它能在在同一时间做很多事情。举个例子,一个流媒体播放程序必须能同时完成以下工作:从网络上读取数字音频,解压缩数字音频,管理播放和...
2014-06-04 12:56:08
139
原创 (转)Java线程(篇外篇):阻塞队列BlockingQueue
好久没有写文章了,这段时间事情比较杂,工作也比较杂乱,上周日刚搬完家,从自建房搬到了楼房,提升了一层生活品质,哈哈!不过昨天晚上在公交车上钱包被偷了,前段时间还丢个自行车,不得不感叹,京城扒手真多,还无人处理。言归正传,这一段时间我的工作主要是改进公司的调度器,调度器调度线程池执行任务,生产者生产任务,消费者消费任务,那么这时就需要一个任务队列,生产者向队列里插入任务,消费者从队列里提取任...
2014-06-04 12:51:12
161
原创 (转)Java线程(篇外篇):线程本地变量ThreadLocal
首先说明ThreadLocal存放的值是线程内共享的,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递,这样处理后,能够优雅的解决一些实际问题,比如Hibernate中的OpenSessionInView,就是使用ThreadLocal保存Session对象,还有我们经常用ThreadLocal存放Connection,代码如: [java] view plain...
2014-06-04 12:50:58
117
原创 (转)Java线程(九):Condition-线程通信更高效的方式
上一篇讲述了并发包下的Lock,Lock可以更好的解决线程同步问题,使之更面向对象,并且ReadWriteLock在处理同步时更强大,那么同样,线程间仅仅互斥是不够的,还需要通信,本篇的内容是基于上篇之上,使用Lock如何处理线程通信。 那么引入本篇的主角,Condition,Condition 将 Object 监视器方法(wait、notify 和 notifyA...
2014-06-03 18:17:21
97
原创 (转)Java线程(八):锁对象Lock-同步问题更完美的处理方式
Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我们拿Java线程(二)中的一个例子简单的实现一下和sychronized一样的效果,代码如下: [java] view plaincopy public c...
2014-06-03 18:17:08
96
原创 (转)Java线程(七):Callable和Future
接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。 Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到...
2014-06-03 18:16:53
73
原创 (转)Java线程(六):线程池
自JDK5之后,Java推出了一个并发包,java.util.concurrent,在Java开发中,我们接触到了好多池的技术,String类的对象池、Integer的共享池、连接数据库的连接池、Struts1.3的对象池等等,池的最终目的都是节约资源,以更小的开销做更多的事情,从而提高性能。 我们的web项目都是部署在服务器上,浏览器端的每一个request就是一个线程,...
2014-06-03 18:16:29
73
原创 (转)Java线程(五):Timer和TimerTask
Timer和TimerTask可以做为实现线程的第三种方式,前两中方式分别是继承自Thread类和实现Runnable接口。 Timer是一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行,可以看成一个定时器,可以调度TimerTask。TimerTask是一个抽象类,实现了Runnable接口,所以具备了多线程的能力。 ...
2014-06-03 18:16:12
117
原创 Java线程(四):线程中断、线程让步、线程睡眠、线程合并
最近在Review线程专栏,修改了诸多之前描述不够严谨的地方,凡是带有Review标记的文章都是修改过了。本篇文章是插进来的,因为原来没有写,现在来看传统线程描述的不太完整,所以就补上了。理解了线程同步和线程通信之后,再来看本文的知识点就会简单的多了,本文是做为传统线程知识点的一个补充。有人会问:JDK5之后有了更完善的处理多线程问题的类(并发包),我们还需要去了解传统线程吗?答:需要。在实际...
2014-06-02 23:18:43
87
原创 (转)Java线程(三):线程协作-生产者/消费者问题
上一篇讲述了线程的互斥(同步),但是在很多情况下,仅仅同步是不够的,还需要线程与线程协作(通信),生产者/消费者问题是一个经典的线程同步以及通信的案例。该问题描述了两个共享固定大小缓冲区的线程,即所谓的“生产者”和“消费者”在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时...
2014-06-02 23:16:31
76
原创 (转)Java线程(二):线程同步synchronized和volatile
上篇通过一个简单的例子说明了线程安全与不安全,在例子中不安全的情况下输出的结果恰好是逐个递增的(其实是巧合,多运行几次,会产生不同的输出结果),为什么会产生这样的结果呢,因为建立的Count对象是线程共享的,一个线程改变了其成员变量num值,下一个线程正巧读到了修改后的num,所以会递增输出。 要说明线程同步问题首先要说明Java线程的两个特性,可见性和有序性。多个线程...
2014-06-02 23:12:05
86
原创 (转)Java线程(一):线程安全与不安全
作为一个Java web开发人员,很少也不需要去处理线程,因为服务器已经帮我们处理好了。记得大一刚学Java的时候,老师带着我们做了一个局域网聊天室,用到了AWT、Socket、多线程、I/O,编写的客户端和服务器,当时做出来很兴奋,回学校给同学们演示,感觉自己好NB,呵呵,扯远了。上次在百度开发者大会上看到一个提示语,自己写的代码,6个月不看也是别人的代码,自己学的知识也同样如此,学完的知识...
2014-06-02 23:09:19
81
原创 java Future 异步程执行获取结果
public interface Future<V> Future 表示异步计算的结果。Future有个get方法而获取结果只有在计算完成时获取,否则会一直阻塞直到任务转入完成状态,然后会返回结果或者抛出异常。Future 主要定义了5个方法: 1)boolean cancel(boolean mayInterruptIfRunning):试图取消对此任务的执行。如果任务已完成、...
2014-06-02 22:55:20
857
原创 weblogic BEA-000388 JVM called WLS shutdown hook
刚接手一项目,weblogic部署环境,发现weblogic每隔几个小时就shutdown一次,经过跟踪发现既不是内存问题,也不是数据库连接池问题,更不是访问量过大引起。 查询相关日志,只有以下几句shutdown的日志: <BEA-000388> <JVM called WLS shutdown hook. The server will force s...
2013-09-13 10:08:31
1736
原创 ORA-00018: maximum number of sessions exceeded解决方法
应用跑了一段时间后,偶尔发生System Runtime Error: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: ORA-00018: maximum number of sessions exceeded 错误,ORA-00018其实是oracle se...
2011-07-25 11:23:39
1001
原创 设计模式基本原则
看设计模式看了一段时间了,应该说在大学里面已经针对设计模式上课学习过一遍,记得初次看学习设计模式的时候,感觉很强大,有太多新的自己想象不到的设计思路,一个个在接受,毕竟学生的时候只是觉得新颖在看看,对于他的灵魂--设计模式的几个基本原则,也就只能达到随口而出的一个“开-闭原则”吧,呵呵,这段时间再细看了一遍,理解比以前深了一点,持续学习中。。。,先把几大基本原则记录下来先1、开-闭原则...
2011-06-29 11:15:03
83
64位操作系统无法使用plsql sql*net not properly installed
今天把项目应用部署到了64位的操作系统上,发现数据库oracle安装后,pl/sql无法正常使用,报错:sql*net not properly installed 经上网查询,发现是oracel客户端的问题,plsql支持不了64位的oracle客户端,具体解决方法如下: 1、下载32的ORACEL客户端,并拷到服务器上,路径:C:\Oracle\instantcl...
2011-06-16 13:39:30
618
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人