Java扫盲系列
Simon郎
这个作者很懒,什么都没留下…
展开
-
Java反射的原理解析及使用
一文带你彻底理解反射文章目录一文带你彻底理解反射前言1、Java反射机制的基本概述2 、理解Class类并获取Class实例3、类的加载过程以及反射创建对象时的内存分析3.1类的加载过程分析3.2 使用反射创建对象的内存分析3.3反射相关API和提供的主要功能概述4、创建运行时类对象4.1获取Class对象的三种方式总结5、获取运行时类的完整结构5.1获取运行时类的属性5.2获得运行时类的方法5.3创建运行时类的构造器6、动态创建类的对象前言人与人交流要用语言,人与机器人的交互同样需要语言,从计算机诞原创 2020-10-25 11:38:12 · 1036 阅读 · 0 评论 -
注解,就是那么简单!!!
深入理解注解文章目录深入理解注解1、基本介绍2 内置注解2.1@Deprecated注解2.2@Override注解2.3@SuppressWarnings注解3、元注解简介3.1@Target3.2@Rentention3.3@Documented3.4@Inherited4、自定义注解5、获取注解中的参数值5.1参数值是基本类型5.2参数值是对象1、基本介绍基本概念:注解,顾名思义,就是对某一事物进行添加注释说明,会存放一些信息,这些信息可能对以后某个时段来说是很有用处的。Java 注解(Anno原创 2020-10-21 23:24:17 · 367 阅读 · 0 评论 -
看完这篇网络编程,和面试官就有的扯了!!!
网络编程目录文章目录网络编程1、网络编程的基本概念2、IP地址及端口号3、通信协议4、TCP通信代码实践4.1消息传递4.2文件上传5、UDP通信代码5.1 UDP实现消息发送5.2 使用UDP循环发送和接收消息5.3使用UDP实现聊天1、网络编程的基本概念引例在学习网络编程之前,我们先看这样一个例子。一般处于我们这个年龄段的同学,大都经历过写信/寄信的经历,在写信的时候,我们一般都需要明确发送的地址、联系人信息以及所在地区的邮编,邮递员可以根据这上面的信息找到接收信件的人,接收人在阅读过信件的内原创 2020-10-05 22:21:47 · 419 阅读 · 2 评论 -
同学,你真的理解ReentrantLock加锁过程么?
ReentrantLock加锁过程1、什么是自旋?如何实现一把自旋锁通俗的讲,自旋就是不断的判断条件触发自己执行的功能,很多线程同步的思想都来源于于自旋,我们以两个线程抢占资源来理解下自旋:我们看到,当线程t1和线程t2共同抢占资源时,假如线程t1抢占到了资源,这时t1需要加锁并设置状态state=1,线程t2过来后会先判断状态state是否为0,如果不为0则一直循环判断state,直到线程t1解锁并设置state=0,线程t2才会继续抢占资源,线程t2不断循环判断的过程就是自旋。伪代码①vol原创 2020-05-11 17:50:45 · 2185 阅读 · 0 评论 -
看了这篇文章,就别担心线程间的通信了!
线程间的通信1、为什么需要线程通信线程是操作系统调度的最小单位,有自己的栈空间,可以按照既定的代码逐步的执行,但是如果每个线程间都孤立的运行,那就会造资源浪费。所以在现实中,我们需要这些线程间可以按照指定的规则共同完成一件任务,所以这些线程之间就需要互相协调,这个过程被称为线程的通信。线程的通信可以被定义为:线程通信就是当多个线程共同操作共享的资源时,互相告知自己的状态以避免资源争夺。...原创 2020-05-07 11:33:56 · 3074 阅读 · 4 评论 -
一文带你读懂线程的启动和终止,
点击上方「10分钟编程」关注我呦让我们在一起每天「博学」一点点,成为更好的自己!线程的启动和终止不熟悉线程基本概念的同学,可以先看看我的上一篇文章拜托,学习并发编程之前请学习下线程!1、...原创 2020-05-03 18:42:48 · 638 阅读 · 0 评论 -
拜托,学习并发编程之前请学习下线程!
点击上方「10分钟编程」关注我呦让我们在一起每天「博学」一点点,成为更好的自己!一、什么是线程 学习线程,我们首先要了解什么是进程,它和进程有什么样的区别和联系?找了很多资料,大部分都是...原创 2020-05-01 13:03:08 · 369 阅读 · 0 评论 -
看了这些排序算法,再也不用担心我的面试了
点击上方「10分钟编程」关注我呦让我们在一起每天「博学」一点点,成为更好的自己!常用的排序算法1、排序算法的概念及分类在学习排序算法前,我们先了解什么是排序,排序有哪些分类1.1、排序的...原创 2020-04-27 08:26:43 · 199 阅读 · 0 评论 -
Map---Hashtable源码解析
点击上方「10分钟编程」关注我呦让我们在一起每天「博学」一点点,成为更好的自己!Map--HashTable 上一篇文章中,我们分析了HashMap的源码,这一篇文章我们学习Map接口的...原创 2020-04-21 16:47:20 · 131 阅读 · 0 评论 -
Map--TreeMap
点击上方「10分钟编程」关注我呦让我们在一起每天「博学」一点点,成为更好的自己!Map--TreeMap本篇文章是基于JDK1.8分析的,在学习之前,我们先看一下TreeMap的继承链继...原创 2020-04-24 17:12:04 · 668 阅读 · 0 评论 -
Map--HashMap源码解析
点击上方「10分钟编程」关注我呦让我们在一起每天「博学」一点点,成为更好的自己!Map--HashMap 在上篇文章中集合--Map,我们对map接口中的方法和实现类有了一个大概的了解...原创 2020-04-19 16:43:02 · 249 阅读 · 0 评论 -
集合--Map
点击上方「10分钟编程」关注我呦让我们在一起每天「博学」一点点,成为更好的自己!Map 我们已经学习了collection集合了,为什么还要学map集合呢?map集合有什么特点呢?我们...原创 2020-04-17 09:47:25 · 179 阅读 · 0 评论 -
List源码解析
点击上方「10分钟编程」关注我呦让我们在一起每天「博学」一点点,成为更好的自己!List源码解析本篇文章有点长,所以先列个目录List源码解析1、ArrayList2、LinkedLi...原创 2020-04-07 17:28:15 · 361 阅读 · 0 评论 -
集合---Collection
点击上方「10分钟编程」关注我呦让我们在一起每天「博学」一点点,成为更好的自己!集合(Collection)「为什么要学习集合?」学习集合,就有必要说一下数组,集合在某种程度上弥补了数...原创 2020-04-06 11:26:53 · 100 阅读 · 0 评论 -
集合(Collection)
集合(Collection)为什么要学习集合?学习集合,就有必要说一下数组,集合在某种程度上弥补了数组的缺陷。我们先了解下数组的的特点长度固定,如果加入的元素超过了数组的长度就需要重新定义可以存储基本数据类型和引用数据类型数组存储的数据类型是同一类型的了解了数组,那我们需要了解下什么是集合?Java是一种面向对象的语言,所以就需要一种容器来存放对象,因此,集合就产生了,我们把集...原创 2020-04-15 15:55:50 · 185 阅读 · 0 评论 -
NIO编程,New IO?
在学习NIO之前,我们需要先了解几个概念什么是同步、异步IO?同步IO是指某一线程在发出一个调用时,在调用结果没有结束之前,一直等待,调用不返回。异步IO是指当某一线程发出一个调用时,因为不能立刻得到结果,所以该线程可以去做其它的事情,等原来的调用有了结果,以状态、通知或者回调的方式通知调用者。什么是阻塞、非阻塞?阻塞是指该线程无法做其它任务,只有条件就绪时才能继续非阻塞...原创 2020-04-09 11:14:19 · 149 阅读 · 0 评论 -
IO编程,真的很简单
文章目录1、io的基本概念2、io流的分类3、Java中常用的IO类3.1四个抽象类3.2输入操作3.3输出操作3.4缓存流的使用1、io的基本概念I/O操作指的是进行输入、输出的操作,输入/输出操作都是基于数据流的,这些数据流表示了字节或字符流动的序列。Java中的I/O流提供了读写数据的标准方法,任何表示数据源的对象都会以数据流的方式读写它的数据方法。java把用于操作输入/输出的类放在...原创 2020-04-07 21:21:04 · 1601 阅读 · 0 评论 -
集合(Map)
MapMap集合用于保存映射关系的数据key/Value,其中key不能重复,key和value存在一对一的关系,通过key可以找到value。Map的方法Map常用的方法Map中有三种视图①键集Set(K) keySet()//返回映射中所有键的一个集视图,可以从这个集合中删除元素,它们将从映射中删除,但是不能增加任何元素。②值集合Collection(V...原创 2019-10-22 21:32:17 · 355 阅读 · 0 评论 -
异常、断言和日志
一、异常异常对象都派生于Throwable类的一个实例,即所有的异常都是由Throwable继承而来,下一层分为了Error和ExceptionError是程序无法处理的错误,描述了java运行时系统的内部错误和资源耗尽的错误,与代码编写者无关,这些错误是不可查的,因为它们在应用程序的控制和处理能力之外Exception又分为两个分支,一个分支派生于RuntimeException...原创 2019-10-22 21:15:46 · 535 阅读 · 0 评论 -
接口、Lambda表达式与内部类(内部类)
三、内部类内部类是定义在另一个类中的类,使用内部类的原因如下:①内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据。②内部类可以对同一个包中的其它类隐藏起来。③当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。每个内部类都能独立的继承一个(接口的)实现,无论外围类是否已经继承了某个(接口)的实现,对于内部类都没有影响1、使用内部类访问对象的状态...原创 2019-10-22 21:12:03 · 386 阅读 · 0 评论 -
接口、Lambda表达式与内部类(Lambda表达式)
二、Lambda表达式Lambda表达式是一个可传递的代码块,可以在以后执行一次或多次。Lambda表达式允许你通过表达式来代替功能接口(接口的实现放在Lambda表达式中,可以取代匿名类),Lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)1、基本语法(parameters) -> expressio...原创 2019-10-19 15:52:46 · 882 阅读 · 0 评论 -
接口、Lambda表达式与内部类(接口)
一、接口1、基本概念接口不是类,而是对类的一组需求进行描述,这些类要遵从接口描述的统一格式进行定义,接口通常以Interface来声明,它是抽象方法的集合。如:interface A{//定义一个接口 public static final String MSG = "Simon";//全局常量 public abstract void print();/...原创 2019-10-19 15:51:03 · 247 阅读 · 0 评论 -
继承(反射)
七、反射反射机制是在运行态中,对于任何一个类/对象,通过反射都能知道任何一个属性和方法。这样动态获取新的以及动态调用对象方法的功能叫做反射。1、Class类Class可以说是反射能够实现的基础,class关键字是在声明java类时使用的;而Class 是java JDK提供的一个类,完整路径为 java.lang.Class对于每一种类,Java虚拟机都会初始化出一个Class...转载 2019-10-17 15:47:11 · 1114 阅读 · 0 评论 -
继承(二)
三、泛型数组列表在C++语言中,必须在编译时就要确定整个数组的大小,这是很头疼的,但是在JAVA中,它允许在运行时确定数组的大小。ArrayList在添加或者删除操作时,具有自动调节数组容量的功能,它采用了类型参数和泛型类。ArrayList<Employee> staff=new ArrayList<>();ArrayList的add方法Staff.a...原创 2019-10-17 15:35:29 · 138 阅读 · 0 评论 -
继承(一)
继承要讲授8个知识点,分别是①类、超类和子类②Object:所有类的超类③泛型数组列表④对象包装器与自动装箱⑤参数变量可变的方法⑥枚举类⑦反射⑧继承设计的技巧一、类、超类和子类1、定义子类extend表明构造的类派生于一个已存在的类,这个已存在的类称为超类或者父类,新构造的类称为子类。public class Mananger extend Employee{}子类可...原创 2019-10-17 15:33:52 · 228 阅读 · 0 评论 -
对象与类
一、面向对象程序设计的概述面向对象编程OOP(Object oriented Programming),在java中,一切皆对象,与面向过程对比来说,面向过程是对一条条的语句编程,每一步都需要很清楚,编写起来非常复杂。面向对象则是由对象组成的,在编写程序的过程中,只要对象能够满足要求,就不必关心其功能的具体实现过程。不必担心对象的具体实现,只要能满足用户的需求即可。1、类类是构造对...原创 2019-10-05 13:44:43 · 175 阅读 · 0 评论 -
基本语法
一、简单的Java程序public class FirstExample{public static void main(String[] args){System.out.println("Hello JavaCodebaseComponent");}}Public 是访问修饰符,包内外均可访问,class是类修饰符,表明java程序内的全部内容都包含在类中,main方法...原创 2019-09-26 18:23:16 · 143 阅读 · 0 评论 -
jdk、jre、jvm
jdk、jre、jvmjdk的全称是Java Development kit(java开发工具包),里面包含很多类库,Developer可以很容易的使用里面的方法以减少代码量,里面同时包含jre和一些开发的小工具(如编译工具javac),同时包含了jre。jre的全称是Java Running Environment(java运行时环境 ),里面包含了虚拟机和一些java类库。jvm...原创 2019-09-24 21:47:06 · 122 阅读 · 0 评论 -
java反射详解
转自于反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字...转载 2019-04-03 11:52:47 · 137 阅读 · 0 评论 -
java线程
一、进程与线程的区别?1、进程进程是指一个内存中的应用程序,有自己的一块虚拟空间,一个进程可以有多个线程,是系统进行资源分配和调度的基本单位。2、线程线程指进程中的一个执行流程,线程总属于某个进程 ,线程没有自己的虚拟地址空间,进程中的多个线程共享资源。二、并发与并行1、并行并发指同一时刻,多条指令在多个处理器上同时执行2、并发同一时刻智能由一条指令执行,但...原创 2019-10-23 23:08:07 · 165 阅读 · 0 评论