
javaSE基础学习
qian_123456
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
apps-for-android-master之AmazeActivity
AmazeActivity这个项目中其实没有太多的东西。这个项目主要是用到了自定义View和重力加速度传感器1.自定义View就不用多说了,2.重力传感器这段代码主要是实现了让小球能在任何大于0的速度中移动,让小球的移动感觉更加的平滑。其中的mAccelX自然是从加速度中获取的X方向的分量原创 2015-06-10 15:23:27 · 379 阅读 · 0 评论 -
通过反射创建并操作对象
通过反射生成对象有两种方法:(1)使用Class对象的newInstance()方法来创建Class对象相应的实例,这种方法使用的是默认构造器,而执行newInstance()实际上是创建了一个实例import java.util.HashMap;import java.util.Map;import java.util.Properties;import java.io.FileI原创 2014-12-24 16:59:47 · 593 阅读 · 0 评论 -
JAVA学习之反射——类加载
类加载就是将类的class文件读入内存,并为之创建一个java.lang.Class对象。1.类的初始化的时机(1)创建类的实例:通过new操作符来创建实例,通过反射来创建实例,通过反序列创建。(2)调用某个类的静态方法(3)初始化某个类的子类,当初始化某个类的子类时,该子类的所有父类也同时会被初始化需要注意的是:对于final型的静态属性,如果该属性可以在编译时得到属性值原创 2014-12-24 15:56:50 · 416 阅读 · 0 评论 -
判断数据库中表是否存在
有时候要调试程序,但是程序只要运行一次数据表就已经在数据库中保存了。所以又的把数据表删了。特别麻烦。昨天找到了一段小程序://判断数据表img_table是否存在 rs=conn.getMetaData().getTables(null, null, "img_table", null); if(!rs.next()){this.createTable();}通过它就可以实原创 2014-12-23 19:49:58 · 1012 阅读 · 0 评论 -
MySQL学习之约束
1.一般数据库都支持下面五类约束:(1)NOT NULL:非空约束,指定某列不能为空(2)UNIQUE:唯一约束,指定某列或某几列的组合不能重复(3)PRIMARY KEY:主键,指定该列的值可以唯一标识该条记录(4)FOREIGN KEY:外键,指定该行记录从属于主表中的一条记录,用于保证参照完整性(5)CHECK:检查,指定一个布尔表达式,用于指定对应列的值必须满足该表达式原创 2014-12-23 18:07:39 · 517 阅读 · 0 评论 -
JAVA异常学习(二)
1.catch和throw同时使用,可以对异常进行两次处理。第一次在方法中用catch块进行处理,第二次通过throw把异常抛出,由方法的调用者进行处理。2.这种通过catch和throw同时使用,可以很好的将原始异常(程序员所要关注的)和业务异常(客户所关心的)分开,也有利于实现异常链3.异常链:捕获一个异常,并且抛出另一个异常,并把原始异常保存下来是一种典型的链式处理,也称为异常链。t原创 2014-12-07 21:26:58 · 468 阅读 · 0 评论 -
JAVA异常处理(一)
1.java有非常强大的异常处理机制。包括try,catch,finally,throw,throws(1).try块:业务执行代码,一般的程序都是放在这个里面(2).catch块:当出现异常,程序便会跳到响应的catch块中,执行错误处理代码(3).finally块:一般都是会执行finally块,主要用于回收在try块中打开的物理资源。finally块一般在try块,catch原创 2014-12-06 15:38:48 · 506 阅读 · 0 评论 -
MySQL学习之事务
1.事务是由一步或几步数据库操作序列组成的逻辑执行单元,这一系列的操作要么全部执行,要么全部放弃执行。2。数据库的事务由下列语句组成:(1)一组DML语句(数据操作语句insert,update,delete)(2)一个DDL语句(数据定义语句create,drop,alter,)(3)一个DCL语句(数据控制语句grant,revoker)DDL和DCL语句最多只能出现一个,原创 2014-12-22 16:24:46 · 434 阅读 · 0 评论 -
SimpleDateFormat
Date d=new Date(); SimpleDateFormat sdf1=new SimpleDateFormat("Gyyy年中第D天"); String dateStr=sdf1.format(d); System.out.println(dateStr); String str="07###三月##21"; SimpleDateFormat sdf2=new Si原创 2014-12-06 11:35:45 · 400 阅读 · 0 评论 -
理解java的IO流
1.输入流和输出流JAVA的输入和输出是相对于内存来说的,是从程序运行所在的内存考虑的。即从内存到硬盘应该视为输出。java的输入流主要有InputStream和Reader作为基类,输出流主要有OutputStream和Writer作为基类2.字符流和字节流字节流操作的最小单位是8位字节,主要的基类是InputStream和OutputStream;字符流操作的最小单位是16位字节,原创 2014-12-25 15:49:45 · 609 阅读 · 0 评论 -
JAVA反射之调用方法
配置文件:extObj.txta=javax.swing.JFrameb=javax.swing.JLabel#set the title of aa%title=Test Title测试文件import java.util.Map;import java.util.HashMap;import java.util.Properties;public class Exten原创 2014-12-24 21:49:03 · 411 阅读 · 0 评论 -
RandomAccessFile
RandomAccessFile是一个集输入和输出功能的接口,既可以读文件也可以写文件。下面通过RandomAccessFile实现了对文件的内容插入:package InsertContent;import java.io.File;import java.io.RandomAccessFile;import java.io.FileOutputStream;import java.原创 2014-12-27 16:23:23 · 515 阅读 · 0 评论 -
在java中打开电脑中的相应程序
java启动相应的windows程序来打开文件开源中国发表于 2014-08-27 22:27:43这里有两种方法: 1.利用java运行时环境和windows系统应用程序 首先我们都知道,在Windows中浏览器可以用来打开很多不同的文件,比如网页,txt和pdf等等(前提是你的系统注册了相关软件)。 那么IE是通过什么方式来实现不同文件用不同软件转载 2015-01-21 15:48:31 · 1854 阅读 · 0 评论 -
Thread和Runnable
通过Thread和Runnable创建线程的对比:Runnable创建线程:线程类只是继承了Runnable接口,还可以继承其他类,可以多个线程共享一个target对象,非常适合多个相同线程处理同一份资源的情况。Thread创建线程:由于已经继承了Trhead,所以不能再继承其他类了编程书写上较为的简单不能共享target对象所以一般都是采用第一种Runnable创原创 2015-01-01 17:02:38 · 410 阅读 · 0 评论 -
线程的通信
线程的通信主要是通过三个方法来完成的wait():导致当前线程等待,直到其他线程调用该同步监视器的notify()或notifyAll()方法来唤醒该线程。调用wait()将会释放对该同步监视器的锁定。notify():唤醒在该同步监视器上等待的其中一个线程。只有当前线程放弃对该同步监视器的锁定后(当前线程调用了wait()),才能执行被唤醒的线程。notifyAll():唤醒在该同步原创 2015-01-02 21:05:07 · 390 阅读 · 0 评论 -
线程的同步
synchronized(obj){...}这就是同步代码块。其中的obj就是同步监视器。obj的目的就是为了阻止两条线程对同一共享资源的访问,所以一般使用可能被并发访问的共享资源作为同步监视器。同步代码块可以理解为一个加锁--修改完成--释放锁的过程。在其中一个线程修改共享资源的过程中,其他线程是无法访问该共享资源的2.除了同步代码块,还有同步方法,所谓的同步方法其实就是在普通方法前原创 2015-01-02 20:03:15 · 377 阅读 · 0 评论 -
控制线程
JAVA提供了许多工具方法用来控制线程的执行1.join线程join方法可以让一个线程等待另一个线程先完成。当某个程序中的执行流调用了其他线程的Join方法,则该执行流所在线程将会被阻塞,直到被join加入的线程执行完成之后,才能被重新调用。下面是一个简单的例子:package joinThread;public class JoinThread extends Thread{原创 2015-01-02 19:20:10 · 408 阅读 · 0 评论 -
JAVA的新IO
JAVA的新IO添加了两个核心对象:Channel(通道)和Buffer(缓冲)。Channel相当于前面学过的InputStream和OutputStream,不过它可以通过map方法可以直接将“一块数据”映射到内存,而Buffer其实更像一个数组,发送到Channel的所有对象都必须先经过Buffer,下面是对它们俩的一些学习。1.使用BufferBuffer是一个抽象类,有许多子原创 2015-01-01 15:50:49 · 517 阅读 · 0 评论 -
使用对象流实现序列化
如果需要将某个对象保存在磁盘上或是通过网络传输,那么这个类应该实现Serializable其实实现Serializable非常简单,只要让目标类实现Serializable接口即可,也无需实现任何的方法。下面是通过对象流实现序列化的一个列子:package Test;import java.io.ObjectOutputStream;import java.io.FileOutputS原创 2014-12-27 16:54:32 · 495 阅读 · 0 评论 -
java序列化的(二)
java如果多次序列化一个对象,只有第一次序列化时才把该java对象转换成字节序列并输出,而以后的序列化只是输出一个编号而已。1.自定义序列化(1)被序列化的类中属性用transient修饰时,该属性将完全隔离在序列化之外。下面是个例子:public class TransientPer { public static void main(String[] args){ Obje原创 2014-12-30 15:10:58 · 469 阅读 · 0 评论 -
线程相关类
1.ThreadLocal类threadlocal是线程局部变量的意思,就是为每一个使用该变量的线程都提供一个该变量值的副本,每个线程都可以独立使用该变量值,而不会对其他线程造成影响package threadlocal;class Accout{ //create a ThreadLocal val private ThreadLocal name=new ThreadLocal(原创 2015-01-11 10:55:28 · 740 阅读 · 0 评论 -
PrepareStatement的用法
PrepareStatement是Statement的一个子接口,可以预编译SQL语句,预编译后的语句被存储在PrepareStatement的对象中,从而可以使用该对象多次高效的执行该SQL语句。并且PrepareStatement可以使用占位符编写SQL语句。下面是一个结合了Statement和PrepareStatement的程序:package perpared;import ja原创 2014-12-21 20:21:49 · 5132 阅读 · 0 评论 -
JAVA国际化及properties文件的使用
1.在editPlus里进行JAVA国际化还是比较麻烦的,有以下步骤:(1)新建一系列的.properties文件,就是我们所谓的资源文件,资源文件一般命名方式为:baseName_Language_Country.properties。而一般在了一个项目中的baseName是任意的,并且各个资源文件的baseName应该相同,以便使用,而Language和Country是有规定的。例如m原创 2014-12-06 10:44:04 · 7812 阅读 · 0 评论 -
JAVA的getBytes()
byte是字符编码的最小单位原创 2014-11-25 09:02:50 · 662 阅读 · 0 评论 -
JAVA数值的深入理解
栈内存:所有在方法中定义的变量原创 2014-11-24 19:57:33 · 408 阅读 · 0 评论 -
JAVA运算符
JAVA中的逻辑运算符1.&&与&原创 2014-11-24 19:55:38 · 403 阅读 · 0 评论 -
java数据类型的认识
JAVA语言支持的类型:基本类型和引用类型基本类型:原创 2014-11-24 13:34:22 · 436 阅读 · 0 评论 -
java跨平台的理解
JAVA既是一种编译型语言,也是一种解释型原创 2014-11-24 09:25:12 · 486 阅读 · 0 评论 -
对象与垃圾回收
7.对象在内存中有三种状态:激活,去活,死亡状态。8.激活状态:当一个对象被创建后,有一个以上的引用变量引用它,则这个对象在程序中处于激活状态9.去活状态:如果程序中的对象不再有任何引用变量引用它,就进入去活状态。在去活状态下,系统的垃圾回收机制准备回收该对象所占用的内存。在回收该对象前,系统会调用所有去活状态对象的finalize方法10.通过finalize方法可以实现从去活状原创 2014-11-27 20:56:09 · 414 阅读 · 0 评论 -
JAVA中的内部类
1.内部类成员可以直接访问外部类的私有数据,而外部类不能访问内部类的实现细节2.在非静态内部类里可以直接访问外部类的private成员,这是因为非静态内部类对象里保存了一份它寄存的外部类对象的引用。3.非静态内部类对象必须寄存在外部类对象中,有内部类对象就一定有外部类对象,而有外部类对象则不一定有内部类对象4.JAVA中不允许在非静态内部类中定义静态成员,但在静态内部类中可以定义静态成原创 2014-11-27 20:42:23 · 498 阅读 · 0 评论 -
JAVA的多态
1.Java引用变量有两个类型:一个是编译时的类型,一个是运行时的类型。编译时的类型由声明该变量时使用的类型所决定,而运行时的类型由实际赋给该变量的对象所决定。如果编译时类型和运行时类型不一致,就会出现所谓的多态(看成向上转型???)class BaseClass { public int book=6; public void base(){ System.out.println(原创 2014-11-25 19:23:51 · 412 阅读 · 0 评论 -
toString的用法
toString方法是一个非常特殊的方法,它是一个“自我描述”class Apple{ private String color; private double weight; public Apple(String color,double weight){ this.color=color; this.weight=weight; } public String toS原创 2014-11-25 21:04:36 · 487 阅读 · 0 评论 -
单例类(Singleton)
在有些时候,我们只是需要产生一个类的实例,这时就需要一个单例类:class Singleton{ 用于缓存已经创建的对象 private static Singleton instance; private Singleton(){ } 在对象未产生之前调用该方法,所以必须是类的方法, public static Singleton getInstance(){ if(instan原创 2014-11-25 21:34:01 · 422 阅读 · 0 评论 -
JAVA中的Final
final应用的几点注意:1.如果final修饰的变量是基本数据类型,那么一次赋值以后就不可以再对变量进行赋值。如果final修饰的变量是引用类型变量(数组,对象等),那么该引用类型变量不能重新被赋值,但是可以改变引用类型变量所引用对象的内容(数组中的值,对象中的变量等)2.final修饰的方法不可被重写,如果不希望子类重写父类的方法,可以使用final修饰该方法,但是可以被加载原创 2014-11-25 21:50:46 · 338 阅读 · 0 评论 -
正则表达式
1.正则表达式的几个特殊的方法:(1) boolean matches(String regex):判断该字符串是否匹配指定的正则表达式(regex)(2) String replaceAll(String regex,String replacement):用replacement替换字符串中所有匹配指定正则表达式regex的字符(3) String replaceFirst(Str原创 2014-12-04 21:08:36 · 438 阅读 · 0 评论 -
线程池
线程池在系统启动时会创建大量的空闲线程,程序将一个Runnable对象传给线程池,线程池就会启动一条线程来执行该对象的run方法,当run方法执行完成,该线程并不是死亡,而是返回线程池中成为空闲线程,等待执行下一个Runnable对象的run方法创建线程池的一般步骤:(1)调用executors类的静态工厂方法创建一个executorService对象,该对象就代表了线程池。(2)创建原创 2015-01-11 10:25:40 · 476 阅读 · 0 评论 -
JDBC中的SQL
在JDBC中使用SQL几个固定的步骤:(1)加载驱动,Class.forName(driverClass)每个数据库的驱动都有所不同,例如:MySQL的driverClass是com.mysql.jdbc.Driver。并且需要将mysql-connector-java.jar文件加载到项目中。(2)获取数据库连接。DriverManager.getConnection(String ur原创 2014-12-20 18:28:40 · 560 阅读 · 0 评论 -
JAVA系统相关
1.System类和Runtime类是两个和系统相关的类。其中System类代表当前JAVA程序运行的平台,而Runtime类代表的是JAVA程序的运行时环境2.System类输出一些与平台相关的信息,比如系统属性3.Runtime类可以得到一些JVM相关信息,比如最大可用内存。并且Runtime可以用来加载文件和动态链接库。public class TestIdentityHashC原创 2014-12-02 21:33:11 · 397 阅读 · 0 评论 -
MySQL的简单学习
在学习JDBC之前肯定要有点数据库的基础,所以就学了一点。我学习的是MySQL,所以后面都是关于MySQL数据库中每一列称为一个字段,每一行称为一个记录1.创建数据库:create database 数据库的名字2.为数据库创建一张数据表:(1) use 数据库名字(2)create table 数据表的名字(变量名 变量类型,变量名 变量类型,...)整形:int 可变字符原创 2014-12-18 15:40:09 · 524 阅读 · 0 评论 -
泛型
1.对于泛型类,不能在静态属性声明中使用类型形参,不能在静态方法声明中使用类型形参2.如果FOO是bar的一个子类,而G是具有泛型声明的类或接口,那么FOO[]是bar[]的一个子类,但是G是G的子类并不成立 3.程序可以调用get()方法来返回List集合指定索引处的元素,其返回值是一个未知的类型,但是可以肯定的是:它总是一个Object4.List:(?)代表一个未知类型,但是原创 2014-12-01 19:31:42 · 325 阅读 · 0 评论