![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javase
显魄-Simple
phone:13958942952
q:1205694732
wechat:$phone
展开
-
Vector 类存储原理
Vector 所有的方法都使用了 synchronized 修饰符,即:Vector 线程安全但是性能较低,适用于,适用于多线程环境。通过源码分析,发现在 Vector 类中有一个 Object[] 类型数组, /** * The array buffer into which the components of the vector are * stored. ...原创 2018-05-17 23:38:43 · 2084 阅读 · 0 评论 -
Java:异常 - Error&Exception - Java7异常特性
异常 程序中,代码出现错误,程序就会终止运行。 异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行。 异常处理是衡量一门语言是否成熟的标准之一,主流的语言 Java、C++、C# 等支持异常处理机制,异常处理机制可以让程序有更好的容错性,使程序代码更健壮(遗憾的是传统的 C 语言却没有异常处理,只能程序通过使用方法的特定返回值来表示异常情况,并且使用 ...原创 2018-06-09 11:41:50 · 388 阅读 · 0 评论 -
Java:构造器
构造器:编译器在编译源文件的时候,会创建一个缺省的构造器。构造器的作用1:创建对象,凡是必须和 new 一起使用2:完成对象的初始化操作构造器的特点1:构造器的名称和当前所在类的名称相同2:禁止定义返回类型,千万不要使用 void 作为返回类型(这属于普通方法)3:在构造器中,不需要使用 return 语句(其实构造器是有返回值的,返回的是当前创建对象的引用)...原创 2018-06-16 12:44:59 · 214 阅读 · 0 评论 -
Java:浅谈 List -> ArrayList 与 LinkedList 的比较
转自朋友的博客: https://blog.csdn.net/qq_41159013/article/details/80640386转载 2018-06-10 18:53:00 · 122 阅读 · 0 评论 -
Java:static 修饰的字段、方法
static 修饰符表示静态的,可修饰字段、方法、内部类,其修饰的成员属于类,也就是说 static 修饰的资源属于类级别,而不是对象级别。 static 的真正作用:用来区别字段、方法、内部类,初始化代码属于对象还是属于类本身。static 修饰符的特点:① static 修饰的成员(字段/方法),随着所在类的加载而加载 当 JVM 把字节码加载金 J...原创 2018-06-18 14:50:14 · 4260 阅读 · 0 评论 -
Java:枚举
枚举: 其实就是一种特殊的类,一般用于表示多种固定的状态。 public enum 名字{对象1,对象2} 其实枚举类在底层,继承于java.lang.Enum类 protect Enum(String name,int ordinal) 单独的构造方法,程序员无法调用此构造方法,该构造方法由于响应枚举类型声明的编译器发出的代码。参数:name...原创 2018-06-30 15:03:55 · 166 阅读 · 0 评论 -
Java:自动装箱与自动拆箱
自动装箱与自动拆箱:装箱:把基本数据类型包装成对象的包装类类型:int -> Integer 拆箱:把包装类对象抓换为对象基本类型的变量:Integer -> int 在Java的集合框架中,只能存储对象,不能存储基本类型的数值, 在Java5之前,就只能手动完成装箱: 手动装箱:Integer num1 = Integer.value(123); 手动拆箱:int ...原创 2018-06-30 15:17:09 · 160 阅读 · 0 评论 -
Java:Integer 缓存所遵循的享元设计
测试代码:public static void main(String[] args) { Integer i1 = 127; Integer i2 = 127; System.out.println(i1 == i2); Integer i3 = 128; Integer i4 = 128; System.out.println(i3 == i...原创 2018-06-30 15:21:23 · 133 阅读 · 0 评论 -
Java:可变参数
对于方法上,同一种类型的参数个数不确定的问题,可以使用方法的可变参数来解决,方法的可变参数其本质就是数组。示例代码:public static void main(String[] args) { count(1, 2, 3);}static void count(int... name) {}反编译后:public static void main(Str...原创 2018-06-30 15:32:21 · 170 阅读 · 0 评论 -
Java:静态引入
静态引入 导入(import):表示去找哪一个类,到哪一个包下去找哪些被使用到的类。在Java中有一个语言核心包:java.lang, 使用java.lang包中的API,不需要引用,直接能找到。 但是,如果我们使用到的 API 不属于 java.lang 的子包(java.lang.reflect),此时,就得把使用到的 API 引入到当前的 Java 文件中去。语法:...原创 2018-06-30 15:47:54 · 1681 阅读 · 0 评论 -
Java:Java5 的特性
1、静态导入 2、可变参数 3、for-each 和 Iterator 4、自动装箱和自动拆箱 5、泛型 6、枚举 7、注解原创 2018-06-30 15:51:10 · 299 阅读 · 0 评论 -
Java:for-each 增强for循环
增强for循环(for-each/for…in):可以迭代数组和集合,取出其中的元素。 语法:for(元素类型 变量: 数组/Iterable 对象){ // TODO} 因为 List 和 Set 是 Collection 接口的子接口,而 Collection 接口继承了 Iterable 接口,所以针对于 List 和 Set 可以使用 for-each ...原创 2018-07-23 10:08:00 · 326 阅读 · 0 评论 -
Java:泛型 GenericType
泛型(GenericType)为什么需要使用泛型: 1):保证集合中元素的安全, TreeSet 存储的元素,必须是同一种数据类型的 2):避免强制类型转换 需要掌握的: 1):使用集合API(Set/List/Map),是泛型来约束元素的类型 2)“”会见到,自定义泛型(泛型类/泛型方法) 语法:Set<In...原创 2018-07-23 10:12:01 · 2517 阅读 · 0 评论 -
Java:图形界面实现桌面数字时钟
import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.util.Calendar;import java.util.GregorianCalendar;import jav...原创 2018-08-09 14:11:41 · 7785 阅读 · 0 评论 -
Java:线程的基本使用
创建和启动线程,传统有两种方式方式1、继承 Thread 类方式2、实现 Runnable 接口线程类(java.lang.Thread):Thread 类和 Thread 的子类才能称之为线程类。 主线程:main 方法运行,表示主线程。方式1:继承 Thread 类,步骤:1.定义一个类 A 继承与 java.lang.Thread 类2.在 A 类中覆盖Th...原创 2018-08-12 00:44:09 · 257 阅读 · 0 评论 -
Java:同步锁概念
同步锁介绍对于非 static 方法,同步锁就是 this。对于 static 方法,使用当前方法所在类的字节码对象(A.class)。同步代码块:语法synchronized(同步锁){ 需要同步操作的代码}同步锁: 为了保证每个线程都能正常执行原子操作,Java 引入了线程同步机制(同步监听对象/同步锁/同步监听器/互斥锁):对象的同步锁只是...原创 2018-09-02 22:03:17 · 3886 阅读 · 0 评论 -
Java:浅谈 Map
Map 翻译成中文是 映射。 映射的数学解释: 设 A,B 是两个非空集合,如果存在一个法则 f,使得对 A 中的每个元素 a,按法则 f,在 B 中有唯一确定的元素 b 与之对应,则称 f 为从 A 到 B 的映射,基座f:A ——> B。映射关系(两个集合):A 集合和 B 集合 A 集合中的每一个元素都可以在 B 集合中找到唯一的一个值与之对应。 ...原创 2018-05-30 19:33:46 · 755 阅读 · 1 评论 -
Java:抽象成类找对象
抽象与类抽象: 从特定的出发,从已经存在的一些事务中抽取所要关注的特性、行为,从而形成一个新的事物的思维逻辑,是一种从复杂到简洁的思维方式。类: 具有相同特性(状态)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例就是对象,类实际上就是一种数据类型。类具有特性,对象的状态,用成员变量来描述类具有功能,对象的行为,用方...原创 2018-06-12 22:23:13 · 454 阅读 · 0 评论 -
位运算符
Bit Operator : 位操作是程序设计中对位模式按位或者二进制数的一元和二元操作.。 No 运算符 描述 1 & 按位与 2 | 按位或 3 ...原创 2018-05-18 00:16:13 · 103 阅读 · 0 评论 -
java:接口和抽象类的区别
相同点:都位于继承的顶端,用于被其他实现类继承都不能实例化都可以定义抽象方法,其子类/实现类都必须覆盖(重写)这些抽象方法不同点:接口没有构造方法啊,抽象类有构造方法抽象类可包含普通方法,接口只能包含抽象方法(Java8 之前)一个类只能继承一个直接父类(可能是抽象),接口是多继承的,并且支持一个类实现多个接口(接口弥补了 Java 类的单继承)成员变量:接口默认是 p...原创 2018-05-25 18:54:04 · 180 阅读 · 0 评论 -
Java:访问权限控制
Java 四大权限修饰符private:表示私有的,表示类访问权限,只能在本类中访问,离开本类后,就不能直接访问不写(缺省):表示包私有,表示包访问权限,访问者的包必须和当前定义类的包相同才能访问protected:表示子类访问权限,同包中可以访问,即使不同包,但是有继承关系也可以访问public:表示全局的,公共访问权限,如果某字段/方法,使用 public 修饰,...原创 2018-05-26 09:46:55 · 250 阅读 · 0 评论 -
Java:数组详解 - 数组语法糖 - 初始化值 - 多维 - 基本操作
数组 所谓数组,是在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来的一种数据形式,这些按一定顺序排列的同类型数据的集合称为数组。而数组中的每一个数据称之为数组元素,数组中的元素以索引来表示其存放的位置,索引从0开始,步长是1,有点像Excel表格的行号,逐行递增。数组的定义:方式1:数组元素的类型[] 数组名;例: int[] args;(推荐)方式2:...原创 2018-05-26 19:25:01 · 486 阅读 · 0 评论 -
Java : Set 集合详解
set 是 Collection 子接口,模拟了数学上集合的概念 Set 只包含从 Collection 集成的方法,不过 Set 无法记住添加的顺序,不允许包含重复的元素,当视图添加两个相同元素进 Set 集合,添加操作失败,即 add() 方法返回 false。 Set 判断两个对象是否相等用 equals,而不是用 == ,也就是说两个对象 equals 比较返回 true ...原创 2018-05-27 20:04:51 · 491 阅读 · 0 评论 -
Java:JVM 和类
运行 Java:java 带有 main 方法的类名 —–> 启动 JVM 并加载字节码 当调用 java 命令来运行某个 Java 程序时,该命令将会启动一个 JVM 进程,同一个 JVM 中的所有线程,变量都处于同一进程中,共享该JVM的内存区域。 当出现以下情况时,JVM 会退出 1.当程序正常执行结束 2.使用 System.exit(0) 方法 ...原创 2020-11-24 09:39:20 · 307 阅读 · 0 评论 -
Java:内部类
实例内部类 静态内部类 局部内部类 主要特征 内部类的实例引用特定的外部类的实例 内部类的实例不为外部类的任何实例关联 可见范围是所在的方法 可用的修饰符 访问控制修饰符 abstract 、final 访问控制修饰符 static、abstract、final 访问控制修饰符 abstr...原创 2018-05-28 20:47:12 · 93 阅读 · 0 评论 -
Java:File 类
操作 FIle 路径和名称获取绝对路径,返回 File 类型 File getAbsoluteFile();获取绝对路径,返回 String 类型 String getAbsolutePath();获取文件路径 String getPath();获取文件名称 String getName();获取上级目录文件 FIle g...原创 2018-05-28 21:04:04 · 129 阅读 · 0 评论 -
Java:Class 对象
问题1:对象有编译类型和运行类型 例如:Object obj = new java.util.Date();编译类型: Object 运行类型:java.util.Date();需求:通过 obj 对象,调用 java.util.Date 类中的 toLocaleString 方法。obj.toLocaleString() 方法如果存在,编译成功,否则编译失败。解决方案:...原创 2018-06-04 20:33:34 · 155 阅读 · 0 评论 -
Java:反射
需求:通过反射来获取某一个类的构造1.获取该类的字节码对象2.从该字节码对象中去找需要获取的构造器Class 类获取构造器方法:Constructor 类,表示类中构造器的类型,Constructor 的实例就是某一个类中的某一构造器:获取当前 Class 所表示类的 public 修饰的构造器:public Constructor<?>[] getC...原创 2018-06-04 21:17:43 · 116 阅读 · 0 评论 -
Java:System 实现数组拷贝
System 类中:数组拷贝的方法:public static native void arraycopy(Object src,int srcPos,Object dest,int destPos,int length);参数:src:源数组srcPos:原数组中的起始位置dest:目标数组destPos:目标数组中的起始位置length:要复制的数组元素的数量示例代码...原创 2018-06-04 21:30:11 · 1008 阅读 · 0 评论 -
Java:能够用常量类代替枚举类?
我的回答:理论上能,实际应用中不能!!不能的原因:1.枚举类声明简单,使用简单2.枚举类类型安全,使用枚举类作为参数能够限制实参传递的值的类型3.枚举类中可以有复杂的属性和方法,常量只是简单的属性4.枚举类有强大的拓展性,常量没有能的原因:枚举虽然是 JDK1.5 增加的特性,但反编译之后,底层还是以继承Enum类并且以常量的方式实现.,也就是说,枚举只不过是一个...原创 2018-06-05 07:09:52 · 1510 阅读 · 0 评论 -
Java:泛型
泛型(Generic): 1.对象实例化如果不指定泛型,默认是 Object(只能指定对象类型,不可以用基本数据类型[ JDK1.5 之后会有自动装箱操作<省去 valueOf 的语法糖>]) 2.泛型不同的引用不能相互赋值(将运行错误提前到编译时期,增强代码的安全性) 3.集合指定的泛型的类型以后只能存放与之对应的类(健壮性,安全性) 4.静态方法中不能使用...原创 2018-06-05 07:15:47 · 179 阅读 · 0 评论 -
Java:final 修饰符
继承关系最大的弊端是破坏封装: 子类能访问父类的实现细节,而且可以通过方法覆盖的形式修改实现细节。final 本身的含义是“最终的,不可改变的”,它可以修饰非抽象类、非抽象方法和变量。 注:构造方法不能使用 final 修饰,因为构造方法不能被继承,肯定是最终的。final 修饰的类: 表示最终的类,该类不能再有子类。只要满足以下条件就可以把一个类设计成 fina...原创 2018-05-29 22:53:20 · 488 阅读 · 0 评论 -
Java:修饰符适用范围表
绿色表示可用 顶层类/接口 成员属性 方法 构造器 初始化块 成员内部类 局部成员 public protected private ...原创 2018-05-29 23:03:12 · 972 阅读 · 0 评论