Learn_Java
。S a y : 正 在 学 JAVA 的 菜 鸟.....
u013497151
这个作者很懒,什么都没留下…
展开
-
JDBC:编写通用的 JDBCUtils工具类
1.为JDBCUtils 添加事务处理方法2.处理多线程并发访问问题package cn.cil.Utls;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import javax.sql.DataSource;import com.mchange.v2.c3p0.ComboPooledDataSource;/** * 编写通用的原创 2015-05-13 20:23:42 · 4990 阅读 · 0 评论 -
JDBC : 数据库的分页语句 && 调用函数和存储过程
一、数据库的分页语句在编写Web应用程序等系统时,会涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此常常采用分页语句:需要多少数据就只从数据库中取多少条记录。以下是Sql Server,Oracle和MySQL的分页语句(从数据库表中的第M条数据开始取N条记录):原创 2015-02-17 14:51:54 · 1634 阅读 · 0 评论 -
JDBC : 使用DBUtils 工具类
所需jar包 : commons-dbutils-1.6.jarDbUtils类 1.DbUtils :提供如关闭连接、装载JDBC驱动程序等常规工作的工具类,里面的所有方法都是静态的。主要方法如下: -public static void close(…) throws java.sql.SQLException: DbUtils类提供了三个重载的关闭方法。这些方法检查所提供的原创 2015-02-17 10:56:21 · 2372 阅读 · 0 评论 -
JDBC : 数据库连接池
所需工具commons-pool2-2.3.jarcommons-dbcp2-2.0.1.jarc3p0-0.9.2.1.jar 如果使用 c3p0 出现原创 2015-02-15 12:58:46 · 1753 阅读 · 0 评论 -
JDBC: 批量处理提高SQL处理速度
当需要成批插入或者更新记录时。可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理。通常情况下比单独提交处理更有效率JDBC的批量处理语句包括下面两个方法:addBatch(String):添加需要批量处理的SQL语句或是参数;executeBatch();执行批量处理语句;通常我们会遇到两种批量执行SQL语句的情况:多条SQL语句的批量处理;原创 2015-02-13 23:29:35 · 1528 阅读 · 0 评论 -
JDBC:元数据 && 获取插入记录的主键值 && _JDBC_处理 Blob
一、元数据DatabaseMetaData类DatabaseMetaData 类中提供了许多方法用于获得数据源的各种信息,通过这些方法可以非常详细的了解数据库的信息:getURL():返回一个String类对象,代表数据库的URL。getUserName():返回连接当前数据库管理系统的用户名。isReadOnly():返回一个boolean值,指示数据库是否只允许读操作。原创 2015-02-13 17:30:46 · 1382 阅读 · 0 评论 -
JDBC : DAO设计模式
DAO(Data Access Object) 设计模式字段:类的getter和setter方法的去掉get(set)后,首字母小写就是对应得Java的属性值,以前称为字段一般来说字段和属性相差不大beanutils工具类,就是封装了set和get方法,反射也可以创建对象,但是beanutils首选需要的工具:commons-beanutils-1.9.2commo原创 2015-02-13 16:01:55 · 1383 阅读 · 0 评论 -
JDBC:利用反射及JDBC元数据编写通用的查询方法
遇到了若干问题:1.从oracle返回的列名都是大写,再用反射,就找不到相对应得 名字2.oracle 中number类型 返回来,就变成了BigDecimalpublic static void main(String[] args){ String sql = "SELECT IDCARD , examcard , " + "studentname ,"原创 2015-02-12 12:06:32 · 2914 阅读 · 0 评论 -
JDBC:以面向对象的思想编写JDBC程序
题目简述:向数据表中添加学生信息,并且可以通过身份证号准考证来查询学生信息。Name Type Nullable Default Comments ----------- ------------ -------- ------- -------- IDCARD NUMBER(10) Y原创 2015-02-11 01:28:24 · 2560 阅读 · 0 评论 -
JDBC : 使用 ResultSet 执行查询操作
package xuezaipiao2;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import xuezaipiao1.JDBC_Tools;public class UseResultAnd { public static void main(String[]原创 2015-02-10 22:58:02 · 1431 阅读 · 0 评论 -
JDBC :通过 Statement 执行数据表的更新操作
通过Statement来执行SQL的Insert,Delete,Update操作package xuezaipiao;/** * 通过JDBC向数据表中添加数据 * 1.获取数据库连接 * 2.Statement : 用于执行SQL的对象 * --通过 Connection 的createStatement() 方法来获取 * --通过executeUpdate(sql) 可以原创 2015-02-10 11:37:31 · 5047 阅读 · 0 评论 -
JDBC : Java获取数据库连接(Driver And DriverManager)
package xuezaipiao;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.sql.Connection;import java.sql.Driver;import java.sql.SQLException;原创 2015-02-09 10:41:17 · 2760 阅读 · 0 评论 -
《重构》第一章示例 — 体验重构的魔力 RefactorSample
一个月了,没有认真写博客,也没有认真学习,数据库的学习进度一直拖拖拉拉到现在也没有搞定,sad。。。今天,看了一下《重构》的第一章,深深的被吸引了....示例 情景:顾客租电影,电影分三种,儿童票,普通片,新片,儿童片2天以内1.5元,超过两天,每一天加收1.5元,普通片3天以内2元,超过两天,每一天加收2元,新片每天3元,每租一次电影积分加一,如果是新片,且租期超过2原创 2015-01-21 19:40:56 · 1393 阅读 · 0 评论 -
(4/23)建造者模式
建造者模式(生产器模式):定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示角色组成:Director导演Product产品类Builder抽象建造者ConcretwBuilder具体建造者//product产品类public class Phone { private String name; private St原创 2014-12-26 17:44:19 · 1359 阅读 · 0 评论 -
(1、2/23)工厂方法模式And抽象工厂模式
一、工厂方法模式简单工厂模式的缺陷就是类的创建太过于依赖工厂,一旦需要进行程序扩展,就必须修改工厂类的代码这违背了背包原则。而工厂方法模式针对这一问题进行了改进。public interface Sender { public void send();}public interface producer { public Sender produce();}原创 2014-12-20 23:49:44 · 1409 阅读 · 1 评论 -
设计模式概述与原则
一 、 设计模式概述总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、原创 2014-12-18 23:36:34 · 1450 阅读 · 0 评论 -
Java关于反射的加深理解
一、反射的基础java程序中各个java类属于同一类事物,描述这类事物的java类名就是Class比如说,很多人,用java来表示就用Person类,很多类,就用Class,Person类的实例对象比如张三、李四代表着一个个具体的人,而Class类就代表着各个类在内存中的字节码一个类被类加载器加载进内存,会占用一片存储空间,这个空间的内容就是类的字节码,不同的类的字节码不同,所以他原创 2014-12-18 16:50:01 · 1656 阅读 · 0 评论 -
Java枚举的应用
为什么要用枚举?比如要定义星期几,有的人用1-7,而有的用0-6,这就很容易导致问题的出现枚举就是要让某个类型的变量的取值只能为若干个值中的一个,否则,编译器报错,枚举可以让编译器在编译时期就可以检测出源程序填写的非法值,而用普通变量模拟枚举的方法无法实现这一目标用普通类来模拟实现枚举功能:1.将构造方法私有2.每个元素分别有一个公用的静态成员变量3.可原创 2014-12-16 15:31:21 · 1375 阅读 · 0 评论 -
Java关于注解的加深理解
一、入门注解的应用经常会遇到这样的情况package Tokyo.Hot;public class Demo { public static void main(String[] args) { new Thread().stop(); //画一条线,很明显是过时的方法 }}这是过时的方法,这时就要用到注解,告诉编译器,我知道这是过时的,我就喜欢用@S原创 2014-12-15 01:47:26 · 2057 阅读 · 2 评论 -
Java线程池的基础应用
了解:原子性操作类的基础用法在java5以后,增加很多线程的内容,成为线程得并发库。在java.util.concurrent包及子包的API帮助文档,上面有对并发库涉及内容在java.util.concurrent.atomic包,有对基本数据,对数组中的基本数据,类中的基本数据等的操作AtomicIneger类,可以解决多线程访问整数的问题AtomicBoo原创 2014-12-12 00:42:43 · 1830 阅读 · 0 评论 -
Java线程范围内的共享数据(2)
实际上那么Map也就是模拟的ThreadLocal每一个线程调用全局的ThreadLocal对象的set方法,就相当于往其内部的map记录新的键值对,键是Thread.current,值是data线程结束后,可以选择调用ThreadLocal的clear()方法,释放内存,当某一个线程死掉后,可以用remove()移走相关的变量,但是问题是,如何监听得知某个线程即将死亡?原创 2014-12-10 00:21:01 · 1967 阅读 · 0 评论 -
Java线程范围内的共享数据(1)
线程范围内的共享数据,在JavaEE中比较常用,Android比较少一个线程调用A,B,C三个模块,模块中的表达式或变量调用访问一个数据,这个数据可以是静态的另一个线程也调用A,B,C三个模块,模块中的表达式或变量访问的数据,就不是刚才的数据,而是另一个同样的代码,一个线程身上一分数据import java.util.HashMap;import java.util.原创 2014-12-08 00:48:40 · 2019 阅读 · 3 评论 -
Java多线程间的通信问题扩展
到底什么是线程间的通信?线程间需要通过一些协调性的通信,实现共同完成同一件任务,简单说就是,你想做这件事,我也想做这件事,我们两个相互交流,共同做这件事,而共同任务的同步性的实现,就必须通过同步锁,每一个对象实例都有自己的一把锁,当一个线程想要对这个任务进行处理的时候,就必须获得这把锁。线程之间锁的释放与获取,是通过Object类中的wait()/notify()方法实现的。wait()方法是原创 2014-12-01 22:27:25 · 1299 阅读 · 0 评论 -
JAVA学习第六十四课 — 反射机制
Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制,简单说:能动态获取类中的信息(类中所有),就是java的反射,也可以理解为对类的解剖反射机制的基本应用场景: 比如一个程序的应用程序(TomCat),为了提高其扩展性,会对外暴露一原创 2014-11-03 23:13:11 · 1961 阅读 · 1 评论 -
JAVA学习第六十三课 — 关于客户端服务端 && URL类 & URLConnection
常见的客户端和服务端客户端: 浏览器:IE:弹窗口,猎豹:弹窗口,多标签,争强效果服务端: 服务器:TomCat:1.处理请求 2.给予应答想让TomCat为我们工作,那么java写的相关类类必须实现interface Serverlet浏览器强大之处就在于解析能力,众多格式,都可以解析服务端和客户端原理自定义服务端:public stati原创 2014-11-02 23:33:06 · 1710 阅读 · 0 评论 -
JAVA学习第六十二课 — TCP协议练习
通过练习掌握TCP在进行传输过程中的问题原创 2014-11-02 20:59:33 · 1634 阅读 · 0 评论 -
JAVA学习第六十一课 — TCP协议
TCP传输Socket和ServerSocket建立客户端和服务器端(两个独立的应用程序)建立连接后,通过Socket中的IO流进行数据的传输关闭SocketTCP和UDP原理差不多,只是涉及的对象不一样TCP客户端Socket(String host, int port)创建一个流套接字并将其连接到指定主机上的指定端口号。原创 2014-11-01 22:39:47 · 1772 阅读 · 0 评论 -
JAVA学习第六十课 — UDP协议 &基于多线程模拟简单的QQ聊天程序
UDP传输UDP有发送端和接受端,有两大类,DatagramSocket、DatagramPacket建立发送端和接收端建立数据包调用Socket的接收发送方法关闭Socket注意:发送端和接收端是两个独立的运行程序UDP发送端演示DatagramPacket(byte[] buf, int length,InetAddress address, int por原创 2014-11-01 16:17:21 · 2455 阅读 · 0 评论 -
JAVA学习第五十九课 — 网络编程概述
网络模型OSI(Open System Interconnection)开放系统互连:参考模型TCP/IP网络通讯要素IP地址端口号传输协议网络参考模型要真正实现网络通讯,首先要找到IP地址,原创 2014-11-01 00:02:07 · 1707 阅读 · 1 评论 -
JAVA学习第五十八课 — GUI
GUIGraghical User Interface(图形用户接口)java为GUI提供的对象都存在java.awt和java.swing包中java的GUI原创 2014-10-31 00:24:12 · 1445 阅读 · 0 评论 -
JAVA学习第五十七课 — IO流(十一)
一、管道流PipedInputStream 和 PipedOutPutStream输入和输出可以直接进行连接,结合线程使用管道流,顾名思义,写一个读一个,连成一个管子API文档:管道输入流应该连接到管道输出流;管道输入流提供要写入管道输出流的所有数据字节。通常,数据由某个线程从PipedInputStream 对象读取,并由其他线程将其写入到相应的 PipedOutputStr原创 2014-10-30 00:41:25 · 1793 阅读 · 1 评论 -
JAVA学习第五十六课 — IO流(十)对象的序列化和反序列化 & RandomAccessFile
操作对象ObjectInputStream、ObjectOutputStream被操作的对象需要实现Serializable(标记接口)ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream。可以使用 ObjectInputStream 读取(重构)对象。通过在流中使用文件可以实现对象的持久存储。如果流是网络套接字流,则可以在另一台主原创 2014-10-29 01:20:54 · 1922 阅读 · 0 评论 -
JAVA学习第五十五课 — IO流(九)文件切割合成器
文件切割器private static final int SIZE = 1024 *1024; public static void splitFile(File file) throws IOException{ //用读取流关联文件(不确定文件格式) FileInputStream fis = new FileInputStream(file);//源是一个原创 2014-10-27 20:33:10 · 1963 阅读 · 0 评论 -
JAVA学习第五十四课 — IO流(八)打印流 & 序列流
一、综合练习—文件清单列表获取指定目录下,指定扩展名的文件(含子目录),并将这些文件的绝对路径写到一个文本文件中。也就是建立一个指定扩展名的文件列表1.深度遍历2.过滤器->容器3.写入文件import java.util.List;import java.io.*;import java.util.ArrayList;public class Main { pub原创 2014-10-27 14:41:52 · 1610 阅读 · 0 评论 -
JAVA学习第五十三课 — IO流(七)File对象练习 & Properties集合
一、深度遍历文件夹撒原创 2014-10-27 01:02:53 · 2220 阅读 · 0 评论 -
JAVA学习第五十二课 — IO流(六)File对象
File类用来给文件或者文件夹封装成对象方便对文件与文件夹的属性信息进行操作File对象可以作为参数传递给流的构造函数一、构造函数和分隔符 public static void FileDemo() {//构造函数演示 //可以将一个已存在或不存在的文件或目录封装成File对象 File file = new File("d:\\a.txt"); File f原创 2014-10-26 21:58:44 · 1611 阅读 · 0 评论 -
JAVA学习第五十一课 — IO流(五)流的操作基本规律
转换流:InputStreamReader:字节到字符的桥梁。解码OutputStreamWriter:字符到字节的桥梁。编码流的基本规律1.明确源和汇源:InputStream、Reader汇:OutputStream、Writer2.明确数据是否是纯文本数据源:如果是,Reader,否,InputStream汇:如果是,Writer,否,OutputStre原创 2014-10-26 00:23:09 · 2150 阅读 · 0 评论 -
JAVA学习第五十课 — IO流(四)转换流
System.out:标准输出设备,控制台System.in:标准输入设备,键盘输入演示输入字符串遇到回车,打印,输入over,输入结束PS:键盘的录入只读取一个字节,先将字节拼一个字符串,所以需要一个容器,再参与over的判断原创 2014-10-25 22:05:05 · 1470 阅读 · 0 评论 -
JAVA学习第四十九课 — IO流(三):缓冲区2 & 装饰设计模式
一、模拟BufferedReader自定义MyBuffereaReader对于缓冲区而言,里面其实就是封装一个数组,对外提供方法对数组的操作,这些方法最终操作的都是数组的角标原理:从源中取出数据存入缓冲区,再从缓冲区不断的取出数据,取完后,继续从源中继续取数据,进缓冲区,直至源中的数据取完,用-1做为结束标记import java.io.*;class MyBufferedRea原创 2014-10-25 19:05:50 · 2014 阅读 · 1 评论 -
JAVA学习第四十八课 — IO流(二):文件的复制 & 缓冲区1
一、复制文本文件将G盘的文本文件复制到D盘上也就是 读取G盘中文本文件的数据,写入D盘中->连读带写而剪切呢,就是连读带写后,删除原盘的文件import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class Main { public static v原创 2014-10-25 00:12:04 · 2105 阅读 · 0 评论