Java语言(IDEA)
文章平均质量分 66
定期分享个人Java学习经验,包括最新的web开发的框架介绍
绝域时空
这个作者很懒,什么都没留下…
展开
-
Java虚拟机之HotSpot虚拟机
一、HotSpot虚拟机原创 2021-12-04 22:28:47 · 4210 阅读 · 0 评论 -
Java虚拟机之线程
一、线程线程是比进程更轻量级的调度执行单位,学习过操作系统的可以知道进程是程序运行的z最小单元。二线程的实现线程的实现主要有三种方法: 1、使用内核线程实现;2、使用用户线程实现;3、使用用户线程加轻量级进程混合实现1、内核线程实现内核线程就是直接由操作系统内核支持的线程,该线程由内核来完成线程的切换内核通过线程调度器对线程进行调度,并负责将线程任务映射到各个处理器一般使用内核线程的高级接口轻量级进程(线程),轻量级进程与内核线程1:1对应如下:系统调用代价高,需要在用户态和内核态切换,会消耗原创 2021-12-03 23:54:57 · 514 阅读 · 0 评论 -
Java虚拟机之Java内存模型
一、Java内存模型Java的内存模型的建设目的: 为了定义程序中各种共享变量访问规则,其中关于Java内存模型规定如下:所有的共享变量都存储在主内存中每条线程有自己的工作内存线程的工作内存保存了被该线程使用变量的主内存副本线程对内存的所有操作(读写等)都要在工作内存进行,不能直接操作主内存不同线程间无法访问对方工作内存的变量,线程间变量值传递需要通过主内存来完成其中, 主内存与工作内存 之间的关系可以类比为内存与高速缓冲存储器(cache)二、交互操作以及注意事项/** * 线程A原创 2021-12-02 00:06:06 · 235 阅读 · 0 评论 -
利用Java实现HDFS文件上传下载
文章目录利用Java实现HDFS文件上传下载1、pom.xml配置2、创建与删除3、文件上传4、文件下载利用Java实现HDFS文件上传下载1、pom.xml配置<!--配置--><properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.sour原创 2022-02-05 11:03:26 · 3110 阅读 · 0 评论 -
MapReduce之job配置信息介绍
一.jobhadoop中的MapReduce可以使用Java进行MapReduce的逻辑撰写。其中就需要job进行相关配置。job作为MapReduce的配置信息以及启动项直接打包成jar包,hadoop可以运行这个jar包实现mapreduce的功能。本文主要从源码中,将job的配置项信息提取出来,希望对大家对于hadoop的学习和工作有所帮助。二、job的方法详细介绍返回值方法描述StringgetTrackingURL()获取将显示某些作业进度信息的 URLStr原创 2022-01-05 23:11:39 · 1323 阅读 · 0 评论 -
Xpath表达式
一、Xpath表达式Xpath表达式使用路径表达式来选取xml文档中的节点或者节点集,这些路径表达式和我们常规的电脑文件路径有些类似。二、选取节点Xpath使用的路径表达式在XML文档中选取节点,节点通过路径或者step选取的。字段描述nodename选取此节点的所有子节点/从根节点选取子节点//从匹配选择的当前节点选择文档中的节点.选取当前节点…选取当前节点的父节点@选取属性三、谓语谓语用来查找某个特定的节点或者包含某个指定的节原创 2021-10-28 14:14:16 · 319 阅读 · 0 评论 -
IDEA里配置Maven环境
一、maven环境Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。下面我将详细介绍maven环境的搭建以及相关配置的设置。二、材料1、IDEA2、Maven包,maven官方下载地址为:http://maven.apache.org/download.cgi三、maven的配置文件修改对于maven文件在配置文件的conf文件中,我的配置文件在D:\Java\apache-maven-3.6.1\conf,找到这个文件的setting文件。在这个文件夹里找到sett原创 2021-11-18 15:26:46 · 6771 阅读 · 0 评论 -
超详细的逐句介绍Java反射之Field类和InvocationTargetException类函数源码讲解(全)
一、Field类和InvocationTargetException类InvocationTargetException 是一个经过检查的异常,它包装了被调用的方法或构造函数抛出的异常。Field提供有关类或接口的单个字段的信息和动态访问。反射字段可以是类(静态)字段或实例字段。下面我将从源码角度详细介绍Field类和InvocationTargetException类内部源码二、Field类源码介绍Field类继承了AccessibleObject类,同时实现了接口Memberpublic f原创 2021-11-20 10:24:25 · 2271 阅读 · 0 评论 -
超详细的逐句介绍Java反射之Constructort类和Method类函数源码讲解(全)
一、Constructort类和Method类Constructort类构造函数提供有关类的单个构造函数的信息和对其的访问。Method类方法提供有关类或接口上的单个方法的信息和对其的访问。反映的方法可以是类方法或实例方法(包括抽象方法)。下面我将从源码的角度对这两个类进行详细介绍。二、Constructort类源码介绍Constructort类继承了Executable类public final class Constructor<T> extends Executable {}原创 2021-11-20 09:08:37 · 793 阅读 · 0 评论 -
超详细的逐句介绍Java网络编程之Socket类函数源码讲解(全)
一、Socket类Socket 类表示通信双方中的客户端,用于呼叫远端机器上的一个端口,主动向服务器端发送数据(当连接建立后也能接收数据)。下面我将从源码的角度来介绍Socket类的内部原理及其方法。二、Socket类源码介绍首先,Socket类实现了java.io.Closeable的接口publicclass Socket implements java.io.Closeable {}下面定义了一些Socket的一些状态 private boolean created = fal原创 2021-11-19 19:23:24 · 1751 阅读 · 0 评论 -
正则表达式详细介绍
一、正则表达式正则表达式描述了一种字符串匹配的模式(pattern),可以用来检查一个字符串原创 2021-11-19 18:33:19 · 292 阅读 · 0 评论 -
超详细的逐句介绍Java多线程之Thread类函数源码讲解(全)
一、Thread类Java多线程的一种创建方式就是继承Thread类,重写run()方法实现多线程。对于Java另一种多线程的编写方式同样需要用Thread类进行方法封装。下面我将从源码角度进行Thread类内部源码的详细介绍二、Thread类内部源码Thread类实现了runnable接口publicclass Thread implements Runnable {}利用JVM实现本地注册private static native void registerNatives();静态原创 2021-11-19 17:53:25 · 706 阅读 · 0 评论 -
Java多线程(JUC)原理
一、JUC的技术优势1、提高应用程序的响应。对图形化界面更有意义,可增强用户体验。2、提高计算机系统CPU的利用率3、改善程序结构。将既长又复杂的进程分为多个线程,独立运行,利于理解和修改4、使用线程可以将耗时任务放到后台去处理,例如等待用户输入、文件读写和网络收发数据等。二、多线程的安全1、使用同步代码块解决在同步代码块中,多个线程必须使用的是同一把锁,即同一个对象。这种方式类似于C语言设置一个mutex信号量的方式类似,其语法结构如下:synchronized(互斥锁){ 可能会发生原创 2021-11-19 07:33:56 · 259 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之文件输入/输出二进制流函数DataInputStream和DataOutputStream函数源码讲解(全)
一、DataInputStream和DataOutputStream函数DataInputStream和DataOutputStream函数是文件输入/输出二进制流函数。DataInputStream函数主要实现数据输入流允许应用程序以独立于机器的方式从底层输入流中读取原始 Java 数据类型。应用程序使用数据输出流写入稍后可由数据输入流读取的数据。DataOutputStream函数主要实现数据输出流允许应用程序以可移植的方式将原始 Java 数据类型写入输出流。然后,应用程序可以使用数据输入流将数原创 2021-11-18 19:21:02 · 2295 阅读 · 1 评论 -
超详细的逐句介绍Java高级接口之文件输入/输出缓冲流函数BufferedReader和BufferedWriter函数源码讲解(全)
一、BufferedReader和BufferedWriter函数BufferedReader函数主要实现从字符输入流中读取文本,缓冲字符以提供对字符、数组和行的有效读取。可以指定缓冲区大小,也可以使用默认大小。 对于大多数用途,默认值足够大。BufferedWriter主要实现将文本写入字符输出流,缓冲字符以提供单个字符、数组和字符串的高效写入。可以指定缓冲区大小,也可以接受默认大小。 对于大多数用途,默认值足够大。下面我将从源码的角度来详细介绍这两个函数。二、BufferedReader源码介绍原创 2021-11-18 08:31:30 · 791 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之文件输入/输出转换流函数InputStreamReader和OutputStreamWriter函数源码讲解(全)
一、InputStreamReader和OutputStreamWriter本专栏文章超详细的逐句介绍Java高级接口之文件输入/输出流函数FileReader和FileWriter函数源码讲解(全)的具体方法实现主要在文件输入/输出转换流函数InputStreamReader和OutputStreamWriter函数,下面我将从源码角度进行介绍。二、OutputStreamWriter源码介绍InputStreamReader继承于Writerpublic class OutputStreamWr原创 2021-11-17 20:01:06 · 299 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之文件输入/输出流函数FileReader和FileWriter函数源码讲解(全)
一、FileReader类和FileWriter类FileReader和FileWriter主要实现数据的读入和写出,两个主要的方法是read()和write(),下面我将从源码的角度介绍两个方法类的底层源码。二、FileReader类源码介绍FileReader是继承输入流函数,其继承了InputStreamReader的方法public class FileReader extends InputStreamReader {}给定要从中读取的文件的名称,创建一个新的 FileReader。原创 2021-11-17 19:18:52 · 318 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之文件输入流函数FileOutputStream函数源码讲解(全)
一、FileOutputStream函数FileOutputStream函数主要实现将程序的内容通过这个接口将数据传入到文件中。下面我将从源码角度进行对FileOutputStream的内部方法进行介绍。二、内部源码介绍FileOutputStream函数publicclass FileOutputStream extends OutputStream{}...原创 2021-11-17 18:59:07 · 577 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之文件输入流函数FileInputStream函数源码讲解(全)
一、FileInputStream函数FileInputStream函数主要实现将程序的内容通过这个接口将数据传入到文件中。下面我将从源码角度进行对FileInputStream的内部方法进行介绍。二、内部源码介绍首先FileInputStream函数继承于InputStream函数publicclass FileInputStream extends InputStream{}下面定义了文件修饰符private final FileDescriptor fd;下面定义了文件路径pa原创 2021-11-17 16:29:18 · 486 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之File函数源码讲解(二)
一、File类File类是所有文件输入输出的父类。File 类是 java.io 包中唯一代表磁盘文件本身的对象,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成。超详细的逐句介绍Java高级接口之File函数源码讲解(一)从源码角度详细介绍了File类的内部初始化方法。下面我将介绍File类内部方法。二、实现方法下面方法定义了获取文件名称方法public String getName() { int index = path.lastIndexOf(separato原创 2021-11-17 14:25:34 · 553 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之File函数源码讲解(一)
一、File类File类是所有文件输入输出的父类。File 类是 java.io 包中唯一代表磁盘文件本身的对象,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成。下面我将从源码角度详细介绍一File类的内部初始化方法。二、内部初始化方法下面定义了File类的类名,它继承了序列化接口和文件泛型public class File implements Serializable, Comparable<File>{}下面定义了获取默认文件位置fsprivat原创 2021-11-17 08:42:58 · 459 阅读 · 1 评论 -
Java之IO流分类及其基本方法
一、IO流及其分类IO流分类可以分为以下几类:1、文件字节流:FileInputStream、FileOutputStream2、文件字符流:FileReader、FileWiter3、转换流:InputStreamReader、OutputStreamWriter4、缓冲流:BufferedReader、BufferedWriter5、二进制流:DataInputStream、DataOutputStream6、对象流:ObjectInputStream、ObjectOutputStream原创 2021-11-16 22:08:57 · 3059 阅读 · 0 评论 -
HashMap实现方法介绍
一、HashMap本专栏超详细的逐句介绍Java高级接口之HashMap底层源码讲解(二)详细介绍了HashMap的内部方法的底层源码,下面我将介绍HashMap的实现方法以及功能。二、HashMap实现方法实现方法功能描述void clear()从这个映射中移除所有的映射。Object clone()返回该 HashMap实例浅拷贝:键和值本身不是克隆。V compute(K key, BiFunction<? super K,? super V,? ext原创 2021-11-16 18:51:51 · 203 阅读 · 0 评论 -
HashSet实现方法介绍
一、HashSet本专栏的文章超详细的逐句介绍Java高级接口之HashSet底层源码讲解(二)主要介绍了HashSet的源码,下面我将介绍HashSet的实现方法。二、实现方法实现方法功能boolean add(E e)如果没有已存在,则将指定的元素添加到该集合中。void clear()从这个集合中移除所有的元素。Object clone()返回该 HashSet实例浅拷贝:元素本身不是克隆。boolean contains(Object o)如果这套原创 2021-11-16 16:09:44 · 624 阅读 · 0 评论 -
LinkedList实现方法介绍
一、LinkedList在本专栏前面文章超详细的逐句介绍Java高级接口之LinkedList底层源码讲解(二)详细介绍了LinkedList二、实现方法方法及其格式功能boolean add(E e)将指定的元素列表的结束。void add(int index, E element)在列表中指定的位置上插入指定的元素。boolean addAll(Collection<? extends E> c)追加指定集合的所有元素到这个列表的末尾,按他们的指定原创 2021-11-16 15:32:21 · 353 阅读 · 0 评论 -
ArrayList实现方法介绍
一、ArrayList前面我详细介绍了ArrayList的内存源码,具体内容请查看超详细的逐句介绍Java高级接口之ArrayList底层源码讲解(二) 下面我将介绍ArrayList的具体方法及其具体作用。二、ArrayList实现类介绍方法名作用void add(E e)将指定的元素列表的结束。void add(int index, E element)在列表中指定的位置上插入指定的元素。boolean addAll(Collection<? extend原创 2021-11-16 15:15:41 · 472 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之Date函数源码讲解(全)
一、Date类Date类主要是为程序提供时间方法以及为程序提供时间戳,由于这里面已经有很多方法已经弃用,因此在源码介绍时,我就不在进行赘述了,下面我们就开始date函数的详细介绍二、内部函数详细介绍首先,date类主要继承的接口包括有:java.io.Serializable, Cloneable和 Comparablepublic class Date implements java.io.Serializable, Cloneable, Comparable<Date>{原创 2021-11-15 17:27:51 · 698 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之String函数源码讲解(二)
一、String类String 类表示字符串。 Java 程序中的所有字符串文字,例如“abc”,都作为此类的实例来实现。超详细的逐句介绍Java高级接口之String函数源码讲解(一)介绍了函数常量以及相关的初始化方法设计。本文主要介绍了String类的一些外部方法二、外部方法介绍返回字符串长度public int length() { return value.length; }判断字符串是否为空public boolean isEmpty() {原创 2021-11-15 16:37:37 · 284 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之String函数源码讲解(一)
一、String类String 类表示字符串。 Java 程序中的所有字符串文字,例如“abc”,都作为此类的实例来实现。下面我将介绍下面的函数常量以及相关的初始化方法设计。二、内部方法介绍String类连接的接口为:java.io.Serializable, Comparable, CharSequencepublic final class String implements java.io.Serializable, Comparable<String>, CharSequ原创 2021-11-14 19:11:50 · 446 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之Random函数源码讲解(全)
一、Random函数Random函数主要用于生成随机数的函数,这是在计算机测试时生成相应的测试数据的过程中很有用,下面我将从源码的角度进行Random函数的内部进行详细介绍。二、Random函数源码详细介绍首先,Random函数继承于java.io.Serializable 接口publicclass Random implements java.io.Serializable {}下面定义了一个下一个高斯数的初始化变量和标志位。private double nextNextGaussia原创 2021-11-14 15:01:00 · 1797 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之Math函数源码讲解(全)
一、Math函数Math函数集成了大量的数学方法,这是Java编程中不可缺少的一个库函数。下面我将从源码角度出发详细的介绍Math函数内部集成的一些方法。二、math函数方法首先math库进行了一个无参构造方法private Math() {}math库首先定义了两个常量一个e和一个π。public static final double E = 2.7182818284590452354;public static final double PI = 3.14159265358979323原创 2021-11-14 11:18:58 · 988 阅读 · 1 评论 -
超详细的逐句介绍Java高级接口之Collection接口底层源码讲解
一、Collection接口Collection接口是Java集合接口的父类,这些被List、Map、Set、Queue继承,这里面定义了静态方法。下面我将从源码角度介绍Collection接口类定义的静态方法。二、方法首先,定义Collection接口是继承与迭代的public interface Collection<E> extends Iterable<E> {}定义了静态方法大小int size();定义了静态方法是否为空boolean isEmpty原创 2021-11-13 11:50:57 · 139 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之HashMap底层源码讲解(三)
一、HashMapHashMap 是一个散列表,它存储的内容是键值对(key-value)映射。它集成大量的方法,应用于数据结构与算法中。超详细的逐句介绍Java高级接口之HashMap底层源码讲解(一)介绍了HashMap的内部方法,超详细的逐句介绍Java高级接口之HashMap底层源码讲解(二)介绍HashMap的使用方法。本文主要介绍一些辅助方法二、HashMap的辅助方法获取Set方法并定义一些基本的基础方法 final class KeySet extends AbstractSet&l原创 2021-11-13 11:02:20 · 589 阅读 · 3 评论 -
超详细的逐句介绍Java高级接口之HashMap底层源码讲解(二)
一、HashMapHashMap 是一个散列表,它存储的内容是键值对(key-value)映射。它集成大量的方法,应用于数据结构与算法中。超详细的逐句介绍Java高级接口之HashMap底层源码讲解(二)介绍了HashMap的内部方法,下面我将介绍HashMap的使用方法。二、HashMap的使用方法...原创 2021-11-13 10:08:06 · 262 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之HashMap底层源码讲解(一)
一、HashMapHashMap 是一个散列表,它存储的内容是键值对(key-value)映射。它集成大量的方法,应用于数据结构与算法中。原创 2021-11-13 09:35:40 · 506 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之HashSet底层源码讲解(二)
一、HashSetHashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。这是一个继承了于Set的子类方法。超详细的逐句介绍Java高级接口之HashSet底层源码讲解(一)详细介绍Hashset的初始化相关设置。下面我将介绍HashSet的具体的使用方法函数二、HashSet方法函数下面方法定义了HashSet的迭代器 public Iterator<E> iterator() { return map.keySet().iterator();原创 2021-11-12 15:45:19 · 258 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之HashSet底层源码讲解(一)
一、HashSetHashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。这是一个继承了于Set的子类方法。下面我将详细介绍Hashset的初始化相关设置。二、初始化方法定义Hashset方法,该方法继承于抽象方法AbstractSet。与此同时他接受接口为Set, Cloneable, java.io.Serializable。public class HashSet<E> extends AbstractSet<E> implemen原创 2021-11-12 15:09:58 · 291 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之LinkedList底层源码讲解(三)
一、LinkedListLinkedList是基于链表结构的一种线性结构存储结构,他和ArrayList的结构类似,两者均可以创建动态数组结构,唯一区别在于ArrayList创建的动态数组在内存上是连续的,而LinkedList是离散的。上一篇文章的超详细的逐句介绍Java高级接口之LinkedList底层源码讲解(一)详细介绍了LinkedList的一些内部方法,超详细的逐句介绍Java高级接口之LinkedList底层源码讲解(二)LinkedList的一些使用方法。下面我将介绍LinkedList一原创 2021-11-11 17:39:48 · 434 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之LinkedList底层源码讲解(二)
一、LinkedListLinkedList是基于链表结构的一种线性结构存储结构,他和ArrayList的结构类似,两者均可以创建动态数组结构,唯一区别在于ArrayList创建的动态数组在内存上是连续的,而LinkedList是离散的。上一篇文章的超详细的逐句介绍Java高级接口之LinkedList底层源码讲解(一)详细介绍了LinkedList的一些内部方法,下面我将介绍LinkedList的一些使用方法二、LinkedList的使用方法下面方法定义了获取第一个元素的方法。public E g原创 2021-11-11 17:18:59 · 344 阅读 · 0 评论 -
超详细的逐句介绍Java高级接口之LinkedList底层源码讲解(一)
一、LinkedListLinkedList是基于链表结构的一种线性结构存储结构,他和ArrayList的结构类似,两者均可以创建动态数组结构,唯一区别在于ArrayList创建的动态数组在内存上是连续的,而LinkedList是离散的。二、LinkedList的初始化方法LinkedList继承于AbstractSequentialList接口,它连接了List, Deque, Cloneable, java.io.Serializable接口public class LinkedList<原创 2021-11-11 14:19:02 · 253 阅读 · 0 评论