Java
Ethan_Lei_Pro
Heterogeneous Parallel Computing
展开
-
Java并行编程(parallel programming)
多核处理器已经在计算机上的广泛应用,为了更好的利用多处理器的长处,软件需要运行在并行状态下。JDK7引入了全新的Fork/Join架构用于并行编程,这可以应用于多处理器的机器上以提高程序的效率。Fork/Join架构下图所示:这种架构定义了一个使用ForkJoinTask的类,并且在一个ForkJoinPool的实例中执行任务。ForkJoinTask是一个为执行任务而设计的抽原创 2015-12-17 13:45:20 · 2697 阅读 · 0 评论 -
java常见基础知识汇总(二)
在项目开发过程中对一些Java基础知识的理解,记录下来以防自己忘记,时时拿出把玩,再是与大家分享一下自己的心得。虽然这里面的都是一些基础问题,但是在实际开发中往往遇到教材上没有的细节。原创 2016-09-20 11:18:59 · 1172 阅读 · 0 评论 -
显示当月日历-Java实现
编写一个程序,显示当前月的日历,如下图所示。使用标签并且在标签上设置文本以显示日历。原创 2016-11-06 16:34:55 · 1110 阅读 · 0 评论 -
字符出现次数统计直方图-Java实现
开发一个程序显示一个直方图,它显示文本区域中每个字母出现的次数。每个字母用一种颜色标识。原创 2016-11-06 20:51:29 · 4408 阅读 · 0 评论 -
一种分割与组合文件的方法-Java实现
如果需要传输一个大文件(例如一个8GB的AVI文件)。我们需要将文件分割为几个小的文件碎片,这是为了提高传输的速度与安全性。当接受到这些文件碎片后,又需要将这些碎片重新组合起来,还原为原文件。原创 2016-11-13 20:50:44 · 1166 阅读 · 0 评论 -
自动豆子机的Java实现
豆子机是一个用来做统计学实验的设备,由英国科学家高尔顿发现,故又名为高尔顿瓶。如下图所示:球从瓶口落下,每当碰到钉子(白圈),它就有50%的机会落向左边或者右边。于是在瓶子底部的格槽中就会累积一定的球,当球落够一定的次数或者任一格槽满后,实验停止。原创 2016-11-02 21:19:53 · 1003 阅读 · 0 评论 -
Java 磁盘I/O工作机制分析
Java 磁盘I/O工作机制分析访问方式、磁盘文件、序列化技术与Socket原创 2017-02-17 20:14:08 · 690 阅读 · 0 评论 -
Java NIO工作机制
不管是磁盘IO还是网络IO,数据在写入OutputStream或者从InputStream读取时都有可能会阻塞,线程将会失去CPU的使用权,这在当前大规模访问量和有性能要求的情况下是不能被接受的。虽然当前的网络IO有一些解决办法。如一个客户端一个出来线程,出现阻塞时只是一个线程阻塞而不会影响其他线程工作,为了减少系统线程开销,采用线程池的办法来减少线程创建和回收成本。原创 2017-02-17 21:44:43 · 355 阅读 · 0 评论 -
Javac工作原理分析
Javac是一种编译器,能将一种语言规范转成另外一种语言规范,通常编译器都是将便于人理解的语言转化为机器容易理解的语言。Javac的任务是将Java语言先转换为JVM能够识别的一种语言,然后由JVM将JVM语言转换成当前这个机器能够识原创 2017-02-19 16:24:17 · 1109 阅读 · 0 评论 -
将Java文件转换为HTML文件
Java代码实现将Java文件转换为HTML文件,并且具有代码高亮功能。原创 2017-08-05 16:08:13 · 2422 阅读 · 0 评论 -
多线程同步的几种实现方法
多线程同步的几种实现方法,synchronized wait与notify原创 2017-08-15 16:00:54 · 1734 阅读 · 0 评论 -
Static实现单例模式
Static实现单例模式原创 2017-09-04 20:18:09 · 805 阅读 · 0 评论 -
java常见基础知识汇总(一)
在项目开发过程中对一些Java基础知识的理解,记录下来以防自己忘记,时时拿出把玩,再是与大家分享一下自己的心得。虽然这里面的都是一些基础问题,但是在实际开发中往往遇到教材上没有的细节。原创 2016-09-20 11:05:21 · 532 阅读 · 0 评论 -
Java中的栈内存和堆内存
Java把内存分为栈内存和堆内存。栈内存保存的只是数组的名称,即使用“数据类型 数组名”就可以开辟栈内存,但只开辟栈内存的数组是不能被直接使用的。因为堆内存是用来存放数组实体的,若想使用数组则需要用new关键字来开辟堆内存,然后把堆内存的控制权交给栈内存,一个堆内存可以被多个栈内存引用。 以下程序举例: //开辟栈内存 int arrayInt[]=null; //开辟堆内存原创 2016-08-23 21:12:58 · 708 阅读 · 0 评论 -
多线程之进度条JProgressBar
进度条JProgressBar是一个图形组件,用来以图像的方式显示有界面的区间内的一个值,进度条的一个典型应用是显示冗长操作完成的百分比。随着操作的进行,它显示一个从左到右填充的水平矩形或下到上填充的垂直矩形,向用户反映操作执行的进度。JProgressBar通常是通过使用一个线程监视其他线程的完成状态来实现的。进度条可以水平也可以垂直显示。当一个线程从源文件向目标文件复制数据时,进度条在另一原创 2015-12-18 10:24:13 · 2206 阅读 · 0 评论 -
对synchronized关键字的理解
一,一个线程在执行synchronized方法之前要求获得这个object的对象锁,当执行完synchronized方法后释放对象锁让下一个将要执行synchronized方法的线程获得 二,当两个并发线程访问同一个对象object中synchronized(this)内的同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。原创 2015-12-27 09:37:26 · 630 阅读 · 0 评论 -
java 数字格式化:小数点、百分比 NumberFormat Decimalformat
java.text 包中的一些包可以处理这类问题import java.text.NumberFormat;1。Decimalformat df1 = new Decimalformat("####.000"); System.out.println(df1.format(1234.56)); 显示:1234.5602。NumberFormat n转载 2016-01-31 14:53:44 · 816 阅读 · 0 评论 -
Java对象序列化
Java中的对象的内部状态只保存在内存中,其生命周期最长与JVM的生命周期一样,即JVM停止之后,所有对象都会被销毁。原创 2016-03-02 10:18:07 · 555 阅读 · 0 评论 -
JNI机制
JNI(Java Native Interface)是Java本地编程接口。它的作用是使在Java虚拟机内部运行的Java语言能够与其他计算机编程语言编写的库函数或者应用程序进行信息交互。Java虚拟机厂商可以根据需求对虚拟机添加JNI支持,而不会影响虚拟机的其他部分。因为JNI对底层是透明的,它不会对Java虚拟机的运行添加任何类型的限制。程序开发人员要与Java虚拟机协调合作,原创 2016-03-21 12:56:26 · 616 阅读 · 0 评论 -
关于super()
在生成函数的时候的第一句”super()”的作用是“调用该类的父类的无参数构造函数”。虽然这里没有用继承,但是Java中的任何类,包括用户自己创建的类,都是继承自同一个“根”Object类。由于继承的存在,对象的创建过程比较复杂:假设B继承A,那么B的构造函数的第一步必须调用A的构造函数(如果A还有父类,那么继续调用该父类的构造函数,依次类推,直至回溯到Object这个根)。Super()如果不写,原创 2016-03-27 18:30:20 · 484 阅读 · 0 评论 -
operation not allowed after resultset closed错误的解决
就我目前碰到的过的,主要有两种情况会产生这样的问题,一个就是在百度里被转来转去的答案:一个stmt多个rs进行操作.那么从stmt得到的rs1,必须马上操作此rs1后,才能去得到另外的rs2,再对rs2操作.不能互相交替使用,会引起rs已经关闭错误.错误的代码如下:stmt=conn.createStatement(); rs=stmt.executeQuery("se原创 2016-04-30 18:44:31 · 14278 阅读 · 4 评论 -
JDBC技术
Java数据库编程主要使用JDBC技术。JDBC是一种用于执行SQL语句的Java API。它由一组用Java编写的类和接口组成。JDBC为开发人员提供了一个标准的API,使得他们能够用纯Java API来编写数据库应用程序。 利用JDBC,向各种关系数据库发送SQL语句就变成了一件很容易的事情。换言之,利用JDBC API,就不必专门为访问SQL Server数据库写一个程序,又专门为访问Ora原创 2016-05-02 12:34:52 · 952 阅读 · 0 评论 -
Java创建对象过程中,内存的分配
我们都知道,要使用类,就一定要为其创建对象。那么,在创建对象过程中,内存是如何分配的呢? 类的本质是一种引用数据类型,这与数组是一样的。比如本文提供的简单例子程序中的Person类,它有两个属性,name和age,而属性是需要内存来存储的。我们以person对象来讲解。执行Person person=null; 时,Java系统会在栈内存开辟一个空间给对象person,程序继续向下执行到perso原创 2016-08-29 20:47:02 · 4308 阅读 · 1 评论 -
static静态修饰符
静态成员归整个类所有,不依赖类特定的实例,是被类的所有实例共享。只要这个类被JVM加载,就可以根据类名在全局数据区域内找到它们。因此,静态成员可以在任何对象创建之前访问而无需访问对象。static 静态变量static关键字修饰的成员变量称为静态成员变量,简称静态变量。静态变量是属于类,但是不依赖类特定的实例。静态变量在类创建后就一直存在,其生命周期和所在类的生命周期是一样的,且被类的所有实例共享。原创 2016-08-31 19:20:56 · 797 阅读 · 0 评论 -
this关键字和super关键字
this关键字this关键字在Java中经常使用,它主要有以下作用: 1,使用this调用本类中的属性。 2,使用this调用构造方法。 3,表示当前对象1_使用this调用本类中的属性。在一个类的方法或构造方法内部,当成员变量被局部变量隐藏时,想使用成员变量的话,可以使用“this.成员变量名”这样的格式来引用成员变量名class Person{ private String na原创 2016-08-31 20:13:38 · 674 阅读 · 0 评论 -
Java通过反射机制修改只读属性参数
如何利用Java通反射机制修改类中的只读属性参数原创 2017-08-31 09:52:42 · 1683 阅读 · 0 评论