Java
文章平均质量分 80
@Agony
星空不問趕路人
歲月不負有心人
展开
-
命令行式下java package的编译与运行
本人是Java初学者(大二自学java),本文是对网上那个的各种方法进行了综合和验证,同时结合本人自己的学习体会。只能算是学习笔记,只供参考!关于java的package编译和运行问题(这种问题只是在cmd命令行模式下会遇到,如果用eclipse等IDE就不会有这种问题)。1.导入的Package是本地的类文件(意思是这些文件时你可以得到的)原创 2013-05-18 12:19:26 · 768 阅读 · 0 评论 -
Java 注册监听器的方法总结(自身类this+外部类+内部类+匿名内部类+适配器Adapter+一个组件注册多个监听器)
Java 使用接口回调技术实现处理事件的过程,在Java中能触发事件源的对象,都调用addXXXListener(XXXListener listener)方法将某个对象注册为自己的监听器,参数listener是个接口,listener可以引用任何实现了该接口的类的所创建的对象,当事件源发生时,接口listener 立刻回调类实现的接口方法(接口的实现类包含了接口方法和非接口方法,接口只能调用接原创 2013-10-31 20:51:29 · 6593 阅读 · 0 评论 -
java中PreparedStatement和Statement的区别
java中PreparedStatement和Statement的区别第一: 数据库在执行sql语句的时候如果使用PreparedStatement语句会有一点优势:因为数据库会对preparedStatement语句进行预编译,下次执行相同的sql语句时,数据库端不会再进行预编译了,而直接用数据库的缓冲区,提高数据访问的效率(但尽量尽量采用使用?号的方式传递参数),如果sql语句只转载 2013-11-16 19:18:21 · 781 阅读 · 0 评论 -
class.forName()的理解
使用jdbc方式连接数据库时会使用一句代码Class.forName(String className).这句话是什么意思呢?首先说一点Class.forName(String className)这个方法的作用是装载className这个字符串指定的类。官方文档返回与带有给定字符串名的类或接口相关联的 Class 对象。调用此方法等效于:转载 2013-11-18 09:11:23 · 1070 阅读 · 0 评论 -
new 和 newInstance()
在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法。通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态加载类。在加载完成后,一般还要调用Class下的newInstance( )静态方法来实例化对象以便操作。因此,单单使用Class.forName( )是动态加载类是没有用的,其最终目的是为了实例化对转载 2013-11-18 09:13:06 · 782 阅读 · 0 评论 -
Java String 、 StringBuffer 、StringBuilder类的关系和区别
String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间,StringBuffer是可变类且线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象,StringBuffer和StringBuilder类功能基本相似1. String 类 String的值是不可原创 2013-11-04 17:50:05 · 1217 阅读 · 0 评论 -
Dom4j解析XML学习之简单解析
准备工作:1. 下载 Dom4j.jar2. 下载 mysql-connector-java-5.1.18-bin.jarXML文件:MySql.xml com.mysql.jdbc.Driver jdbc:mysql://127.0.0.1/thdb root root 简单的解析:Dom4jH原创 2013-11-22 20:07:34 · 875 阅读 · 0 评论 -
Dom4j解析XML学习之利用解析的数据进行JDBC操作
XML文件:MySql.xml com.mysql.jdbc.Driver jdbc:mysql://127.0.0.1/thdb root root 利用从XML中解析出的数据访问MySql数据库:import java.io.File;import java.sql.Connection;import ja原创 2013-11-22 20:10:41 · 1333 阅读 · 0 评论 -
Java IO总结
Java流操作有关的类或接口:Java流类图结构:流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输转载 2013-11-25 20:59:37 · 537 阅读 · 0 评论 -
Java IO流体系与序列化
Java IO流一.Java I/O 流 — I/O 即 Input / Output ,完成输入和输出 — 要访问文件的内容,必须使用 I/O流 — 流的分类: 1. 按流的方向来分(从程序所在的内存的角度来看): — 输入流:把外部输入读入当前程序所在内存 — 输出流:把当前程序所在内存的数据写到外部 2. 按原创 2013-07-18 16:18:34 · 1070 阅读 · 0 评论 -
MulticastSocket 广播消息
1. MulticastSocket 将数据报发送到广播地址(任意的D类可用IP地址),数据报会自动 “广播”所有假如该IP地址的Client。2. MulticastSocket广播也是使用的UDP协议,同样要使用DatagramPacket。注意三个方法: public void setTimeToLive(int ttl) throws IOException原创 2013-11-27 20:49:24 · 1703 阅读 · 0 评论 -
Java Socket 编程学习之 TCP
1. 典型的 TCP Client :(1) 创建 Socket 实例:构造方法向指定的远程主机和端口建立一个TCP连接;(2) 通过Socket实例的输入输出流(InputStream和OutputStream)进行通信;(3) 通信完毕后用Socket类的close()方法关闭连接。2. 典型的 TCP Server :(1) 创建一个ServerSocket 实原创 2013-11-27 20:27:35 · 639 阅读 · 0 评论 -
Java Socket 编程学习之 UDP
1.单向通信Client.java/** 客户端:* 1.创建DatagramSocket实例(一般不指定端口,而是使用动态端口)* 2.创建用于发送数据报的非空的数据报DatagramPacket* 3.调用DatagramSocket的send()方法发送数据报* 4.发送完成后关闭DatagramSocket,一般用close()方法或者同try语句的自动关闭功能*原创 2013-11-27 20:35:00 · 967 阅读 · 0 评论 -
Java 浅拷贝、深拷贝与序列化
深拷贝(deep clone)与浅拷贝(shallow clone) 浅拷贝(浅复制、浅克隆):被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。 换言之,浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象。 深拷贝(深复制、深克隆):被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。 那些转载 2013-12-16 21:10:01 · 4320 阅读 · 0 评论 -
Java时间格式大全
又收藏到一个好的java时间格式大全,这个是做成了类的又收藏到一个好的java时间格式大全,这个是做成了类的 转自:http://www.busfly.cn/post/java_string_date_time_class_all.html转载 2014-04-14 19:48:06 · 3619 阅读 · 0 评论 -
java内存分配和String类型的深度解析
1、String类是final的,不可被继承。public final class String。2、String类是的本质是字符数组char[], 并且其值不可改变。private final char value[];然后打开String类的API文档,可以发现:3、String类对象有个特殊的创建的方式,就是直接指定比如String x = "abc","abc"就表示一个字符串转载 2014-04-21 19:06:45 · 958 阅读 · 0 评论 -
Java安全之对称加密与非对称加密
Java中加密分为两种方式一个是对称加密,另一个是非对称加密。对称加密是因为加密和解密的钥匙相同,而非对称加密是加密和解密的钥匙不同。对称加密与非对称加密的区别:对称加密称为密钥加密,速度快,但加密和解密的钥匙必须相同,只有通信双方才能知道密钥。非对称加密称为公钥加密,算法更加复杂,速度慢,加密和解密钥匙不相同,任何人都可以知道公钥,只有一个人持有私钥可以解密。对称加密转载 2014-07-23 14:13:32 · 1013 阅读 · 0 评论 -
Jackson 框架使用教程,轻易转换JSON
Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。前面有介绍过json-lib这个框架,在线博文:http://www.open-open.com/lib/view/open1327991992093.html相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jacks转载 2014-07-15 10:57:26 · 1051 阅读 · 0 评论 -
java学习之编译时类型(前期绑定)和运行时类型 (后期绑定、动态绑定、运行时绑定)
编译时类型和运行时类型: Java的引用变量有两个类型,一个是编译时类型,一个是运行时类型,编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,会出现所谓的多态。因为子类其实是一种特殊的父类,因此java允许把一个子类对象直接赋值给一个父类引用变量,无须任何类型转换,或者被称为向上转型,由系统自动完成。 引用变原创 2013-10-25 11:49:31 · 3845 阅读 · 3 评论 -
JAVA split 用法
java.lang.string.splitsplit 方法将一个字符串分割为子字符串,然后将结果作为字符串数组返回。stringObj.split([separator,[limit]])stringObj 必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。separator 可选项。字符串或 正则表达式 对象,它标识了转载 2013-10-16 10:45:01 · 718 阅读 · 0 评论 -
Java回调函数的理解
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个转载 2013-10-14 21:45:24 · 599 阅读 · 0 评论 -
Java SE 自学笔记3 之数组
Java 数组Ⅰ数组类型1.在任何已有类型后加上方括号[],就变成了一种新的类型--数组类型;所有的数组类型又称为引用类型,所以又称引用类型;2.Java的数组要求所有元素具有相同的数据类型。因此,在一个数组中,数组元素的类型是唯一的,即一个数组只能存储一种数据类型的元素;3.数组的初始化一旦完成,数组在内存中所占的空间将被固定,因此数组的长度将不可改变。即使是原创 2013-06-09 18:37:18 · 676 阅读 · 0 评论 -
Java SE 自学笔记5 之方法和变量
方法和变量1.方法的所属性 从语法角度来看,方法不能独立定义,必须定义在类中 方法所属性:有 static 修饰的方法,属于类本身,而不属于实例没有 static 修饰的方法,属于实例 方法调用:方法不能独立执行,必须有主调对象(调用者)。2.Javav方法的参数传递机制:只有一种值传递(副本传递)。3.形参个数可变的方原创 2013-06-11 12:42:47 · 647 阅读 · 0 评论 -
Java SE 自学笔记4 之面向对象的类
Java 面向对象1.Java程序中,类是程序的最小单位,所有的Java程序都必须从类定义开始2.类的定义 [修饰符] class 类名{//0~N个Field(字段/域/属性)定义//0~N个方法定义//0~N个构造器(构造方法)定义} ★ /*一个类中,最多只有5中成分*/ [修饰符] -- 只可以是 public fi原创 2013-06-11 10:15:36 · 714 阅读 · 0 评论 -
Java SE 自学笔记1
Java SE 学习笔记1【1.Java运行机制与JDK的配置】1.Java程序需要编译,从而避免每次运行都需要重新解释,性能得到提高;在运行时依然保留解释,这样可以保证Java程序能跨平台; 2.Java程序的解释,由JVM(Java Virtual Machine,Java虚拟机完成,如果要运行Java程序,一定要为该平台安装Java虚拟机;原创 2013-06-02 20:51:35 · 754 阅读 · 0 评论 -
Java SE 自学笔记6 之面向对象
面向对象的3大特征 -- 封装、继承、多态 ==封装 -- 合理隐藏:隐藏不想被外界操作的field(成员)、方法、构造器 -- 合理暴露:一般是希望被外界调用的方法 实现隐藏的4个修饰符:(访问权限由小到大) private -- 当前类访问权限(私有) 默认(无修饰符)-- 包访问权原创 2013-06-13 21:07:14 · 597 阅读 · 0 评论 -
Java SE 自学笔记2 之流程控制
流程控制语句1.if 语句:注意在if()…else if()…语句中,else 本身就是一个条件,在有多个else if()语句块时,else 其实就相当于前一个if()条件取反后的条件, 例如有一下程序段public static void main(String args[]){ if(条件表达式 1) {} else i原创 2013-06-05 10:50:25 · 618 阅读 · 0 评论 -
Java SE 自学笔记7 之面向对象2
Object 类的简单特征 一切类都是 Object 类的子类。★ toString()方法:负责返回该对象的“描述型字符串”当 “打印输出”一个对象时,实际就是打印输出该对象的 toString()方法的返回值;Object 类提供的 toString()方法,返回值是“类名@hashcode”值,大多时候,需要程序员重写 toString()原创 2013-06-17 14:15:04 · 686 阅读 · 0 评论 -
Java SE 自学笔记8 之 final修饰符
final 修饰符final 可修饰-- 变量:成员变量(类变量和实例变量)和局部变量(方法里的局 部变量和代码块的局部变量) -- 方法-- 类【final 修饰变量】 ★final修饰成员变量 -- Java 成员变量(Field),默认是可以由系统执行初始化,程序员可以不指定初始值。 -- final 修原创 2013-06-17 21:06:14 · 669 阅读 · 0 评论 -
Java SE 自学笔记9 之 抽象类、接口、内部类、匿名内部类、枚举
抽象类、接口和内部类★ abstract 修饰符 -- 修饰类和方法 ★ 抽象类:使用abstract修饰的类就是抽象类总结为:有得有失 -- 得:增加了一个功能,可以包含抽象方法 -- 失:不能创建实例其他的,普通类可以有的,抽象都可以有。 注 意:1.虽然抽象类不能创建实例,但是有构造器,其构造器主要供其子类原创 2013-06-18 20:57:02 · 1152 阅读 · 0 评论 -
Java SE 自学笔记10 之 Java入口方法详解和读取键盘输入
Java 的入口方法详解入口方法格式:public static void main(String[] args){} 说明:public -- 为了保证系统调用该方法,只能用public(因为系统调用该方法时,不可能在同一个包中,也不会是其子类);static -- 用static修饰后,无需创建实例,直接可以用类名调用入口方法;原创 2013-06-20 12:45:15 · 1122 阅读 · 0 评论 -
Java SE 之 Collection集合
Collection集合一.Java集合API Java Collection Framework API —— 集合,也叫容器(集合的功能相当于容器),Java的集合(容器)是用来“装对象”的。二.Set集合类(接口) —— Set集合几乎等同于 Collection 集合,二者行为完全相似。1.遍历Set集合原创 2013-07-13 08:36:47 · 1285 阅读 · 0 评论 -
Java SE 之Map
Map接口一.Map概述① Map里面存储的数据是 : key -value 对。② Map存储key - value 对时,只考虑 key的存储即可,key存储后,value “作为其附属”即可,对Map而言,value只是附属物,因此Map对value几乎没有要求,但是Map对key有要求;再进一步,如果只管Map里面的key,并把key收集起来,就变成了Set原创 2013-07-14 08:44:04 · 728 阅读 · 0 评论 -
Java SE之异常机制
Java 异常机制一.Java 异常机制—— Java的异常机制是将异常处理代码和正常业务代码分开,保证程序代码的可读性及增强程序的健壮性(鲁棒性)。二.Java 的异常处理流程 基本异常处理流程如下:try // 执行业务处理,若完全执行,则一切正常{//正常业务处理代码}catch (异常1 ex1) {// 进行异常1处理} c原创 2013-07-16 15:11:42 · 710 阅读 · 0 评论 -
打印九宫格(N*N格)算法+Java程序实现
/*** =================================================== * 【说明】本程序实现n*n宫格打印,例如输入 3,则打印九宫格 * 【算法】 * 1.第一行(数组第0行)的正中间放入1; * 2.下一个数总是放在放一个数的右上角45°,实际为以下两种情况: * -- 行越界:把这个数放到同列的末行 *原创 2013-07-02 12:26:39 · 6359 阅读 · 1 评论 -
Java 多线程
多线程1. 线程与进程的关系 (1) 进程是运行中的程序,具有如下特点: ① 独立性:拥有自己的资源和独立的内存区,通常来说,一个程序的内存空间是不允许其它进程访问的; ② 动态性:程序是静止的,运行起来才称作进程; ③ 并发性:操作系统可以同时“并发(concurrent)”运行多个进程。 (2) 线程:进程中的“并发”执行流;原创 2013-07-23 09:55:47 · 590 阅读 · 0 评论 -
Java 数据库连接
Java 数据库连接JDBC-ODBC桥接器 和 加载纯Java数据库驱动 一.JDBC连接数据库的流程及其原理1、在开发环境中加载指定数据库的驱动程序。例如,接下来的实验中,使用的数据库是MySQL,所以需要去下载MySQL支持JDBC的驱动程序(最新的是:mysql-connector-java-5.1.18-bin.jar);而开发环境是MyEclipse,将下载得到的驱动程原创 2013-09-15 16:24:10 · 1086 阅读 · 1 评论 -
Java ZXing 生成二维码学习
Java ZXing 生成二维码学习1. 生成原创 2014-08-18 11:42:32 · 1245 阅读 · 0 评论