代码改变世界

随笔分类 -  Java

转:JDBC连接MYSQL数据库 单例模式

2012-11-25 00:33 by youxin, 797 阅读, 收藏, 编辑
摘要: public class SqlHelper{ private final Lock lock = new ReentrantLock(); private static final SqlHelper sqlHelper = new SqlHelper(); /** * 私有的默认构造方法 */ private SqlHelper() { } /** * 静态方法获得单例 */ public static SqlHelper getInstance() { return sqlHelper; ... 阅读全文

转:由JDBC数据库连接所联想到的五种设计模式

2012-11-25 00:29 by youxin, 469 阅读, 收藏, 编辑
摘要: 最近在看设计模式方面的资料.突发灵感,从数据库的连接中联想到了5种设计模式.然后编写了下,都能实现,可能有些实现方式在实际生产环境中并没有意义.就当是对设计模式的学习吧. 首先上演的就是策略模式.我们在连接数据库时,并非一种数据库,比如,有时是MySql,有时是Oracle,有时又换到SQL Server,都要涉及数据库的切换.此时.我们就可以将数据库连接的算法封装起来,使它们可以相互替换. 首先我们定义一个策略接口,用来表示数据库的连接.package strategy;public interface Strategy { public void getConnDB();} 然后我们实现. 阅读全文

转:JDBC中操作数据库的三个对象:Statement;PreparedStatement;CallableStatement

2012-11-25 00:02 by youxin, 518 阅读, 收藏, 编辑
摘要: statement1、创建 Statement 对象 建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。Statement 对象用 Connection 的方法 createStatement 创建,如下列代码段中所示:Connection con = DriverManager.getConnection(url, "sunny", "");Statement stmt = con.createStatement(); 为了执行 Statement 对象,被发送到数据库的 SQL 语句将被作为参数提供给 Statement 的方法:Resu 阅读全文

JDBC常用类和方法

2012-11-25 00:01 by youxin, 945 阅读, 收藏, 编辑
摘要: JDBC常用类和方法一、四种驱动程序概念A、JDBC-ODBC Bridge桥接器型的驱动程序,这类驱动程序的特色是必须在使用者端的计算机上事先安装好ODBC驱动程序,然后通过JDBC-ODBC的调用方法,进而通过ODBC来存取数据库。作为JDK1.1后的一部分,是sun.jdbc.odbc包的一部分Application---JDBC-ODBCBridge----JDBC-ODBCLibrary---ODBCDriver--Database适用于快速的原型系统,没有提供JDBC驱动的数据库如AccessB、JDBC-Native API Bridge也是桥接器驱动程序之一,这类驱动程序也必须 阅读全文

java Properties用法及文件找不到的终极解决方案

2012-11-23 12:19 by youxin, 5736 阅读, 收藏, 编辑
摘要: J2SE 的 Tiger 版本增强了这个类,不仅可以用它在单独一行中指定用等号分隔的多个键-值对,还可以用XML 文件装载和保存这些键-值对。在 驯服 Tiger的这一期文章中,John Zukowski 展示了如何驾驭这匹新一代的“役马”。 J2SE 1.5 以前的版本要求直接使用 XML 解析器来装载配置文件并存储设置。虽然这并非是一件困难的事情,并且解析器是平台的标准部分,但是额外的工作总是有点让人烦。最近更新的 java.util.Properties 类现在提供了一种为程序装载和存储设置的更容易的方法: loadFromXML(InputStream is) 和 storeToXML 阅读全文

转:Java 资源加载

2012-11-22 23:48 by youxin, 1220 阅读, 收藏, 编辑
摘要: 处理配置文件对于Java程序员来说再常见不过了,不管是Servlet,Spring,抑或是Structs,都需要与配置文件打交道。Java将配置文件当作一种资源(resource)来处理,并且提供了两个类来读取这些资源,一个是Class类,另一个是ClassLoader类。当我们自己的程序需要处理配置文件时(比如xml文件或properties文件),通常会遇到两个问题: (1)我的配置文件应该放在哪里? (2)怎么我的配置文件找不到了?在了解了Java加载资源文件的机制后,以上这两个问题便迎刃而解了。对于第一个问题,答案是:请将你的资源文件放在classpath里,如果资源文件在jar中.. 阅读全文

Java JLayeredPane 使用

2012-11-22 23:23 by youxin, 6266 阅读, 收藏, 编辑
摘要: public class JLayeredPaneextends JComponentimplements AccessibleJLayeredPane为 JFC/Swing 容器添加了深度,允许组件在需要时互相重叠。Integer对象指定容器中每个组件的深度,其中编号较高的组件位于其他组件之上。有关面向任务的文档和使用分层窗格的示例,请参阅The Java Tutorial中的How to Use a Layered Pane一节。DEFAULT_LAYER为方便起见,JLayeredPane将该深度范围分成几个不同的层。将组件放入相应的层,这样更容易确保组件正确地重叠,而不必担心为具体的深 阅读全文

java反射机制

2012-11-22 22:28 by youxin, 307 阅读, 收藏, 编辑
摘要: 反射的api在2个包中:java.lang.refjava.lang.reflect看一个反射的例子.public class Reflex1 { public static void main(String[] args) { Class cc=null; cc=Company2.class; Method[] m=cc.getMethods(); for(int i=0;i<m.length;i++) { System.out.println(m[i].toString()); } }}//输出可能会出乎你的意料,你可以除了看到这个类的方法,object类的方法也被... 阅读全文

转:JVM的运行原理 一个号称打败所有程序员的一道题目

2012-11-22 22:15 by youxin, 234 阅读, 收藏, 编辑
摘要: 题目是这样的:class SingleTon { private static SingleTon singleTon = new SingleTon(); public static int a; public static int b = 0; private SingleTon () { a++; b++; } public static SingleTon getInstance() { return singleTon; }}public class Test { public static void main(String[] args) { Sin... 阅读全文

转:是String,StringBuffer还是StringBuilder ?

2012-11-22 20:06 by youxin, 262 阅读, 收藏, 编辑
摘要: 相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵出 J2SE 5.0 里面带来的一个新的字符操作的类—— StringBuilder (先别忙着扔我砖头,我还算清醒,我这里说的不是 C #, Java 也有 StringBuilder 类)。那么这个 StringBuilder 和 StringBuffer 以及我们最早遇见的 String 类有那些区别呢?在不同的场合下我们应该用哪个呢?我讲讲自己对这几个类的一点看法,也希望大家提出意见,每个人都有错的地 阅读全文

转:java的String类,equals函数和比较操作符==的区别

2012-11-22 19:58 by youxin, 289 阅读, 收藏, 编辑
摘要: 初学 Java 有段时间了,感觉似乎开始入了门,有了点儿感觉但是发现很多困惑和疑问而且均来自于最基础的知识折腾了一阵子又查了查书,终于对 String 这个特殊的对象有了点感悟大家先来看看一段奇怪的程序:public class TestString { public static void main(String[] args) { String s1 = "Monday"; String s2 = "Monday"; }}这个程序真是简单啊!可是有什么问题呢?1. 来自 String 的忧虑上面这段程序中,到底有几个对象呢? ==比较的是引用。可能很 阅读全文

JPanel与JFrame的区别

2012-11-22 19:37 by youxin, 877 阅读, 收藏, 编辑
摘要: Jpanel不是顶级窗口,不能直接输出。它必须放在象JFrame这样的顶级窗口上才能输出。JcontentPane实际上就是一个JPanel。Jframe中会默认new一个JPanel,塞入JFrame中。JPanel可以放在JFrame中,但是反过来就是不行的!效果上没什么特大的区别~!JFrame用来做主页面框架,JPanel只是普通页面JPanel可以放在JFrame中,反之不行.JFrame 可以看成,最底级容器,可以包括其他上级容器包括JPanelJFrame只是一个界面,也就是个框架,要想把控件放在该界面中,必须把控件放在JPanel中,然后再把JPanel放在JFrame中,J. 阅读全文

JDBC conn.setAutoCommit(false) 问题

2012-11-22 12:28 by youxin, 6868 阅读, 收藏, 编辑
摘要: **********做项目是否都有必要设置conn.setAutoCommit(false)?public void updateCoffeeSales(HashMap<String, Integer> salesForWeek) throws SQLException { PreparedStatement updateSales = null; PreparedStatement updateTotal = null; String updateString = "update " + dbName + ".COFFEES " + &qu 阅读全文

Java classs getClass() Class.forName

2012-11-22 12:27 by youxin, 824 阅读, 收藏, 编辑
摘要: CLASS 在Java中,每个 class 都有一个相应的 Class 对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个 Class 对象,用于表示这个类的类型信息 获取 Class 实例的三种方式: (1) :利用 对象调用 getClass()方法 获取该对 阅读全文

JDBC连接mysql乱码问题

2012-11-22 12:25 by youxin, 338 阅读, 收藏, 编辑
摘要: 打算更新一个中文表的数据,在中文后加入一个英文单词,没想到这个操作竟然使整个表的中文都出现乱码了。把Connectioncon=DriverManager.getConnection ("jdbc:mysql://127.0.0.1:3306/mydb","root","root");改成:Connectioncon=DriverManager.getConnection("jdbc:mysql://"+hostip+"/"+DBname+"?user="+user+&quo 阅读全文

Eclipse中集成和调试Ant工程

2012-11-21 22:52 by youxin, 541 阅读, 收藏, 编辑
摘要: 新的eclipse中已经安装了ant,如果没有去官网下载安装即可。Ant是什么?Ant是一种基于Java和XML的build工具。2 下载、安装Ant1,安装apache-ant-1.7.0的前提需要安装JDK2,将apache-ant-1.7.0的安装包解压到E:\tool-ant\目录下,当然t... 阅读全文

转:javax.swing.JFrame中使用jpanel来布局

2012-11-16 00:38 by youxin, 2792 阅读, 收藏, 编辑
摘要: 通俗的讲jframe相当与桌子,而jpanel相当桌布,jbutton,jlabel等相当于杯子,碗筷等,杯子,碗筷虽然可以直接放到桌子上但不是很规范,应该放到桌布上才对。以前我没有用jpanel来布局。直接就是jframe.add(jlabel1);然后就是jlabel1.setbound();这种做法不妥,虽然窗口可以正常显示,但是还是不规范,有事后会有点小问题,当组件更改的时候会有点问题,会有阴影(以前遇到过这种问题)。正确的做法是1.使用Container content=this.getContentPane();得到容器2.实例化一个jpanel 例如JPanel panel1=n 阅读全文

java对象的串行化

2012-10-19 13:27 by youxin, 873 阅读, 收藏, 编辑
摘要: 串行化(序列化)它是指将对象存储到介质(如文件、内在缓冲区等)中或是以二进制方式通过网络传输。之后可以通过反串行化从这些连续的字节(byte)数据重新构建一个与原始对象状态相同的对象,因此在特定情况下也可以说是得到一个副本,但并不是所有情况都这样。序列化时,transient变量和类变量(静态变量)不会被序列化。 Java提供了自动串行化的机制,被串行化的类必须是实现java.io.Serializable接口。这是一个标志接口。下面是一个简单的自动串行化的例子:import java.io.Serializable;public class Employee implements Seria 阅读全文

java对象克隆

2012-10-18 23:53 by youxin, 287 阅读, 收藏, 编辑
摘要: 1. Overiew在实际编程中,我们经常会遇到这样一个情景:有一个对象A,存在属性方法,现在需要一个和A完全相同的新对象B,并且B的任何改动都不会影响到A中的值。那么,最常用的办法就是对A进行克隆。2. How to Clone在java.lang.Object中有一个clone方法,该方法的签名如下:Java代码protectednativeObjectclone()throwsCloneNotSupportedException; 该方法返回一个Object实例的拷贝,该实例拷贝具有:1)拷贝对象是一个新对象而不是一个原对象引用。2)拷贝的对象中包含的是原有对象信息,而不是对象初始化的信 阅读全文

一个java源文件多个类产生的class文件

2012-10-13 19:02 by youxin, 2366 阅读, 收藏, 编辑
摘要: 一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?* 可以的*但是只能有一个public类, 而且如果有public类的话,这个文件的名字要和这个类的名字一样。*如果都没有public类,名字可以不和这个类一样。public class MultiClass { public static void main(String[] args) { new MultiClass(); } int i = 0;}class B { String str = "b";}class C { String str = "c";} bin目录中会产生3个c 阅读全文
点击右上角即可分享
微信分享提示