![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
O_O SupeRed
十年磨一剑!
展开
-
list\set等容器(集合)那里重写equals为什么还要重写hashCode方法
我们学些java j2se的时候为还说比较两个引用是否值(内容)相等的时候不去重写hashcode方法,只是重写equals方法呢:一下是单纯重写equals方法的例子:/** * 测试重写equals方法 * @author Rick * */public class EqualsUsage {String name;public EqualsUsage(原创 2017-06-18 21:06:25 · 1528 阅读 · 0 评论 -
java网络编程学习资料
http://www.bianceng.cn/Programming/Java/201101/22988.htm原创 2017-06-19 19:19:28 · 304 阅读 · 0 评论 -
责任链(职责链)模式简例[Chain of Responsibility]
本例代码不单只可以实现一条责任链,还可以将一条责任链当做一个责任加载到主链上 Code:-------------------------------------------------------------------------------------------------------------------/** * 责任链 * @author Rick * */原创 2017-06-21 02:42:39 · 293 阅读 · 0 评论 -
理解类名.class
理解类名.class(Type.class)首先我们要理解对java的类、对象、实例(化)不能混淆且理解.类:中文字面意思是很多相似事物的综合,如:类群、人类.对象:对象是相对于类的具体,是行动或者思考时作为目标的事物,比如:人类很笼统,广泛,但是比如从人类中拿出一个人来描述形容人类是怎样的呢,这时候我们脑海中就有一个比较形象具体的画面了,比如艺术家齐白石这个对象来说,齐白石是人类,我们在原创 2017-06-22 11:41:02 · 2020 阅读 · 1 评论 -
九阳神功,扎马练起!类、对象、实例、实例化的理解!
类:中文字面意思是很多相似事物的综合,如:类群、人类.对象:对象是相对于类的具体,是行动或者思考时作为目标的事物,比如:人类很笼统,广泛,但是比如从人类中拿出一个人来描述形容人类是怎样的呢,这时候我们脑海中就有一个比较形象具体的画面了,比如艺术家齐白石这个对象来说,齐白石是人类,我们在艺术(思考角度)上的研究对象,因此他有个称号(也就是属性):艺术家,不然从家庭角度,他的属性之一就是父亲,所以原创 2017-06-22 13:09:30 · 606 阅读 · 0 评论 -
精华钜献!三种获取类的对象的方式
类的对象是什么前文已经讲述,这里就不累赘了。为什么用到类的对象:是因为,对象有属性和行为,拿到类的对象,就可以拿到类的属性。以下三种方式,都可以拿到类的对象:第一种:通过Class.forName(“类的全名称”)获取,用这个方法,最常见的应该是应用于JDBC注册驱动的时候用到的try {Class.forName("oracle.jdbc.driver.OracleD转载 2017-06-22 23:42:29 · 512 阅读 · 0 评论 -
解决eclipse切换JDK
工具很重要,但不是关键!但是还是很重要!@_@有时候我们需要切换JDK版本或者由公用jre切换到自己安装的jdk的时候,就需要切换eclipse的JDK安装配置了.首先点击在Eclipse工具栏window---》preference---》点击JAVA下拉表单---》Installed JREs---》点击Add按钮---》点击Exceution Environment Descript原创 2017-06-22 23:54:44 · 1062 阅读 · 0 评论 -
由微见著,模拟JDK动态代理的实现1
话说代理说白了就是方法的再封装,实现代理是由继承和聚合两种方式实现的。动态代理就是使用代理类在运行时根据传入的接口类型的对象,生成class文件,实例化,并调用里面的代理方法。以下是例子(code):/** * 使用聚合来实现代理-代理和被代理也是实现Moveable(自定义Interface) * 本类是模拟代理的测试端 * @author Rick *原创 2017-06-23 05:30:10 · 369 阅读 · 0 评论 -
由微见著!模拟JDK动态代理的实现2---Spring AOP
续:/** * 测试端 * @author Administrator * */public class Client {public static void main(String[] args) throws Exception {UserMgr mgr = new UserMgrImpl();InvocationHandler h = new Tr原创 2017-06-23 11:12:41 · 390 阅读 · 0 评论 -
解决eclipse没有断点却在有异常时跳到debug模式界面的问题
点击Eclipse菜单栏的window---》点击preference---》点击Run/Debug下拉菜单---》perspectives---》点击提示为:Open the associated perspective when an application suspends. 里面的单选按钮Never!原创 2017-06-23 11:27:42 · 4068 阅读 · 0 评论 -
实业创造价值!工厂模式小实现!
/** * Single模式 * @author Administrator * */public class Car implements Moveable {private static Car car = new Car();//永远返回一个对象private static List list = new ArrayList();//为多例做准备(名字不重要)原创 2017-06-23 13:26:17 · 425 阅读 · 0 评论 -
换皮肤?系列工厂/抽象工厂(模式)的实现
有时候我们见到换皮肤,切换系列产品(族),是不是所有代码重新来过一遍呢,不是的,这时候抽象工厂/系列工厂模式应运而用.抽象工厂的基本脉络就是继承于父级产品类的多个抽象产品类的具体实现。以下是实现:/** * 工厂的父类-抽象工厂-产生系列产品的方法 * @author Rick * */public abstract class AbstractFactory {p原创 2017-06-23 22:15:31 · 458 阅读 · 0 评论 -
一语中的!抽象工厂和一般工厂的缺点
一般工厂:对于一般工厂来说,我们只能在产品维度上进行扩展,产品系列上的产生是很麻烦的,工厂类会不断的泛滥起来.抽象工厂:对于抽象工厂来说,可以更换产品系列,短处产生新的产品品种很麻烦,改动很多.原创 2017-06-24 01:45:17 · 491 阅读 · 0 评论 -
使用配置文件配置工厂生产(工厂模式-base)
通过Properties类加反射达到配置文件信息的读取的实现,单方面实现,仅供学习参考,实际使用还是按照实际生产:假设代码包package已经已经new了,在下面创建一个文件,右键--->new--->File--->name为spring.properties内容为:spring.properties --->>>>VechicleType=com.*******.Train原创 2017-06-24 03:24:10 · 827 阅读 · 0 评论 -
表单提交Erro: formSubmit.html:** Uncaught TypeError: Cannot set property 'action' of null解决
id="XXX" 一般id写错了,或者是获取不到form标签对象,所以action也引用不到,引用action属性时出现空指针.原创 2017-06-27 06:43:58 · 3242 阅读 · 0 评论 -
ArrayList和LinkedList(选择数据结构的衡量标准)
理论是理想,实践实验才是真标准!!以下是理论总结,具体看业务需要和实际生产!1.ArrayList 根据元素下标读取快,因此更替元素也快:底层有数组Index.LinkedList根据元素下标读取慢,更替元素慢:底层没有Index.2.删除:ArrayList删除的元素越靠最前或者靠最后,速度越比同条件的LinkedList快,元素越多越明显。 L原创 2017-06-19 05:38:58 · 480 阅读 · 0 评论 -
collection和collections接口的区别
1、java.util.Collection 是一个接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。 Collection ├List │├LinkedList │├ArrayList │└Vector │转载 2017-06-19 04:00:00 · 830 阅读 · 0 评论 -
冒泡排序算法的使用
代码如下:public class CompareNumByArr {public static void main(String[] args) {int temp;int[] arr = new int[] {1, -5, 22, -1, 0};for(int i = 0; i for(int j = 0; j if(arr[j] > arr[j + 1])原创 2017-06-15 20:51:23 · 317 阅读 · 0 评论 -
不定(个数)参数的使用
不定参数我也不知道真正的中文术语上叫法是叫变元类型,所以才拟定一个这么的叫法.下面是代码,不吝赐教:/** * 测试一些数据类型的不定个数传参 * @author Rick * */public class IndefiniteParamUsage {/*** 本函数会产生编译错误,提示说可变参数必须是该方法的最后一个参数,原因可能是地址的排序问题,请详参相原创 2017-06-16 03:26:04 · 790 阅读 · 0 评论 -
Java方法传参的值传递和引用传递的区别(code)
/** * 通过参数数据类型来说明值传递和引用传递的区别 * @author Rick * */ class TestObject {String name;int age; } public class DeliverValOrAddrInMethod {private void devilerFunc(int parm$1, TestObject原创 2017-06-16 05:00:58 · 506 阅读 · 0 评论 -
java多态的体现(theory)
Java多态的体现是:方法的重写和重载。重写:在父类和子类中,具有同名的方法,并且其参数数据类型相同且个数也相同.重载:在同一类中,具有同名的方法,要求其参数的数据类型或者参数的个数不相同.原创 2017-06-16 05:14:46 · 484 阅读 · 0 评论 -
java递归的写法
递归是自己调用自己,java里的递归写法如下:/** * 1*2*(n-1)*n的计算形式,使用递归实现 * @author Administrator * */public class DiGui {//初始化变量,不能使用默认值private static long result = 1;/*** 非递归方式* @param n* @retu原创 2017-06-16 05:59:53 · 4938 阅读 · 0 评论 -
java中this关键字的使用(code)
/** * this关键字的使用 * @author Administrator * */public class KeyWordThisUsage {private String name;private int age;public KeyWordThisUsage() {System.out.println("调用了一个无参的构造方法!");}原创 2017-06-16 08:24:03 · 511 阅读 · 0 评论 -
静态代码块的使用(code)
/** * 静态代码块的使用 * @author Administrator * */public class StaticBlock {{System.out.println("普通代码块!");}static {System.out.println("静态代码块!");}public StaticBlock() {System.o原创 2017-06-16 17:11:19 · 473 阅读 · 0 评论 -
以String类来说java变量地址和值比较
/** *java,== 比较的是地址,equals比较内容(值). * @author Rick * */public class StringAddr {public static void main(String[] args) {// TODO Auto-generated method stubString name$1 = "Biily";S原创 2017-06-16 17:43:31 · 2152 阅读 · 0 评论 -
charAt的用法
/** * charAt的用法 * @author Administrator * */public class CharAtAPIUsage {public static void main(String[] args) {String str$1 = "你好!";System.out.println(str$1.charAt(1));for(int原创 2017-06-16 17:55:15 · 2104 阅读 · 0 评论 -
String的subString()和toUpCase()用法
/** * subString和toUpcase * @author Administrator * */public class SubStringUsage {public static void main(String[] args) {String str$1 = "HelloWorld!";System.out.println(str$1.substrin原创 2017-06-16 19:28:59 · 4371 阅读 · 0 评论 -
匿名类和匿名内部类
/** * 父类A * @author Rick * */public class A {public void say() {System.out.println("哈哈A!");}}/** * 子类B * @author Rick * */public class B extends A {@Overridepub原创 2017-06-17 07:17:40 · 329 阅读 · 0 评论 -
解决io流java.io.FileNotFoundException: 【D:\\***\\***】 (拒绝访问。)
如下代码:异常原因是因为在输入过着输出流中没有定义文件名,而只有目录。/** * 字符流 * @author Administrator * */public class Demo5 {public static void stream() throws IOException {InputStream inputStream = new FileI原创 2017-06-18 07:19:48 · 4340 阅读 · 0 评论 -
对于父类型引用指向子类型实例的好处(Java多态-简明)
好处是:父类型(普通类,抽象类,接口)如果有多个实现,每个实现都有自己的对父类型方法的重写,当引用自己子类型这边重写的方法时,直接用父类型变量调用,当切换到其他实现的子类型时候,直接将当前指向的子类型切换到别的子类型即可,代码功能实现灵活.原创 2017-06-18 19:34:25 · 662 阅读 · 0 评论 -
Java的操作符instanceof的使用和注意点
instanceof操作符是用于java运行时指出对象是否某一特定类的实例.但是用在java的引用数据类型作判断的时候要注意包装类的问题,如下:System.out.println(new Integer(100));System.out.println(new Integer(100) instanceof Integer); /*System.out.println原创 2017-06-18 20:03:35 · 398 阅读 · 0 评论 -
面试之宝,java中==和equals问题总结(简明)
1.基本数据类型==是比较值equals是没有说明的,并且也没有equals的API2.引用数据类型== 是比较的地址(引用)equals默认是比较地址,原因是Object类里面定义的是比较地址。重写equals才能比较值,类似于String和ArrayLsit是重写equals方法,因此比较的是值原创 2017-06-17 06:54:15 · 373 阅读 · 0 评论