在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了同步块和volatile关键字机制。synchronized同步块大家都比较熟悉,通过synchronized关键字来实现,所有加上synchronized和块语句,在多线程访问的时候,同一时刻只能有一个线程能够用synchronized修饰的方法或
系统 2019-08-29 22:29:36 1760
当一个同事问我:Java中的double的取值范围是多少时,我一脸的茫然,除了知道浮点数由符号位、指数位和小数位组成之外,其它的一无所知。大学里《计算机组成》中学的东西也忘得一干二净。查了一些资料,并亲手写了些测试代码,总算弄明白了,在此做个笔记。1.三种存储格式Java遵循的是IEEE754规范。在这个规范里,提到了浮点数的三种类型:单精度、双精度和双精度扩展。这三种类型的浮点数的存储都由三部分组成:符号位、指数位和小数位组成,不同的是三者指数位和小数位
系统 2019-08-29 23:15:12 1759
经过2年半的努力、屡次的延期和9个里程碑版本,甲骨文的Java开发团队终于发布了Java8正式版本。Java8版本最大的改进就是Lambda表达式,其目的是使Java更易于为多核处理器编写代码;其次,新加入的Nashorn引擎也使得Java程序可以和JavaScript代码互操作;再者,新的日期时间API、GC改进、并发改进也相当令人期待。另外,原本要加入Java8的Jigsaw项目(标准模块系统)由于开发时间关系,被推迟到了Java9中,不过Java8已
系统 2019-08-12 09:30:36 1759
做个笔记,针对java的file的操作1.根据文件名及字符串,写文件publicstaticbooleanwriteJiang(Stringcontent,Stringpath,Stringname)...{try...{Filefile=newFile(path);System.out.println("文件的路径是:"+file+"/"+name);BufferedWriterfileout=newBufferedWriter(newFileWrite
系统 2019-08-29 22:03:49 1754
本文是Java线程使用的入门级教程。Java平台从开始就被设计成为多线程环境,多线程的好处在于可以充分利用处理器资源,保证更快速的完成任务。Java平台从开始就被设计成为多线程环境。在你的主程序执行的时候,其它作业如碎片收集和事件处理则是在后台进行的。本质上,你可以认为这些作业是线程。它们正好是系统管理线程,但是
系统 2019-08-12 09:30:11 1753
本篇主要对java处理三维图形基本的知识做一下复习。有些地方上篇没仔细讨论。涉及到上一篇的所有类,做一下规整,还有新的类应用描述。1.Vector3D这个类描述三维向量。三维向量就是(x,y,z)一个空间点,或从(0,0,0)到(x,y,z)的向量。提供了向量加向量减向量乘和向量除还有返回了向量的长度空间直线的长度计算公式:根号下(x+-x1)的平方+(y+-y1)+(z+-z1)的平方区长度方法为publicfloatlength(){return(fl
系统 2019-08-12 09:30:31 1750
我们正在收集更多有价值的java工具类。欢迎投稿!我们提供了两次(1,2)java工具类打包下载。网友们反应都很好...使用java工具类极大的提高了开发人员的效率。初学者也更容易学习和使用。特此征集更多java工具类当你的java工具包/类跟成千上万人带来帮助的时候,这是一件很有意义的事情!工具类原创作者请在类里注明,支持原创,更多分享,使用者请保留原创信息。大家踊跃参与!你可以把你的java工具类发帖上传到【实用资料/JDK/API/工具】版块投稿方式
系统 2019-08-29 22:16:28 1749
版本:eclipse-jee-helios-win32自己电脑上装的jdk版本是:1.6.0_20解压后启动,发现弹出提示框“FailedtocreatetheJavaVirtualMachine”解决方法:找到eclipse目录下的eclipse.ini,可以看到如下内容:-startupplugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar–launcher.libraryplugins/org
系统 2019-08-12 09:29:49 1746
今天在开发项目的时候遇到一个问题就是怎么获取当前时间的前一天和后一天,这个实现的逻辑并不复杂,自己要写的话的也不是难事,但是貌似感觉没必要自己写这样的方法,想想Java中的Calendar类应该有这样的方法,所以上网查了相关的资料,有两个方法:分别是set和roll方法,这两个方法的具体使用方法如下:packagecom.java.demo;importjava.util.Calendar;publicclassDateUtil{publicstaticv
系统 2019-08-29 22:54:00 1744
JavaNIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIOBuffer对象,并提供了一组方法,用来方便的访问该块内存。Buffer的基本用法使用Buffer读写数据一般遵循以下四个步骤:写入数据到Buffer调用flip()方法从Buffer中读取数据调用clear()方法或者compact()方法当向buffer写入数
系统 2019-08-29 23:08:55 1743
在上文中,已经介绍了系统类加载器以及类加载器的相关机制,还自定制类加载器的方式。接下来就以tomcat6为例看看tomat是如何使用自定制类加载器的。(本介绍是基于tomcat6.0.41,不同版本可能存在差异!)网上所描述的tomcat类加载器在网上搜一下“tomcat类加载器”会发现有大量的文章,在此我偷个懒,^_^把网上对tomcat类加载器的描述重说一下吧。CommonClassLoader:加载的类目录通过{tomcat}/conf/catali
系统 2019-08-12 01:32:44 1743
本文原文为http://blog.csdn.net/crazycoder2010/article/details/6288732javaClassLoader的学习java是一门解释执行的语言,由开发人员编写好的java源文件先编译成字节码文件.class形式,然后由java虚拟机(JVM)解释执行,.class字节码文件本身是平台无关的,但是jvm却不是,为了实现所谓的一次编译,到处执行,sun提供了各个平台的JVM实现--也就是说jvm不是跨平台的,编
系统 2019-08-29 22:19:40 1741
1.OpenCV下载及安装配置opencv的下载地址:http://opencv.org/downloads.html最新版本:opencv3.0.0注意:支持的visualstudio2013我们可以下载稳定版本:opencv2.4.11安装:双击opencv-2.4.11解压到某一目录下即可配置:在系统环境变量Path中,添加相应的路径。32位添加:C:\opencv\opencv2.4.11\build\x86\vc10\bin64位添加:C:\op
系统 2019-08-12 09:27:14 1740
MongoDB做为NoSQL数据库,最近几年持续升温,越来越多的企业都开始尝试用MongoDB代替原有Database做一些事情。MongoDB也在集群,分片,复制上也有相当不错的的表现。我通过将做各种MongoDB的部署实验进行介绍。关于作者:郑云飞,程序员Java,Javascript,jquery,css,html,springMVC,Struts2,hibernate,oracle,mysql,hadoop,hbase,hive,sqoop,zoo
系统 2019-08-29 22:57:30 1738
最近一个项目要用Java做,一点都不熟啊。没办法,只好硬着头皮啃了,花了大半天的时间,终于在Eclipse上完成了第一个Hibernate例子。下面记录关键的步骤,权作笔记,以备日后查看。(1)下载Hibernate,并向项目中导入Hibernate。Project->Properies->JavaBuildPath->Libraries->AddExternalJARs...,选择Hibernate根目录下的hibernate3.jar,添加到项目中。接
系统 2019-08-29 22:24:42 1738