随笔分类 -  java

摘要:Java线程:线程的同步与锁一、同步问题提出线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。publicclassFoo {privateintx = 100;publicintgetX() {returnx;}publicintfix(inty) {x = x - y;returnx;}}publicclassMyRunnableimplementsRunnable {privateFoo foo =newFoo();publicstaticvoidmain(String[] 阅读全文
posted @ 2012-10-24 17:01 寒剑飘香 阅读(170) 评论(0) 推荐(0)
摘要:本文转自http://lavasoft.blog.51cto.com/62575/99153Java线程:线程状态的转换SCJP5学习笔记一、线程状态线程的状态转换是线程控制的基础。线程状态总的可分为五大状态:分别是生、死、可运行、运行、等待/阻塞。用一个图来描述如下:1、新状态:线程对象已经创建,还没有在其上调用start()方法。2、可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态。当start()方法调用时,线程首先进入可运行状态。在线程运行之后或者从阻塞、等待或睡眠状态回来后,也返回到可运行状态。3、运行状态:线程调度程序从可运行池中选择一个线程作为当前 阅读全文
posted @ 2012-10-24 16:48 寒剑飘香 阅读(188) 评论(0) 推荐(0)
摘要:本文转自http://www.cnblogs.com/killbug/archive/2012/08/22/2651524.html扯淡:现在项目里的java代码,都是封装,封装,再封装。在没有空闲的赶工编码,几年后会感觉学不动,毕竟少了很多思考的时间。也基本不会去研究代码的底层实现。时间一长就会觉得自己什么也不会。一个大型的项目,一般不可能只用java实现,可能会用到C,C++,shell,python等等。单单一个web就要学很多,jsp,jquery,javascript,html,css,各种开源的不开源的框架,各种web服务器,数据库等等等。java程序员的确容易迷茫,但精通一样吧, 阅读全文
posted @ 2012-10-24 16:14 寒剑飘香 阅读(334) 评论(0) 推荐(0)
摘要:本文转自http://www.cnblogs.com/killbug/archive/2012/08/15/2640845.htmlIO入门代码阅读:字节流: 1 private void writeTxt(String path, String value) throws IOException{ 2 OutputStream fos = new FileOutputStream(path);//构造方法1 3 fos.write(value.getBytes()); 4 fos.close(); 5 } 6 private v... 阅读全文
posted @ 2012-10-24 16:03 寒剑飘香 阅读(98) 评论(0) 推荐(0)
摘要:本文转自http://www.cnblogs.com/killbug/archive/2012/08/09/2631061.html下面的这么多方法组建起来可以写出很多有用的功能了吧?为了很方便的代表文件的概念,以及存储一些对于文件的基本操作,在java.io包中设计了一个专门的类——File类。在File类中包含了大部分和文件操作的功能方法,该类的对象可以代表一个具体的文件或文件夹,所以以前曾有人建议将该类的类名修改成FilePath,因为该类也可以代表一个文件夹,更准确的说是可以代表一个文件路径。下面介绍一下File类的基本使用。 1、File对象代表文件路径File类的对象可以代表一个具 阅读全文
posted @ 2012-10-24 15:47 寒剑飘香 阅读(126) 评论(0) 推荐(0)
摘要:一、概述java获得广泛认可的原因,除了它拥有一门结构严谨、面向对象的编程语言外,还有许多不可忽视的优点:1、摆脱了硬件平台的束缚,一次编译,到处运行2、提供了一种相对安全的内存管理和访问机制,避免了绝大部分的内存泄露和指针越界问题3、实现了热点代码检测和运行时编译及优化,这使得java应用能随着时间的增加而获得更高的性能4、有一套完善的应用程序接口等等。。。。二、java技术体系sun定义的java技术体系包含:java程序设计语言、jvm、Class文件格式、java api、第三方java类库我们把java编程语言、java虚拟机(jvm)、java api这三部分统称为jdk,其中ja 阅读全文
posted @ 2012-10-22 22:34 寒剑飘香 阅读(173) 评论(0) 推荐(0)
摘要:一、线程类 1、新建状态(New):新创建了一个线程对象。 2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 3、运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。 4、阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。阻塞的情况分三种: (一)、等待阻塞:运行的线程执行wait()方法,JVM会把该线程放入等待池中。 (二)、同步阻塞:运行的线程在获取对象的同步锁时,若该同步锁... 阅读全文
posted @ 2012-10-22 16:55 寒剑飘香 阅读(2664) 评论(1) 推荐(1)
摘要:线程的同步由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。由于我们可以通过 private 关键字来保证数据对象只能被方法访问,所以我们只需针对方法提出一套机制,这套机制就是 synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块。1. synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如:1 public synchronized 阅读全文
posted @ 2012-10-22 15:22 寒剑飘香 阅读(353) 评论(0) 推荐(0)