
java
文章平均质量分 70
权艺
这个作者很懒,什么都没留下…
展开
-
Java语言学习之类加载机制与反射
一.类的加载,连接和初始化1.JVM和类当调用java命令运行某个java程序时,该命令将会启动一个Java虚拟机进程,同一个JVM的所有线程,所有变量都处于同一个进程里,它们都使用该JVM进程的内存区。当系统出现以下几种情况时,JVM进程将被终止。1>程序运行到最后正常结束;2>程序运行到使用System.ext()或Runtime.getRuntime().exit()代码出结束程序;3>程序执行过程中遇到未捕获的异常或错误而结束;4>程序所在平台强制结束了JVM进原创 2021-11-07 19:09:35 · 218 阅读 · 0 评论 -
Java语言学习之Annotation(注释)
Annotation提供了一种为程序元素设置元数据的方法,从某些方面来看,Annotation就像修饰符一样,可以用于修饰包,类,构造器,方法,成员变量,参数,局部变量的声明。这些信息被存储在Annotation的“name=value”对中。一.基本Annotation5个基本的Annotation如下:@Override@Deprecated@SuppressWarnings@SafeVarargs(Java7)@FunctionalInterface(Java8)1.限定重写父类方法:原创 2021-11-07 11:15:00 · 214 阅读 · 0 评论 -
Java语言学习之泛型
在没有泛型之前,一旦把一个对象丢进java集合中,集合就会忘记对象的类型,把所有的对象当成Object类型处理,当程序从集合中取出对象后,就需要进行强制类型转换,这种强制类型转换不仅使代码臃肿,而且容易引起ClassCastExeception异常。 Java泛型还增强了枚举类,反射等方面的功能.一.泛型入门1.编译时不检查类型的异常public class ListErr{ public static void main(String[] args) { // 创建一个只想保存字符串.原创 2021-11-06 10:45:37 · 1424 阅读 · 0 评论 -
Java语言学习之使用JAR文件
JAR文件与ZIP文件的区别在于JAR文件中默认包含了一个名为META-INF/MANIFEST.MF的清单文件,这个清单文件是在生成JAR文件时由系统自动创建的。一.使用JAR文件当开发了一个应用程序后,这个应用程序包含了很多类,如果需要把这个应用程序提供给别人使用,通常会将这些类文件打包成一个JAR文件,把这个JAR文件提供给别人使用,只要别人在系统的CLASSPATH环境变量中添加了JAR文件,则Java虚拟机就可以自动在内存中解压这个JAR包,把这个JAR文件当成一个路径,在这个路径中查找所需要原创 2021-11-05 15:03:56 · 495 阅读 · 0 评论 -
Java设计模式之策略模式实战
一.创建接口Strategy.javapublic interface Strategy { public int doOperation(int num1, int num2); public void print();}二.创建实现接口的实体类OperationAdd.javapublic class OperationAdd implements Strategy { private int result = 0; @Override public原创 2021-10-25 18:10:56 · 288 阅读 · 0 评论 -
Java中自定义异常类
package com.danny.example;public class MyException extends Exception {protected static final int UNKNOW_ERROR = 0x100;protected static final int NUM1_ERROR = 0x200;protected static final int NUM2_ERROR = 0x300;private int mErrCode = UNKNOW_ERROR;pri原创 2020-12-19 18:38:14 · 210 阅读 · 1 评论 -
java中枚举的使用
class TestEnum { public enum PlayStatusEnum { PLAY(0), PAUSE(1), FF(2), REW(3), STOP(100); private int mPlayStatus = -1; private PlayStatusEnum(int value) { mPlayStatus = value;原创 2020-12-17 21:22:26 · 166 阅读 · 0 评论 -
JNI技术之动态注册
JNI技术之动态注册一.静态注册的缺点1.C/C++实现的函数名,必须通过javah工具生成对应的C/C++的头文件。2.初次调用native函数时,采用的是在动态库中寻找,如果native函数较多的话,效率比较低下的。...原创 2020-09-29 19:36:33 · 2650 阅读 · 0 评论 -
JNI技术之静态注册
JNI技术之静态注册一.JNI技术简介JNI是Java Native Interface的缩写,通过这种机制可以实现JAVA代码调用C/C++写的接口,也可以在C/C++回调JAVA代码。二.JAVA代码中调用C/C++接口JAVA只需要加载相应的C/C++的库,就可以在java中调用C/C++的函数了的。class Test { //通过"native"修饰成员函数接口,表示这个函数接口是由C/C++来实现的 public native void helloworld();原创 2020-09-29 19:27:32 · 254 阅读 · 1 评论 -
Java语言学习之网络编程
一.Java的基本网络支持1.使用InetAddressjava提供了InetAddress类来代表IP地址,InetAddress下还有两个子类:Inet4Address, Inet6Address,它们分别代表IPv4地址和IPv6地址。getByName(String host):根据主机获取对应的InetAddress对象。getByAddress(byte[] addr):根据原始IP地址来获取对应的InetAddress对象。import java.net.*;public cla原创 2020-08-09 21:15:21 · 367 阅读 · 0 评论 -
Java语言学习之进程与线程二
一.线程同步java的多线程支持引入了同步监视器来解决这个问题,使用同步监视器的通用方法就是同步代码块。1.同步代码块public class DrawThread extends Thread{ // 模拟用户账户 private Account account; // 当前取钱线程所希望取的钱数 private double drawAmount; public DrawThread(String name , Account account , double drawAmoun原创 2020-08-09 13:53:43 · 194 阅读 · 0 评论 -
Java语言学习之进程与线程一
一.进程与线程1.并发性和并行性并行指在同一时刻,有多条指令在多个处理器上同时执行;并发指在同一时刻只能有一条指令执行,但多个进程指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果。2.多线程的优势多个线程共享同一个进程虚拟空间。线程共享的环境包括:进程代码段,进程的公有数据等,利用这些共享的数据很容易实现线程间的通信。二.线程的创建和启动1.继承Thread类创建线程类// 通过继承Thread类来创建线程类public class FirstThread extends Th原创 2020-08-09 12:12:39 · 204 阅读 · 0 评论 -
Java语言学习之文件IO
java.io包下主要包括输入,输出两种IO流,每种输入,输出流又可分为字节流和字符流,其中字节流以字节为单位来处理输入,输出操作,而字符流以字符来处理输入,输出操作。一.File类import java.io.*;public class FileTest{ public static void main(String[] args) throws IOException { // 以当前路径来创建一个File对象 File file = new File("."); //原创 2020-08-09 09:15:41 · 209 阅读 · 0 评论 -
java语言学习之异常处理
一.异常类的继承try{}catch(Exception e){ //使用continue之后会继续运行try中的语句, //从而实现循环 continue;}public class DivTest{ public static void main(String[] args) { try { int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); int c = a原创 2020-08-09 08:50:34 · 256 阅读 · 0 评论 -
java语言学习之集合
java语言学习(9)一.Java集合概述Java集合大致分为Set,List,Queue和Map四种体系。其中set代表无序,不可重复的集合;List代表有序,重复的集合;Map代表具有映射关系的集合,Queue代表一种队列集合实现。java的集合类主要由两个接口派生而出:Collection和Map二.Collection和Iterator接口Collection接口是List,Set和Queue接口的父接口,该接口里定义的方法即可用于操作Set集合,也可用于操作List和Queue集合。原创 2020-08-08 18:05:05 · 246 阅读 · 0 评论 -
java语言学习之基础类库
java语言学习(8)Java 基础类库1.Scanner类输入;import java.util.*;import java.io.*;public class ScannerFileTest{ public static void main(String[] args) throws Exception { // 将一个File对象作为Scanner的构造器参数,Scanner读取文件内容 Scanner sc = new Scanner(new File("ScannerF原创 2020-08-08 14:27:57 · 233 阅读 · 0 评论 -
java语言学习之枚举类
java语言学习(7)一.枚举类枚举类是一种特殊的类,它一样可以有自己的成员变量,方法,可以实现一个或者多个接口,也可以定义自己的构造器。枚举类与普通类区别:1.枚举类可以实现一个或多个接口,使用enum定义的枚举默认继承了java.lang.Enum类,而不是默认继承Object类,因此枚举类不能显示继承其他父类,其中java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable两个接口。2.使用enum定义,非抽象的枚举类默认会使用f原创 2020-08-08 14:06:00 · 319 阅读 · 0 评论 -
java语言学习之内部类,静态内部类,内部类的使用,匿名内部类
java语言学习(6)一.内部类内部类的作用:内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。内部类成员可以直接访问外部类的私有数据,但外部类不能访问内部类的实现细节,如内部类的成员变量。匿名内部类适合用于创建那些仅需要一次使用的类。内部类比外部类可以多使用三个修饰符:private,protected,static,外部类不可以使用这三个修饰符。非静态内部类不能拥有静态成员。public class Cow{ private double wei原创 2020-08-08 11:38:54 · 289 阅读 · 0 评论 -
java语言学习之包装类,抽象类,接口
java语言学习(5)一.抽象类1.抽象方法和抽象类1.1 抽象方法不能有方法体;1.2 抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例。即使抽象类里不包含抽象方法,这个抽象类也不能创建实例。1.3 抽象类可以包含成员变量,方法(普通方法和抽象方法都可以),构造器,初始化块,内部类(接口,枚举)5种成分。抽象类的构造器不能用于创建实例,主要用于被其子类调用。1.4 含有抽象方法的类(包括直接定义了一个抽象方法;或继承了一个抽象父类,但没有完全实现父类包含的抽象方法;原创 2020-08-08 08:51:57 · 286 阅读 · 0 评论 -
java语言学习之初始化块,final关键字,类成员
java语言学习(4)一.初始化块一个类可以有多个初始化块,相同类型的初始化块之间有顺序:前面定义的初始化块先执行,后面定义的初始化块后执行。从某种程度上来看,初始化块是构造器的补充,初始化块总是在构造器执行之前执行,与构造器不同的是,初始化块是一段固定执行的代码,它不能接收任何参数。如果有一段初始化处理代码对所有对象完全相同,且无须接收任何参数,就可以把这段初始化处理代码提取到初始化块中。二.静态初始化块用static修饰的初始化块称为静态初始化块,也称为类初始化块(普通初始化负责对对象执行初原创 2020-08-08 06:54:56 · 209 阅读 · 0 评论 -
java语言学习之类的继承,多态,继承与组合
java语言学习(3)一.类的继承1.java只能有一个直接父类,实际上,java类可以有无限多个间接父类。class Fruit extends Plant{...}class Apple extends Fruit{...}2.方法的重写遵循"两同两小一大"规则,“两同”:即方法名相同,形参列表相同;“两小”指的是子类方法返回值类型应该比父类方法返回值类型更小或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等。一大指的是子类方法的访问权限应该比父类方法的访问权限更大或相原创 2020-08-04 21:23:58 · 315 阅读 · 0 评论 -
java语言学习之类与对象,变量,访问控制符,包
java语言学习(2)一.类与对象1.static主要是用于修饰方法,成员变量等成员,static修饰的成员表明它属于这个类本身,而不属于该类的单个实列。有时也把static修饰的成员变量和成员方法称为静态变量和静态方法。静态成员不能直接访问非静态方法的。2.static修饰的方法和成员变量,既可以通过类来调用,也可以通过实例来调用;没有使用static修饰的普通方法和成员变量,只可以通过实例来调用。3.如果确实需要在静态方法中访问另一个普通方法,则只能重新创建一个对象。public class原创 2020-08-01 13:42:36 · 323 阅读 · 0 评论 -
java语言学习之概述,基本数据类型,自动类型转换,Switch,break, 数组,Arrays,垃圾回收机制
java基础知识一.java语言概述1.Java语言执行步骤使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码不面向任何具体的平台,只面向JVM,不同平台上的JVM都是不同的,但它们都提供了相同的接口。JVM是java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的java字节码就可以在该平台上使用了的。二.语法基础知识1.一个java源文件里最多只能定义一个public类HelloWorld.java//Helloworld和A类的执行顺序以在文件中原创 2020-08-01 10:01:43 · 196 阅读 · 0 评论