|
|
|
|
|
03 2014 档案
使用Java反射机制获取对象
摘要:本文由广州疯狂软件教育java培训分享:构造接口Person,所有Person都会问好,但具体讲什么语言就不知道了!package interf;public interface Person { public void sayHello();}构造一个Person的实现类American,问好的时候讲英语package interf;public class American implements Person { @Override public void sayHello() { System.out.println("Hello,I'm American!"
阅读全文
Java类的基本内容
摘要:本文由广州疯狂软件教育java培训分享: import语句 为了能够使用某一个包的成员,我们需要在 Java 程序中明确导入该包。使用“import”语句可完成此功能。在 java 源文件中 import 语句应位于 package 语句之后,所有类的定义之前,可以没有,也可以有多条,其语法格式为: import package1[.package2…].(classname|*); java 运行时环境将到 CLASSPATH + package1.[package2…]路径下寻找并载入相应的字节码文件 classname.class。“*”号为通配符,代表所有的类。也就是说 im...
阅读全文
Java集合那些事儿
摘要:本文由广州疯狂软件java培训分享: 从map说起吧,HashMap很经典了,自己的理解就是通过数组和链表实现的,hash算法最简单的理解就是取模,看源码可以知道HashMap内部有一个Entry[]的数组,而Entry本身的数据结构就是一个链表的节奏,差不多就是将key通过hash运算,在O(1)的时间里面确定要存在哪个Entry里面,就是等于确定Entry的下标,注意这里取的是key的hashCode()来进行计算,如果不重写hashCode(),则会默认调用父类Object的该方法,返回的是对象的内存地址。所以对于放入HashMap的对象一定要注意重写hashCode()方法,另外在..
阅读全文
Java查看类的成员
摘要:本文由广州疯狂软件java培训分享: 在一个类的内部,一般包括以下几类成员:成员变量、构造方法、普通方法和内部类等。使用反射机制可以在无法查看源代码的情况下查看类的成员。编写程序,使用反射机制查看ArrayList类中定义的成员变量、构造方法和普通方法。 思路分析:这个ArrayList类不是自己定义的,就是Java里面的java.util.ArrayList类。 代码如下: import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method;...
阅读全文
Java抽象类和接口有什么区别?
摘要:本文由广州疯狂软件java培训分享: 回答一: 1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。 2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。 3.abstract class和interface所反映出的设计理念不同。其实abstract ...
阅读全文
spring对hibernate批量操作的支持
摘要:本文由广州疯狂软件java培训分享: 目前好多项目都使用spring的HibernateTemplate作为dao层,在实际开发中经常会遇到批量更新和删除的操作, 在hibernate2.0时代,hibernate本身并没有提供对批量更新和批量删除的支持,当执行更新或删除操作时会先执行查询将所有对象加载到内存,而后一个对象一个对象的删除或更新,如果数据量很大,不仅会占用很多内存,而且也会使数据库的效率大大降低,如果想批量的执行就只能绕开hibernate的api使用jdbc的方式。 好在hibernate3.0以后,hibernate提供了对批量更新和批量删除的支持,能够直接执行批量...
阅读全文
Java多线程——线程操作
摘要:本文由广州疯狂软件java培训分享: 如何停止线程。stop()方法已过时。新的stop方案:stopFlag()privatebooleanflag=true;publicvoidrun(){while(flag){}}publicvoidstopFlag(){this.flag= false;};stopFlag()弊端:若while内部中代码在运行中(尤其是冻结状态),无法读取到标记,则无法立即结束线程。若线程处于冻结状态未能结束会导致不可预测后果。解决方案:当没有指定的方式让冻结的线程恢复到运行状态,需要清除冻结状态。强制清除冻结状态,令线程回复到运行状态,即可操作标记(flag)来结
阅读全文
Java基本数据类型对象包装类
摘要:本文由广州疯狂软件java培训分享: 基本数据类型对象包装类。 byte Byte short short int Integer long Long boolean Boolean float Float double Double char Character 基本数据类型对象包装类的最常见作用, 就是用于基本数据类型和字符串类型之间做转换:toString(); Integer.MAX_VALUE /* JDK1.5版本以后出现的新特性。 声明时自动装箱。 运算时自动拆箱。 */ class IntegerDemo1 { public stat...
阅读全文
Java的方法参数的传递
摘要:本文由广州疯狂软件java培训分享: 关于java的方法的参数传递,根据参数类型不同,对于方法的实参的改变也是不同的。 程序的运行结果 /** * main方法 */ public static void main(String[] args) { // int int num = 1; System.out.println("int:改变前的值:" + num); changeValue(num); System.out.println("int:改变后的值:" + num); // Integer Integer num2 = new Integer
阅读全文
学习java从length和length()开始
摘要:本文由广州疯狂软件java培训分享: 首先,你能快速回答以下问题吗? 没有任何IDE的代码能自动完成,如何获取数组的长度?以及如何获取一个字符串的长度? 我问不同水平(入门和中级)的开发人员这个问题。他们都不能正确或自信地回答这个问题。虽然IDE提供了方便的代码来自动完成,它也带来了“表面理解”的问题。在这篇文章中,我将解释有关Java数组的一些关键概念。 答案: int[] arr = new int[3]; System.out.println(arr.length);//length for array String str = "abc"; System.out.p
阅读全文
java学习——内部类、匿名内部类
摘要:本文由广州疯狂软件java培训分享: 一、常见内部类 class { public static void main(String[] args) { System.out.println("Hello World!"); } } class Outer { class Inner { void run() { System.out.println("hello") } } } //内部类可以直接调用外部类的方法,相当于内部类具备默认的Outter.this。 //外部类需要new出内部类对象才能调用,亦或者内部类在外部类的成员位置上静态修饰,才可以由.
阅读全文
Java中接口之间的继承
摘要:本文由广州疯狂软件java培训分享: 正如在stackoverflow上面所讨论的一样,一个类只能extends一个父类,但可以implements多个接口。java通过使用接口的概念来取代C++中多继承。与此同时,一个接口则可以同时extends多个接口,却不能implements任何接口。因而,Java中的接口是支持多继承的。 然后我又做了个实验,来验证如果多个父子接口中有多个相同的方法声明,然后在实现这个最终的接口的时候,相同的方法声明在实现的时候会不会有冲突呢? 首先写了个接口:TestInterfaceA.java: 复制代码 1 package com.peter.ja...
阅读全文
Java程序打包方法最强集合
摘要:本文由广州疯狂软件java培训分享: 由于处理的点数量很大(上万),而且每个点的显示都涉及图片的旋转,所以我准备用java的swing来处理。好久没写过java客户端程序了,总结一下java客户端程序如何打包成jar和exe可执行文件。 一、用jar命令 要得到JAR包还能用Java自带的命令行式打包软件jar.exe(位于c:\jdk\bin目录),其打包命令为: jar cvfm 包名.jar C:\eclipse3.0.1\eclipse\workspace\myswt\manifest.txt -C C:\eclipse3.0.1\eclipse\workspace\mysw...
阅读全文
Java程序优化之字符串优化处理
摘要:本文由广州疯狂软件java培训分享: 字符串是软件开发中最为重要的对象之一。通常,字符串对象或其等价对象(如char数组),在内存中总是占据了最大的空间块。因此如何高效地处理字符串,必将是提高系统整体性能的关键所在。 1.String对象及特点 String对象是Java语言中重要的数据类型,但它并不是Java的基本数据类型。在C语言中,对字符串的处理最通常的做法是使用char数组,但这种方式的弊端是显而易见的,数组本身无法封装字符串操作所需的基本方法。而在Java语言中,String对象可以认为是char数组的延伸和进一步封装。Java中String类,它注意由3部分组成:char数...
阅读全文
Hibernate简易BaseDao演示单例
摘要:本文由广州疯狂软件java培训分享: Hibernate简易BaseDao演示单例模式和线程池 Hibernate简易BaseDao演示单例模式和线程池 package com.dao; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Config...
阅读全文
Java对象引用与对象的区别
摘要:本文由广州疯狂软件java培训分享: 为便于说明,我们先定义一个简单的类: class Vehicle { int passengers; int fuelcap; int mpg; } 有了这个模板,就可以用它来创建对象: Vehicle veh1 = new Vehicle(); 通常把这条语句的动作称之为创建一个对象,其实,它包含了四个动作。 1)右边的“new Vehicle”,是以Vehicle类为模板,在堆空间里创建一个Vehicle类对象(也简称为Vehicle对象)。 2)末尾的()意味着,在对象创建后,立即调用Vehicle类的构造函数,对刚生成的对象...
阅读全文
Java 希尔排序
摘要:本文由广州疯狂软件java培训分享: 希尔排序是在插入排序的基础上进行优化,主要是减少插入次数。 例子中使用的待排序数据 {3, 32, 1, 55, 0, 3, 9}排序规则是从左到右,从小到大排序,正确排序的结果:{0, 1, 3, 3, 9, 32, 55} 一、希尔排序源码 public class ShellSort { public void shellSort(int array[]) { if (array == null) { throw new NullPointerException(); } // 1 选择步长 for (int gap = arr...
阅读全文
为什么匿名内部类参数必须为final类型
摘要:本文由广州疯狂软件java培训分享: 基础语法:如果定义一个匿名内部类,并且希望它使用一个在其外部定的对象,那么编译器会要求其参数引用是final的。 1.匿名内部类肯定是局部内部类(在一个方法里面定义的内部类),因为在java中,语句必须写在方法里,而匿名内部类其实就是一条特殊的语句; 2.外部给定的对象就是所有外来的对象:外部方法的形参、局部变量、基本类型或自定义类型等。 3.内部类很微妙,它可以直接访问外部类的private field,这打破了类的封装。但是内部类又有它自身的好处,比如简洁,可见性等,于是就把它定位成“只读”,也就是final。不过这个保护也非常脆弱! 4....
阅读全文
Java动态代理之JDK
摘要:本文由广州疯狂软件java培训分享: 首先先让我们谈一下一种设计模式: 代理模式 现在让我们来讨论一下动态代理 代码上,记得看注释哦 package edu.fjnu.cs.hwb.proxypattern; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; interface MyOperation //定义了所有的接口方法 { void say(String name); } class MyOpe...
阅读全文
Java jdbc操作oracle数据库的两种方式
摘要:本文由广州疯狂软件java培训分享: 第一种应该是比较古老的方法了。 Windows下采用JDBC-ODBC Bridge连接oracle数据库 1、 安装oracle客户端程序,在tnsnames.ora中配置好相应的数据库连接串文件,此处设连接串名为“dbora”。 2、 在windows的控制面板->“数据库源ODBC”中,建立相应的用户或者系统DSN,具体方法:在安装的数据源的驱动程序选择“Microsoft ODBC for Oracle”。 点击“完成”,在弹出的对话框中,填入如下信息: 数据源名称:dbjdbc 描述:jdbc数据源 用户名称:manager -...
阅读全文
数据结构之队列的Java实现
摘要:本文由广州疯狂软件java培训分享: 队列在计算机术语中使用queue,和list(排)其实是一个意思。队列也是一种数据结构,类似于栈,只是与栈相反,在队列中最先插入的数据也最先被移除,即先进先出(FIFO,First In First Out)。队列可以理解成排队,比如,食堂窗口排的队,越在前面的,越早得到服务而先离开。在银行大厅的排号的机器也许就用了队列这个数据结构。在打印的时候,有“添加到队列”的选项,队列应用是很广泛的。 队列的操作有:插入到队尾数据项,移除队头数据项,查看数据项等功能。 下面用Java实现队列的基本功能(数组版)。 package cn.zhf.list; ...
阅读全文
Java——泛型、异常
摘要:本文由广州疯狂软件java培训分享: 泛型——基本概念 泛型是java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 java语言引入泛型的好处是安全简单在java SE1.5 之前,没有泛型的情况下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。 泛型的好处...
阅读全文
Java中的动态代理模式
摘要:本文由广州疯狂软件java培训分享: 最近一直在分析hadoop的RPC机制。在hadoop中,DataNode和NameNode之间的控制信息的交流是通过RPC机制完成的,采用的是动态代理和java NIO的方式。DataNode端是通过获得NameNode的代理,通过该代理和NameNode进行通信的,为了更好的分析hadoop的RPC机制我想先分析一下动态代理是怎么实现。下面就是动态代理的最最简单的代码实现,我们一起来看看吧。 Java代码 import java.lang.reflect.InvocationHandler; import java.lang.reflect...
阅读全文
Java-选择排序法
摘要:本文由广州疯狂软件java培训分享: package m; import java.util.*; public class b { public static int[]a={2,34,14,56,78,97,90,13,11,45}; public static void main(String[]args) { chooseSort(10); System.out.println("the result is:"); for(int t=0;t<10;t++) System.out.print(a[t]+" "); } public stat
阅读全文
Java-快速排序法
摘要:本文由广州疯狂软件java培训分享: package tree1; import java.util.*; public class q1 { public staticint []a={2,5,7,0,9,7,1,3,44,21}; public static void main(String[]args) { System.out.println("quick sorting:"); quick(a,0,9); System.out.println("after sorting:"); for(int i=0;i { dp=partition(a,l
阅读全文
Java面向对象之静态
摘要:本文由广州疯狂软件java培训分享: 1静态可以修饰:成员变量和成员函数。 什么时候定义静态变量(类变量): 当对象中出现数据共享时,该数据被静态所修饰。 对象中的特有数据要定义成非静态,存在于堆内存中。 什么时候定义静态函数: 当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的。 eg: class Person { String name; public void show(){ // 这中间没有使用name,则此函数show()可以定义成static,,,, } } 2 每一个应用程序都有共性的功能,可以将这些功能进行抽象,独立封...
阅读全文
Hibernate关联查询
摘要:本文由广州疯狂软件java培训分享: 很多人认为hibernate一旦涉及到多张表查询就很不方便,只能通过原声sql解决,其实不然,hql语句其实已经比较强大了,基本涵盖了sql的60%的功能。我认为用原生sql的场景应该为以下几点情况: 1. 非常复杂sql(嵌套、临时表、混合语句【update包含select嵌套】) 2. 某数据库(如oracle)特性函数 3. 特殊业务sql,即查询出的结果是某种特殊业务含义,并不是po实体类里的字段。例如:select col_1 as business1 , col_2 as business2 from table;(business...
阅读全文
java处理日期时间 相加减大全
摘要:本文由广州疯狂软件java培训分享: java处理日期时间 相加减 JAVA处理日期时间常用方法: 1.java.util.Calendar Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。 例: Java代码 1. Calendar cal = Calendar.getInstance...
阅读全文
Java核心技术代理
摘要:本文由广州疯狂软件java培训分享: 代理模式: 代理模式支持将方法中的某些操作从实际的对象中分离出来,通过它的代理类来实现这些操作。 代理类: 代理类可以创建全新的类,能够实现指定的接口。 创建一个代理对象,需要使用Proxy类的静态方法 Object newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler handler)。 loader 类加载器。 interfaces 数组元素是代理对象需要实现的接口。 handler 调用处理器: 调用处理器是实现了实现了Invoca...
阅读全文
Java变量命名规范
摘要:疯狂软件教育-Java变量命名规范 Java是一种区分字母的大小写(case-sensitive)的语言,下面谈谈Java语言中包、类、变量等的命名规范。 (一)Package(包)的命名: Package的名字应该都是由一个小写单词组成,例如net.ebseries.modules。 (二)Class(类)的命名: Class的名字首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如:DataFile或InfoParser。 (三)变量的命名: 变量的名字可大小写混用,但首字符应小写。词由大写字母分隔,限制用下划线,限制使用美元符($),因为这个字符对内部...
阅读全文
Java中线程同步方法
摘要:疯狂软件分享 1 wait方法: 该方法属于Object的方法,wait方法的作用是使得当前调用wait方法所在部分(代码块)的线程停止执行,并释放当前获得的调用wait所在的代码块的锁,并在其他线程调用notify或者notifyAll方法时恢复到竞争锁状态(一旦获得锁就恢复执行)。 调用wait方法需要注意几点: 第一点:wait被调用的时候必须在拥有锁(即synchronized修饰的)的代码块中。 第二点:恢复执行后,从wait的下一条语句开始执行,因而wait方法总是应当在while循环中调用,以免出现恢复执行后继续执行的条件不满足却继续执行的情况。 第三点:若wait方...
阅读全文
java.io.File中的绝对路径和相对路径
摘要:疯狂软件分享 File类是用来构造文件或文件夹的类,在其构造函数中要求传入一个String类型的参数,用于指示文件所在的路径.以前一直使用绝对路径作为参数,其实这里也可以使用相对路径.使用绝对路径不用说,很容易就能定位到文件,那么使用了相对路径jvm如何定位文件的呢? 按照jdk Doc上的说法”绝对路径名是完整的路径名,不需要任何其他信息就可以定位自身表示的文件。相反,相对路径名必须使用来自其他路径名的信息进行解释。默认情况下,java.io包中的类总是根据当前用户目录来分析相对路径名。此目录由系统属性user.dir指定,通常是Java虚拟机的调用目录.” 相对路径顾名思义,相对于...
阅读全文
Java程序控制流程
摘要:本文由广州疯狂软件java培训分享: 1 if-else if-else语句是控制程序流程的最基本的形式,可以按以下两种形式使用: if (Boolean-expression) statement if (Boolean-expression) statement else statement 布尔表达式必须产生一个布尔结果,statement代表用分号结尾的简单语句或复合语句。 2 while while、do-while用来控制循环,语句会重复执行,直到起控制作用的布尔表达式得到的结果为止, while循环的格式如下: while (Boolean-expr...
阅读全文
Java 匿名类的理解
摘要:本文由广州疯狂软件java培训分享: 匿名类与其他类的不同就在于匿名,也就是没有名称。 Java中允许创建子类对象时,除了使用父类的构造方法外,还可以用类体。 匿名类就是一个没有类申明的类体,因为没有名称,所有匿名类不可以申明对象,但却可以创建对象。 例如A是一个子类,那么下面的代码就是A的一个子类(匿名类)创建对象 new A(){ 匿名类的类体 }; 由于匿名类是一个子类,所以和有一般子类的特征。可以继承父类的方法,同样也可以重写父类的方法。值得提醒的是,在使用匿名类时,一定是在某个类中直接用匿名类创建对象,因此匿名类必定是内部类,所以和其他匿名类一样可以访问外嵌类中的...
阅读全文
Java程序StringBuffer的用法
摘要:本文由广州疯狂软件java培训分享: 在使用StringBuffer 的时候,习惯性的像String一样把他初始化为了 StringBuffer result = null; 结果警告:Null pointer access: The variable result can only be null at this location 运行后报错,才意识到StringBuffer和String还是有很多区别的,摆渡了些资料整理出来,共享。 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以Strin...
阅读全文
Java关键字final
摘要:本文由广州疯狂软件java培训分享: 一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 final不能用于修饰构造方法。 注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。 1、fina...
阅读全文
Java编程基础之继承
摘要:本文由广州疯狂软件java培训分享: 继承(Inherit)———————— 什么是继承 子类会自动继承父类所有的方法和属性。 为什么要使用继承 最终还是为了一个目的,实现代码的复用性。 注意: 千万不要为了获取其他类的功能,简化代码而继承。 必须是类与类之间有所属关系才可以继承。所属关系 is a(子类是父类的一种)。 一个孩子只能有一个父亲! 继承: 1,提高了代码的复用性。 2,让类与类之间产生了关系。有了这个关系,才有了多态的特性。 l Super———— 如果子类中出现非私有的同名成员变量时, 子类要访问本类中的变量,用this 子类要访问父类中的...
阅读全文
Java类加载和类反射回顾
摘要:一、一个命令对应一个进程。 当我们启动一个Java程序,即启动一个main方法时,都将启动一个Java虚拟机进程,不管这个进程有多么复杂。而不同的JVM进程之间是不会相互影响的。这也就是为什么说,Java程序只有一个入口--main方法,让虚拟机调用。而两个mian方法,对应的是2个JVM进程,启动的是两个不同的类加载器,操作的实际上是不同的类。故而不会互相影响。 二、类加载。 当我们使用一个类,如果这个类还未加载到内存中,系统会通过加载、连接、初始化对类进行初始化。 1、类加载:指的是将类的class文件读入JVM,并为之创建一个Class对象。 2、类连接:指的是把类的二进...
阅读全文
要点Java6 变量和类型
摘要:本文由广州疯狂软件java培训分享: 变量和类型 尽管Java是面向对象的,并非所有类型都是对象。它们叫做基本类型primitives。. 下面列出了java中的基本类型: byte(number,1字节) short(number, 2字节) int(number, 4个字节) long(number,8字节) float(浮点数, 4字节) double(双精度浮点数r, 8 bytes) char(字符,2字节) boolean(true或false,1个字节) Java是一种强类型语言,这意味着我们在使用变量前需要先定义它们的类型。 Numbers 声...
阅读全文
Java中使用二分法排序
摘要:本文由广州疯狂软件java培训分享: import java.util.Scanner; //二分法 public class SplitBy2Sort { public static int splitBy2(int[] a, int num) { int low = 0; int high = a.length - 1; int mid; while (true) { // 取中间下标 mid = (low + high) / 2; if (a[mid] == num) { return mid; } else if (low > high) { return...
阅读全文
Java3D快速上手
摘要:本文由广州疯狂软件java培训分享: 接下来创建一个Hello.java,具体代码(参考别人的),这里只讲方法,不讲技术,具体的自己再摸索。 Java代码 import com.sun.j3d.utils.geometry.*; import com.sun.j3d.utils.universe.*; import javax.media.j3d.*; import javax.vecmath.*; public class Hello { public Hello() { // 创建一个虚拟空间 SimpleUniverse universe = new Simple...
阅读全文
Java线程死锁模拟
摘要:本文由广州疯狂软件java培训分享: 1,关于死锁的理解 死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁 背景介绍:我们创建一个朋友类,当朋友向我们鞠躬的时候,我们也要向朋友鞠躬,这样才算一个完整的动作。当两人同时鞠躬的时候,都在等待对方鞠躬。这时就造成了死锁。 模拟程序: package com.yxy.thread; public class Deadlock { static class Friend { //朋友名字 private final String name; //朋友实体类...
阅读全文
Java中的类和对象及构造方法笔记
摘要:本文由广州疯狂软件java培训分享: 1.生活中有哪些是对象? 1.对象下一个定义 对象是现实生活中具体的某一个物体或者具体的某一个事物。 你眼睛所看到的任何一个物体,所做所想的任何一件事,就是一个对象。 2.举例 某一台笔记本电脑,某一个笔记本,某一张桌子,某一本书,某一个盆栽,某一个杯子,某一个个鼠标,某一个人,某一块黑板 3.如何描述一个对象?从那几个方法面板来描述? 特征:大小,颜色,质量,生产商,材料 行为,用途,功能:写字 2.类的组成 1.生活中是怎样对物体进行分类的? 相似的特征和相似的行为。 2.程序中的类是什么样的? 3.程序中类的组成 类...
阅读全文
Java的方法参数的传递
摘要:本文由广州java培训分享: 关于java的方法的参数传递,根据参数类型不同,对于方法的实参的改变也是不同的。 程序的运行结果 /** * main方法 */ public static void main(String[] args) { // int int num = 1; System.out.println("int:改变前的值:" + num); changeValue(num); System.out.println("int:改变后的值:" + num); // Integer Integer num2 = new Integer(1);
阅读全文
Java中使用二分法排序
摘要:本文由广州疯狂软件java培训分享: 具体代码: import java.util.Scanner; //二分法 public class SplitBy2Sort { public static int splitBy2(int[] a, int num) { int low = 0; int high = a.length - 1; int mid; while (true) { // 取中间下标 mid = (low + high) / 2; if (a[mid] == num) { return mid; } else if (low > high) ...
阅读全文
Java复制文件和文件夹
摘要:本文由广州疯狂软件java培训分享: Java 复制文件和文件夹 // 复制文件 public static void copyFile(File sourceFile, File targetFile) throws IOException { BufferedInputStream inBuff = null; BufferedOutputStream outBuff = null; try { // 新建文件输入流并对它进行缓冲 inBuff = new BufferedInputStream(new FileInputStream(sourceFile)); //...
阅读全文
Spring中保护数据库密码
摘要:Spring中保护数据库密码由广州疯狂软件java培训分享:spring中通过配置文件配置数据源时,需要对数据库密码进行保护,具体方法可通过重写org.springframework.beans.factory.config.PropertyPlaceholderConfigurer类中的processProperties方法来实现,具体步骤如下:spring中applicationContext.xml配置文件如下配置classpath:conf/platform.properties ...其中MyPropertyPlaceholderConfigurer类为自定义类,继承了Propert
阅读全文
Java工厂模式
摘要:JAVA工厂模式由广州疯狂软件java培训分享: 2.工厂模式 工厂模式就是专门负责将大量有共同接口(或者共同抽象父类)的类实例化,而且不必事先知道每次是要实例化哪一个类的模式。它定义一个用于创建对象的接口,由子类决定实例化哪一个类。 优点 工厂类是整个模式的关键.包含了必要的逻辑判断,根据外界给定的信息,决定究竟应该创建哪个具体类的对象.通过使用工厂类,外界可以从直接创建具体产品对象的尴尬局面摆脱出来,仅仅需要负责“消费”对象就可以了。而不必管这些对象究竟如何创建及如何组织的.明确了各自的职责和权利,有利于整个软件体系结构的优化。 缺点 由于工厂类集中了所有实例的创建逻辑,违...
阅读全文
Java单例模式
摘要:JAVA单例模式由广州疯狂软件java培训分享: 1.单例模式 单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。 方法一: public class Singleton{ public static Singleton instance == null; private singleton() { } public static Singleton getSingleton...
阅读全文
Java排序算法练习
摘要:本文由广州疯狂软件java培训分享: import java.util.*; public class SortingTest { public static void main(String[] args){ int[] arrNoSorted = {89,56,32,15,46,69,54}; // 在进行排列之前先将数组中的值依次显示出来。 System.out.print("The array before sorting \n -> [\'"); for(int x=0;x if(x!=arrNoSorted.length-1){ System.ou
阅读全文
Java中正则表达式的一个简单例子
摘要:本文由广州疯狂软件java培训分享: import java.util.Scanner; public class regexTest { // 新建类 public static void main(String[] args){ // 主方法 Scanner sc = new Scanner(System.in); // new Scanner类对象 System.out.println("Please Enter Email:"); String email = sc.nextLine(); System.out.println("Please Enter
阅读全文
Java操作文件
摘要:本文由广州疯狂软件java培训分享: 操作文件 创建File类对象: File 对象名 = new File(String path); File 对象名 = new File(String Path,String name); File 对象名 = new File(File dir,String name)。 说明:参数 path 指明了新创建的 File 对象对应的磁盘文件或目录名及其路径名,path 参数也可以对应磁盘上的某个目录;参数 name 表示文件或目录名;参数 dir 为另一个已存在的代表某磁盘目录的File 对象,表示文件或目录的路径。 常用方法: pu...
阅读全文
Java正则表达式组group()的用法
摘要:本文由广州疯狂软件java培训为你整理: 在Java中使用正则表达式返回符合正则表达式的字符串就要用到group(),group中记录了所有符合指定表达式的字符串。本文通过一段代码讲解如何使用group()。 public static void main(String[] args) { Pattern p = Pattern.compile("(\\d+,)(\\d+)"); String s = "123,456-34,345"; Matcher m = p.matcher(s); while(m.find()) { System.out.prin
阅读全文
Hibernate缓存机制详解
摘要:Hibernate的一级缓存: Hibernate的一级缓存是一个线程对应一个Session,一个线程对应一个用户。也就是说Session级缓存只能给一个线程用,其它线程用不了。以及缓存和线程是绑定了的。Session间不能共享一级缓存。 一级缓存也称Session级缓存或事务级缓存,如果事务提交或回滚了,那么Session就关闭了,生命周期结束 Session与连接池的区别:池是重量级的,里面的数据都是一样的。缓存中的数据是不一样的。 缓存主要用于查询。 当使用get,load,iterate查询数据时,会进入一级缓存中查询。 当一级缓存中没有数据时,get、iterate会...
阅读全文
Java模拟from表单上传媒体到微信公众平台
摘要:本文由广州疯狂软件java培训为你整理: public class UrlRequestUtil { String result = ""; String end="\r\n"; String twoHyphens = "--"; //用于拼接 String boundary="*****"; //用于拼接 可自定义 URL submit = null; JSONObject json=null; /** * 上传多媒体文件到微信公众平台 * @param fileType 文件类型 * @param access
阅读全文
Java读取csv
摘要:本文由广州疯狂软件java培训为你整理: java读取csv,代码: import java.io.IOException; import java.nio.charset.Charset; import java.util.ArrayList; import com.csvreader.CsvReader; import com.csvreader.CsvWriter; /** * 读取CSV文件 * 所谓"CSV",是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。 * 可以看成数据库程序与电子表格之间一种中间通信文件,数据库..
阅读全文
Java播放声音文件
摘要:本文由广州疯狂软件java培训为你整理: 一,在Applet中播放声音 播放声音是java对多媒体的支持一个重要部分,现今流行的声音格式有wav,mid,au为扩展名的声音文件,而java现主要支持以au为名的声音。 在Applet中专门提供了类AudioClip来对声音的支持。由于Applet的多媒体功能书上都有很清晰的介绍也很简单。 我们就以一个例子来结束这部分的说明。 import java.applet.*; public class sounda extends Applet { public static void main (String[] args) {...
阅读全文
Java中接受键盘输入的常用方法
摘要:本文由广州疯狂软件java培训为你整理: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class EnterTest { public static void main(String[] args) { //主方法 CharTest(); //调用System.in方法 ReadTest(); //调用ReadTest方法 ScannerTest();//调用Scan...
阅读全文
Java学习笔记List集合
摘要:本文由广州疯狂软件java培训为你整理: List集合是一个有序,可重复的集合,它可以根据索引来访问对应的对象,第一个对象的索引是0,第二个对象的索引是1,类比数组的索引 List集合有以下操作集合的方法 void add( int index,a ) //把a元素插入到index索引处 boolean addAll(int index,c) //把集合c所有元素插入到index索引处 Object get(int index) //返回index索引处的元素 int indexOf(Object o) //返回对象o第一次出现在集合中的位置索引 int lastIndexOf...
阅读全文
|
|