首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java核心技术之什么泛型

大家好,又见面了,我你们的朋友全栈君。 什么泛型?...Java泛型(Generic)J2SE1.5中引入的一个新特性,其本质参数化类型,也就是说所操作的数据类型被指定为一个参数(type parameter)这种参数类型可以用在类、接口和方法的创建中,...五、掌握泛型在中间件或者开源框架里的应用 下面我们对这几个问题一一探讨 泛型的规则 JDK5.0之前没有泛型这个概念的,那么当时怎么写代码的 import java.io.File; import...compare(p1, p2); System.out.println(same); // false } 类型推断 类型推断Java编译器查看每个方法调用和相应声明以确定使调用适用的类型参数的能力...类型擦除主要包括:一、通用类型的檫除:在类型擦除过程中,Java 编译器将擦除所有类型参数,如果类型参数有界的,则将每个参数替换为其第一个边界;如果类型参数无界的,则将其替换为 Object。

63820

java核心技术总结

枚举(enum) 六、java异常处理 1、错误和异常 (1)错误 error 运行时发生错误,编译器无法检查 从Error中恢复不可能的 Error主要是由运行应用程序的环境引起的 示例:...统一了对外异常展示的方式,可以隐藏底层的异常,这样更安全,异常信息也更加的直观; 系统中有些错误符合Java语法的,但不符合我们项目的业务逻辑,需要使用自定义异常来进行处理; 6、java中的异常链...异常链一种面向对象编程技术,指将捕获的异常包装进一个新的异常中并重新抛出的异常处理方式,原异常被保存为新异常的一个属性(比如cause); 把捕获的异常包装成新的异常,经过层层的包装,就像链式反应一样...1、反射:本质就是通过字节码对象对类进行解构,获得类的属性和方法,从而对该类进行一些特殊的操作 反射的核心就是获取 class 文件对象:Class.forName(“全限定名”) —– java.io.PrintStream.class...; 动态代理:代理类不是一直存在的,访问的时候动态创建,结束访问后自动销毁,可以大大的节约资源; (2)动态代理核心 API 核心的类:InvocationHandler 和 Proxy; 核心方法

45410
您找到你想要的搜索结果了吗?
是的
没有找到

Java核心技术 继承

如果private\static\final方法,那么编译器可以准确知道掉哦那个哪个方法,这种调用方式称为静态绑定。...在运行的时候,也就是调用e.getSalary时,解析过程如下: 1.首先提取e的实际类型方法表,可能Employee,也可能Manager。 2.在方法表中搜索签名相同的方法。...当设置为proteced时,同样被继承,但是此时可以访问,访问的其本身对象继承来的域。所以不能访问其他对象的域。...如比较两个雇员对象的姓名、薪水、和雇佣日期都一样,那就认为它们相等的。...如果x.equals(y)相等的,那么y.equals(x)应该也是相等的,那么如果采用上面的语句, 当我们调用e.queals(m),其中eEmployee的对象,mManger的对象,那么返回的结果相等的

50620

Java基础三:Java 核心技术

大家好,又见面了,我你们的朋友全栈君。 目录 3. Java 核心技术 3.1. 反射机制 3.2. 异常 3.3. 多线程 3.4. 文件与 I\O 流 ---- 3....Java 核心技术 3.1....反射机制 JAVA 反射机制在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java...回答:字符流Java 虚拟机将字节转换得到的,问题就出在这个过程还算是非常耗时,并且,如果我们不知道编码类型就很容易出现乱码问题。...NIO (Non-blocking/New I/O): NIO 一种同步非阻塞的 I/O 模型,在 Java 1.4 中引入了 NIO 框架,对应 java.nio 包,提供了 Channel , Selector

50120

Java核心技术讲解学习

LuckQI 在这里你可以得到不只是技术,关注即可习得新技能 做java有一段时间了。经常写业务代码,长时间里,自己只知道怎么使用其中的api,对于java的理解很多就忘记了。...正好极客时间里面出来了一个课程关于JAVA核心技术的讲解,自己也开始学习,期望能提高自己对java的理解。 首先提出需要的问题。 Java平台的理解 Java解释执行吗?...Java解释性执行吗? 答案是否定的。为什么这么说? 我们都知道JAVA分为编译期和运行时两种类型。在编译期,Javac会把源码文件编译成.class文件,其实class文件里面就是字节码。...我们常用的Hotspot JVM 提供的JIT动态编译器。也就是常用的动态编译器。在运行时刻将热点代码编译成机器码。这种情况下的代码就属于编译执行。不是解释执行了。随着Java的发展。...Java8已经开始了解释和编译混合的模式。来快速的运行代码。 1 JIT动态编译,在Hotsoot中有两种模式,一个client模式,适用于启动速度敏感的应用。一个server模式。

46730

Java核心技术讲解学习

正好极客时间里面出来了一个课程关于JAVA核心技术的讲解,自己也开始学习,期望能提高自己对java的理解。 首先提出需要的问题。 Java平台的理解 Java解释执行吗?...Java解释性执行吗? 答案是否定的。为什么这么说? 我们都知道JAVA分为编译期和运行时两种类型。在编译期,Javac会把源码文件编译成.class文件,其实class文件里面就是字节码。...我们常用的Hotspot JVM 提供的JIT动态编译器。也就是常用的动态编译器。在运行时刻将热点代码编译成机器码。这种情况下的代码就属于编译执行。不是解释执行了。随着Java的发展。...Java8已经开始了解释和编译混合的模式。来快速的运行代码。 1 JIT动态编译,在Hotsoot中有两种模式,一个client模式,适用于启动速度敏感的应用。一个server模式。...下面画的简单的脑图,我们可以在下面的内容上继续添加。满足对Java的理解。

40520

java 核心技术 读后总结

>>>用0填充高位>>用符号位填充高位<<<不存在 冷知识吧,也就当年校招见过人问过 3.java没有多维数组,只有一维数组 我们所说的二维数组,本质上数组的数组 4.编译多个名字差不多的文件 如 AbcController...和AbcService两个文件,javac Abc*.java 即可一次性编译两个 5.比较是不是同一个类 用equals而不是instanceof 因为子类instanceof也报true Objects.equals...同样基础书,我偏向think in java 。 8.异常处理 一.异常处理不能顶替简单的测试。就是不要随便利用异常进行业务代码,其实这个在其他语言里面很经常在具体的异常里面进行相应的业务操作。...9.断言,有点想深入了解,但是和think in java 里面都是说了几句。看来断言的实际使用真的很少,而且个人观感也是if,try,log等就可以代替,并且这三种的使用很频繁。...11.编写代码,若参数集合,应尽可能使用接口。好处匹配的类跟多,不同类型传进来不需要特意转。

33620

JAVA核心技术学习笔记

掌握Java核心技术学习和掌握好Java技术的关键,下边分17个点对这些Java核心技术进行讲解。...>>>3.Java典型的强类型语言,即必须声明变量的类型,Java中有8种类型,6种数值类型(4个整数型和2个浮点型)、一个字符类型和一个boolean类型。...>>>11.静态方法: 静态方法属于类的,不需要创建类的实例对象就可以调用静态方法。如控制台类: x = Console.readDouble(); 使用类的静态方法的一般语法为:类名。...>>>13.对象的类型转换: Manager boss = (Manager) args[0]; >>>14.Java数组和Java向量的区别: Java数组可以存储任何类型的变量,Java向量只能存储对象类的实例...抽象方法作为占位符方法在子类中实现的。

63550

Java基础】JavaCore核心-注解技术

图片1.什么Java注解在 JDK5 时引入的新特性,其实就是代码里的特殊标记注解也被称为元数据, 附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用允许开发人员在不改变源代码的情况下...接口通过反射可以获取自定义注解public @interface Test { }2.Java注解类型Java自带的标准注解(这些注解后编译器就会进行检查)@Override 标记覆写父类的方法...元注解 (用于定义注解的注解)元注解也是Java自带的标准注解,只不过用于修饰注解,比较特殊。...ElementType.METHOD)//保留到JVM运行上@Retention(RetentionPolicy.RUNTIME)public @interface Test { //定义优先级,默认0...int priority() default 0; //是否要禁用,默认false boolean disabled() default false;}定义目标类public class

35200

Java基础】JavaCore核心-反射技术

@TOC图片1.什么反射技术Java的反射(reflection)机制指在程序的运行状态中可以构造任意一个类的对象可以了解任意一个对象所属的类可以了解任意一个类的成员变量和方法可以调用任意一个对象的属性和方法...这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制核心:得到编译以后得class文件对象,提供了一个Class类型,就是编译后的class类对象HelloWorld.java -> javac...-> HelloWorld.classClass clz = HelloWorld.class分类类字节码 Class (本身也是一个类,Java反射的源头)构造器 Constructor成员变量...说明 getModifiers()整数形式返回此Field的修饰符,整数对应在 java.lang.reflect.Modifier...:obj调用类的实例对象, args:调用方的方法参数,可变长度的Object 对应原方法的返回值,若原方法无返回值,此时返回null如果原方法为静态方法,此时形参 obj可为null如果原方法形参列表为空

29500

Java核心技术 对象与类

Java中,使用构造器构造新实例。构造器一种特殊的方法,用来构造并初始化对象。 在实际开发中,通常需要将对象存放在一个变量中来达到多次使用的目的。...在Java开发中,一定要认识到,一个对象变量并没i月实际包含一个对象,而仅仅使用一个对象,任何对象变量的值都是对存储在另外一个地方的一个对象的引用。...初始化块:  通常,初始化数据域有三种方法,一种在构造器设置,一种在声明中赋值,还有一种初始化话块,只要构造类的对象,这些块就会被执行。...方法参数:  Java中的参数一种值引用。 首先,观察一下基本数据类型(数字、布尔值)。...看到这里,或许会认为Java的对象参数引用调用,实际上,并不是。

45230

Java核心技术讲解学习三

前天我们在写Java技术讲解的时候说过引用现在在Java中分为四种类型,强引用,软引用,弱引用,幻象引用。但是这几者之间有什么关系呢?...Java中对象的可达性 在Java中我们都是通过分析来计算对象是否还是存活状态。不是存活状态的对象才能 被清理掉。那么这个分析就是称为可达性分析。...在 虚拟机书上这么定义的 虚拟机栈中引用的对象 -- 虚拟机栈 线程私有的属性 方法区中静态属性引用的对象 方法区中常量引用的对象 --方法区 与java堆一样都是各个线程共享的内存区域。...垃圾回收算法 说完对象的引用之后我们都知道对象在哪种状态会被回收,然而在Java中我们使用的gc来进行回收的那么,gc利用什么条件进行回收呢?我们说下gc的算法了解下。...复制算法 复制算法在上一个算法中提高了效率的解决问题。

31190

Java多线程编程核心技术

Java 多线程技术 Thread 类的核心方法较多,应该着重掌握如下关键技术点: 线程的启动 如何使线程暂停 如何使线程停止 线程的优先级 线程安全相关的问题 使用多线程 一个进程正在运行时至少会有一个线程在运行...继承Thread类 在Java的JDK开发包中,已经自带了对多线程技术的支持,可以很方便地进行多线程编程。实现多线程编程的方式主要有两种:一种继承Thread类,另一种实现Runnable接口。...实例变量与线程安全 自定义线程类中的实例变量针对其他线程可以有共享与不共享之分,这在多个线程之间进行交互时很重要的一个技术点。 ?...多线程的死锁 Java线程死锁一个经典的多线程问题,因为不同的线程都在等待根本不可能被释放的锁,从而导致所有的任务都无法继续完成。在多线程技术中,“死锁”必须避免的,因为这会造成线程的“假死”。...在 Java 的多线程技术中,可以对多线程中的异常进行“捕捉”,使用的 UncaughtExceptionHandler 类,从而可以对发生的异常进行有效的处理。

1.6K30

Java核心技术讲解学习二

继续我们的Java核心知识点的学习。上面一篇说过虚拟机还有Java世界平台的简单知识,还顺便总结了Error和Exception相关内容看相关内容,请阅读Java核心技术讲解学习一。...使用在变量上,代表变量不可修改,如果对象那么不可变的引用问题。可以避免意外复制导致的变成错误。...Exception e){ e.printStackTrace(); }finally { lock.unlock(); } 但是在Java7...答案我们会的得到return 中返回的结果。因为在try中放回的结果因为在方法内那么结果内容放在栈中的,finally中的结果会把该结果覆盖掉。但是这个说的引用对象。...如今的Java平台,开始采用java.lang.ref.Cleaner 代替finalize.Cleaner 的实现使用了幻象引用。这是一种常见的post-mortem清理机制。

36620

Java基础】JavaCore核心-泛型技术

@TOC 1.什么泛型 在定义类、接口和方法时,可以在声明时通过一定的格式指定其参数类型 使用时再指定具体的类型,从而使得类、接口和方法可以被多种类型的数据所实例化或调用 这种可以在编译时进行参数类型检查的技术被称为泛型...类型 泛型类型从逻辑上看是多个类型,实际都是相同类型 Java 可以创建对应的泛型对象和泛型数组引用,但不能直接创建泛型对象和泛型数组 Java 有类型擦除,任何泛型类型在擦除之后就变成了 Object...Java泛型的通配符用于解决泛型之间引用传递问题的特殊语法 //表示类型参数可以是任何类型 public class CustomCollection<?...System.out.println(field.getName() +",类型="+field.getType().getSimpleName()); } } } 图片 8.泛型数组的创建 在 <em>Java</em>...中<em>是</em>不能直接创建泛型对象和泛型数组的 主要原因<em>是</em> <em>Java</em> 有类型擦除,任何泛型类型在擦除之后就变成了 Object 类型或者对应的上限类型 那定义的类中如果需要用到泛型数组,如何解决这个问题?

33100
领券