细说JAVA
CSDN里的JAVA专栏多如牛毛,可是不少在结构上安排上不够严谨,本专栏重点在一个细字,所谓慢慢细说,不厌其烦。向JAVA学习者与开发者分析JAVA语言的各个知识点,当然本人也在不断学习中,也希望把平时学习与开发中的心得体会记录在此。
Ethan_Lei_Pro
Heterogeneous Parallel Computing
展开
-
一种分割与组合文件的方法-Java实现
如果需要传输一个大文件(例如一个8GB的AVI文件)。我们需要将文件分割为几个小的文件碎片,这是为了提高传输的速度与安全性。当接受到这些文件碎片后,又需要将这些碎片重新组合起来,还原为原文件。原创 2016-11-13 20:50:44 · 1160 阅读 · 0 评论 -
自动豆子机的Java实现
豆子机是一个用来做统计学实验的设备,由英国科学家高尔顿发现,故又名为高尔顿瓶。如下图所示:球从瓶口落下,每当碰到钉子(白圈),它就有50%的机会落向左边或者右边。于是在瓶子底部的格槽中就会累积一定的球,当球落够一定的次数或者任一格槽满后,实验停止。原创 2016-11-02 21:19:53 · 990 阅读 · 0 评论 -
java常见基础知识汇总(二)
在项目开发过程中对一些Java基础知识的理解,记录下来以防自己忘记,时时拿出把玩,再是与大家分享一下自己的心得。虽然这里面的都是一些基础问题,但是在实际开发中往往遇到教材上没有的细节。原创 2016-09-20 11:18:59 · 1150 阅读 · 0 评论 -
java常见基础知识汇总(一)
在项目开发过程中对一些Java基础知识的理解,记录下来以防自己忘记,时时拿出把玩,再是与大家分享一下自己的心得。虽然这里面的都是一些基础问题,但是在实际开发中往往遇到教材上没有的细节。原创 2016-09-20 11:05:21 · 528 阅读 · 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 · 669 阅读 · 0 评论 -
static静态修饰符
静态成员归整个类所有,不依赖类特定的实例,是被类的所有实例共享。只要这个类被JVM加载,就可以根据类名在全局数据区域内找到它们。因此,静态成员可以在任何对象创建之前访问而无需访问对象。static 静态变量static关键字修饰的成员变量称为静态成员变量,简称静态变量。静态变量是属于类,但是不依赖类特定的实例。静态变量在类创建后就一直存在,其生命周期和所在类的生命周期是一样的,且被类的所有实例共享。原创 2016-08-31 19:20:56 · 780 阅读 · 0 评论 -
Java创建对象过程中,内存的分配
我们都知道,要使用类,就一定要为其创建对象。那么,在创建对象过程中,内存是如何分配的呢? 类的本质是一种引用数据类型,这与数组是一样的。比如本文提供的简单例子程序中的Person类,它有两个属性,name和age,而属性是需要内存来存储的。我们以person对象来讲解。执行Person person=null; 时,Java系统会在栈内存开辟一个空间给对象person,程序继续向下执行到perso原创 2016-08-29 20:47:02 · 4287 阅读 · 1 评论 -
关于JSP
JSP是一种动态网页技术,它可以根据需要来展现出不同的内容,如果系统主界面是有一信息列表,数据库中只要有数据,主界面的信息列表就能显示出相应的数据的信息。数据库中信息越多,信息列表就越长。信息列表总是同数据库中的数据保持同步。而静态的HTML的HTML代码是固定的,对于一个HTML页面,来自客户端的所有请求看到的都是同样的界面,因此HTML也称为静态页面。 JSP由4个核心部分组成:指令(dire原创 2016-03-31 19:17:02 · 435 阅读 · 0 评论 -
HTML与JSP
要让浏览器显示用户需要的内容,服务器只能用一种语言与之交流,那就是HTML(HyperText Mark-up Language,超文本标签语言)。在HTML中,不同的标签对于不同的元素,浏览器接收到HTML页面后,会将页面中的HTML标签解释为文字、图片等显示出来。在早期的Web应用中,HTML都以静态的形式存放在服务器上,服务器又多少页面,用户就只能看到多少页面。需要新的页面就只能再做。后来动态原创 2016-03-30 20:21:48 · 485 阅读 · 0 评论 -
Web开发三层架构
最通用的三层为:表现层、业务逻辑层、数据访问层。 表现层:用户看到的页面,表现层负责展现页面外观和系统的人机交互接口。 业务逻辑层:负责处理系统的业务逻辑。如登录、注册、信息发布等都属于系统需要实现的功能。这些功能都包含了接口数据、封装数据、加工数据等操作,这些就是系统的业务操作,由业务逻辑层实现。 数据访问层:主要负责与数据库连接。包括接收从业务逻辑层传递过来的数据,以及从数据库中抽取数据并原创 2016-03-31 20:17:27 · 1071 阅读 · 0 评论 -
Java并行编程(parallel programming)
多核处理器已经在计算机上的广泛应用,为了更好的利用多处理器的长处,软件需要运行在并行状态下。JDK7引入了全新的Fork/Join架构用于并行编程,这可以应用于多处理器的机器上以提高程序的效率。Fork/Join架构下图所示:这种架构定义了一个使用ForkJoinTask的类,并且在一个ForkJoinPool的实例中执行任务。ForkJoinTask是一个为执行任务而设计的抽原创 2015-12-17 13:45:20 · 2695 阅读 · 0 评论 -
多线程之进度条JProgressBar
进度条JProgressBar是一个图形组件,用来以图像的方式显示有界面的区间内的一个值,进度条的一个典型应用是显示冗长操作完成的百分比。随着操作的进行,它显示一个从左到右填充的水平矩形或下到上填充的垂直矩形,向用户反映操作执行的进度。JProgressBar通常是通过使用一个线程监视其他线程的完成状态来实现的。进度条可以水平也可以垂直显示。当一个线程从源文件向目标文件复制数据时,进度条在另一原创 2015-12-18 10:24:13 · 2178 阅读 · 0 评论 -
对synchronized关键字的理解
一,一个线程在执行synchronized方法之前要求获得这个object的对象锁,当执行完synchronized方法后释放对象锁让下一个将要执行synchronized方法的线程获得 二,当两个并发线程访问同一个对象object中synchronized(this)内的同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。原创 2015-12-27 09:37:26 · 625 阅读 · 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 · 813 阅读 · 0 评论 -
JNI机制
JNI(Java Native Interface)是Java本地编程接口。它的作用是使在Java虚拟机内部运行的Java语言能够与其他计算机编程语言编写的库函数或者应用程序进行信息交互。Java虚拟机厂商可以根据需求对虚拟机添加JNI支持,而不会影响虚拟机的其他部分。因为JNI对底层是透明的,它不会对Java虚拟机的运行添加任何类型的限制。程序开发人员要与Java虚拟机协调合作,原创 2016-03-21 12:56:26 · 592 阅读 · 0 评论 -
Java对象序列化
Java中的对象的内部状态只保存在内存中,其生命周期最长与JVM的生命周期一样,即JVM停止之后,所有对象都会被销毁。原创 2016-03-02 10:18:07 · 554 阅读 · 0 评论 -
关于super()
在生成函数的时候的第一句”super()”的作用是“调用该类的父类的无参数构造函数”。虽然这里没有用继承,但是Java中的任何类,包括用户自己创建的类,都是继承自同一个“根”Object类。由于继承的存在,对象的创建过程比较复杂:假设B继承A,那么B的构造函数的第一步必须调用A的构造函数(如果A还有父类,那么继续调用该父类的构造函数,依次类推,直至回溯到Object这个根)。Super()如果不写,原创 2016-03-27 18:30:20 · 482 阅读 · 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 · 14237 阅读 · 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 · 946 阅读 · 0 评论 -
Java中的栈内存和堆内存
Java把内存分为栈内存和堆内存。栈内存保存的只是数组的名称,即使用“数据类型 数组名”就可以开辟栈内存,但只开辟栈内存的数组是不能被直接使用的。因为堆内存是用来存放数组实体的,若想使用数组则需要用new关键字来开辟堆内存,然后把堆内存的控制权交给栈内存,一个堆内存可以被多个栈内存引用。 以下程序举例: //开辟栈内存 int arrayInt[]=null; //开辟堆内存原创 2016-08-23 21:12:58 · 703 阅读 · 0 评论