自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Java的反射机制

一、Java的反射机制Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够用它的任意方法和属性;这种动态获取信息及动态调用对象方法的功能称为Java语言的反射机制。作用:(1)反编译:可以实现简单的反编译,获取类中的属性和方法等基本信息,.class->java;(2)通过反射机制获取类的属性、方法等。二、反射机制主要提供的功能...

2020-01-04 13:32:32 193

原创 网络协议

一、网络协议互联网的本质就是一系列的网络协议:如果把计算机看成分布于世界各地的人,那么连接两台计算机之间的Internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列的协议,总称为“互联网协议”(Internet Protocol Suite)。互联网协议的功能:定义计算机如何接入Internet,以及接入Internet的计算机通信的标准。OSI七层协议:...

2019-12-27 16:10:59 307

原创 IP地址、MAC地址和端口号

IP地址:Internet Protocol Address的缩写,译为”网际协议地址”。一台计算机可以拥有一个独立的IP地址,一个局域网也可以拥有一个独立的IP地址。IP地址是在网络层的IP头部里,用于识别网络中互联的主机和路由器,其实主要是确认子网,通过子网掩码确认某个IP地址所在的子网,而后在在子网内部确认mac地址就能找到准备的用户了。MAC地址:Medica Access Con...

2019-12-26 10:00:15 3759

原创 Java中的异常

一、概念:Java异常是Java提供的一种识别及响应错误的一致性机制。Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提供程序健壮性。二、Java异常机制用到的几个关键字:(1)try——用于监听。将要被监听的代码(可能抛出异常的代码)放在try语句块之内,当try语句块内发生异常时,异常就被抛出。(2)catch——用于捕获异常。Catch用来捕获t...

2019-12-12 18:08:26 135

原创 生产者-消费者设计模式

一、生产者消费者设计模式1、中间队列一段内存空间,且可存取;2、两种角色(1)生产者:生产数据;(2)消费者:消费数据。3、三种关系(1)生产者与生产者的互斥关系;(2)消费者与消费者的互斥关系;(3)生产者与消费者的互斥且同步关系。二、实现方式1、使用synchronized(wait()和notify())2、使用Lock实现(await()和signal())3、阻...

2019-12-09 18:22:49 891

原创 多线程中的临界资源问题

一、多线程中的临界资源问题临界资源临界资源是一次仅允许一个进程使用的共享资源。各进程采取互斥的方式,实现共享的资源称作临界资源。属于临界资源的硬件有:打印机,磁带机等;软件有消息队列、变量、数组、缓冲区等。诸进程间采取互斥方式,实现对这种资源的共享。临界区每个进程中访问临界资源的那段代码称为临界区,每次只允许一个进程进入临界区,进入后,不允许其他进程进入。不论是硬件临界资源还是软件临界资源...

2019-12-08 21:28:14 2879

原创 线程的生命周期

线程的生命周期线程的生命周期会经历以下几个状态:(1)新建:new创建线程对象时(2)就绪:调用start()方法时(3)运行:调用run()方法时(4)阻塞:多种原因可导致阻塞(5)超时等待:该状态不同于WAITING,它可以在指定的时间后自行返回。(6)死亡:多种原因新建、就绪状态:(1)使用new关键字创建一个线程时,该线程处于新建状态;(2)线程对象调用start()方...

2019-12-07 09:53:35 82

原创 Java中的线程池

一、Java-三种阻塞队列,四种拒绝策略,五种线程池三种阻塞队列:BlockingQueue workQueue = null;workQueue = new ArrayBlockingQueue<>(5);//基于数组的先进先出队列,有界workQueue = new LinkedBlockingQueue<>();//基于链表的先进先出队列,无界workQue...

2019-12-06 15:39:48 95

原创 Java中的Runnable

一、Runnable与Thread的区别:1.Runnable 是接口;2.Thread 是类,且实现了Runnable接口。3.在使用Runnable定义的子类中没有start()方法,只有Thread类中才有。4.Runnable接口是一个功能接口,并且具有单一的run()不接受任何参数,并且不返回任何值的方法。二、在程序开发中多线程主要以实现Runnable接口为主。Java多线...

2019-12-05 17:17:40 7111 1

原创 Java中的线程之Thread类

线程通过使用线程,可以把操作系统进程的资源分配和执行调度分开,各个线程既可以共享进程资源(内存地址、文件I/O等),又可以独立调度(线程是CPU调度的基本单位)。主流操作系统(Windows,Linux)都提供了线程的实现,Java则提供了在不同硬件和操作系统下对线程的统一处理,Thread类则是Java中线程的实现。Java线程使用操作系统的内核线程实现,内核线程(KLT)是直接由操作系统...

2019-12-05 15:15:51 168

原创 Java中的进程与线程

一、进程1、概念:进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程是表示资源分配的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。2、组成:进程一般由程序、数据结合和进程控制块三部分组成:(1)程序:用于描述进程要完成的功能,是控制进程执行的指令集;(2)数据集合:是程序在执行时所需要的数据和工作区;(3)程序控制块:包含进程的描述信息和控...

2019-12-04 21:41:30 129

原创 软件设计模式之装饰模式

软件设计模式软件设计模式的概念:软件设计模式,又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。学习设计模式的意义:设计模式...

2019-12-03 14:17:17 268

原创 Properties类

Properties类:Public class properties extends HashTable可见Properties类继承了HashTable,而HashTable又实现了Map接口,所以可对properties对象应用put和putAll方法。但不建议使用这两个方法,因为他们允许调用者插入其键或值不是String的项。相反,应该使用setProperty方法。如果在“不安全”的...

2019-12-03 14:13:16 135

原创 Java中的RandomAccessFile

一、RandomAccessFile的特点:1、既可以读取文件内容,也可以向文件中写入内容;可以直接跳到文件的任意位置来读写数据;2、可以访问文件的部分内容;3、可以自由定位文件记录指针;4、可以不从文件开始的地方输出;5、可以向已存在的文件后追加内容;6、可以自由的移动记录指针,即可以向前移动,也可以向后移动。二、1、RandomAccessFile包含了以下两个方法来操作文件的...

2019-12-02 22:20:26 542

原创 Java中的IO流

Java中IO流的概念与分类一、流的概念流的概念源于UNIX中管道的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外围文件等。一个流,必有源端和目的端,它可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL。二、Java流的分类Java中的流,可以从不同的角度进行分类:1、按照数据流的方向不同可以分为:输入流...

2019-11-28 18:27:28 487

原创 Java中file类的常用方法

创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false。mkdir()在指定位置创建一个单级文件夹。mkdirs()在指定位置创建一个多级文件夹。renameTo(File dest)如果目标文件与源文件是在同一个路径下,那么renameTo的作用是重命名, 如果目标文件与源文件不是在同一个路径下,那么renameTo的作用...

2019-11-27 21:31:12 158

原创 Java迭代器

一、对迭代器的理解(1)迭代器,是遍历集合的一种方式;迭代器是依赖于集合而存在的。(2)迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。(3)迭代器,提供一种访问一个集合对象各个元素的途径,同时又不需要暴露该对象的内部细节。Java中的Iterator功能比较简单,并且只能单向移动:(1)使用方法iterator()要求容器返回一个...

2019-11-26 18:52:10 166

原创 Java泛型

一、泛型泛型,即“参数化类型”,泛型只在编译阶段有效。使用泛型有以下好处:(1)可以统一数据类型,便于操作;(2)将运行时的异常提前到了编译时,提高了效率;(3)避免了强制类型转换;(4)实现代码的模板化,把数据类型当作参数传递,提高了可重用性。二、泛型的使用1、泛型类:泛型类用于类的定义中,被称为泛型类。通过泛型可以完成对一组类的操作对外开放相同的接口。最典型的就是各种容器类,如...

2019-11-25 22:09:46 181

原创 Java:包装类型

一、包装类型:包装类型相当于将基本类型包装起来,使其具有对象的性质,并且可以添加属性和方法,丰富了基本类型的操作。二、包装类型的好处:1、符合Java面向对象编程特征;2、使用集合Collection就一定要用包装类型;3、需要往ArrayList,HashMap放东西,int和double是放不进去的。三、基本类型和包装类型之间的转换1、int转换integer int i=0...

2019-11-22 22:38:07 503

原创 Java之String、StringBuffer、StringBuilder

Java:String、StringBuffer和StringBuiler的区别字符缓冲区,就是一个容器,容器中可以装很多字符。并且能够对其中的字符进行各种操作。一、概念:1、StringString字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。String类的包含如下定义:private final char value[];prinvate...

2019-11-21 22:42:04 106

原创 Java内存分析

Java内存分析:一、Java内存管理Java内存管理就是对象的分配和释放问题。在java中,内存的分配是由程序完成的,而内存的释放是由Java垃圾回收器(GC)完成的,这种方式确实简化了程序员的工作,但也同时加重了JVM的工作。这也是Java程序运行速度较慢的原因之一。为了能够正确释放对象,GC必须监控每一个对象的运行状态,包括对象的申请、引用、被引用、赋值等,监控对象状态是为了更加准确地...

2019-11-20 21:52:53 166

原创 Java接口的详细介绍

一、接口的基本介绍:1、接口的概念:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。通俗解释:接口可以理解成是一种特殊的类,里面的方法全是公开抽象方法,里面的变量全市公开常量。众所周知,Java是单继承,仅仅只有单继承的话,扩展性就会低,接口的出现就是为了解决这一问题...

2019-11-19 22:33:01 381

原创 Java面向对象设计思想

一、面向对象Java是面向对象的高级编程语言,类和对象是Java程序的构成核心。围绕Java类和Java对象,有三大基本特征:1、封装是Java类的编写规范;2、继承是类与类之间联系的一种形式;3、多态为系统组件或模块之间解耦提供了解决方案。面向对象的程序核心是由对象组成的,每个对象包含着对用户公开的特定功能和隐藏的实现部分。程序中的很多对象来自JDK标准库,而更多的类需要我程序员自定义...

2019-11-18 22:36:25 439

原创 数组的优缺点

一、数组的优缺点:(一)优点:1、按照索引查询元素速度快;2、能存储大量数据;3、按照索引遍历数组方便;4、数组定义简单,而且访问很方便;5、可以随机访问其中的元素。(二)缺点:1、根据内容查找元素速度慢;2、数组的大小一经确定不能改变,不适合动态存储;3、数组智能存储一种类型的数据;4、增加、删除元素效率慢;5、未封装任何方法,所有操作都需要用户自己定义;6、数组的空间...

2019-11-18 20:59:05 16443

原创 Java中的方法

所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。一、方法的定义定义一个方法的语法:访问修饰符 返回值类型 方法名(参数列表){方法体}其中:1、访问修饰符:方法允许被访问的权限范围,可以是public、protected、private甚至可以省略,其中public表示该方法可以被其他任何代码调用;2、返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型...

2019-11-17 21:53:17 204

原创 Java中的JVM、JRE、JDK

一、JVM1、JVM定义:JVM是Java Virtual Machine(Java虚拟机)的缩写,是JRE的一部分。JVM只能识别.class文件(字节码文件)。Java之所以能够实现跨平台就在于java面对不同操作系统时,使用不同的虚拟机,有Linux版本的JVM实现,也有Windows版本的JVM实现,可以看出JVM本身不具有跨平台性,但不同平台的JVM可以将同一个.class文件解释并...

2019-11-16 22:16:07 256 1

原创 Java的特点以及与C++、C、C#的联系与区别

一、Java简介Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。Java分为三个体系:1、JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)2、JavaEE(J2EE)(Java 2 Pla...

2019-11-15 22:48:24 1512

原创 Java数组的常用方法

数组数组其实也是一个容器,可以用来存储固定个数相同类型的数据数组的定义,数组中存储的数据叫做元素。特点:1、数组是引用数据类型;2、数组的长度是固定的,也就是说可以存储固定个数的数据;长度一旦制定,不可更改;3、数组中的元素的类型必须一致,也就是说数组中存储的多个数据的数据类型一致定义数组String[] aArray=new String[5];String[] bArray={...

2019-11-14 22:16:43 337

原创 Java中的数组

一、数组的定义: Java语言中提供的数组是用来存储固定大小的同类型元素。其定义方式有三种:方法一:1、声明;2、分配空间;3、赋值int[] arr;//声明arr=new int[5];//分配空间for(int i=0;i<5;i++)arr[i]=i*10;//赋值方法二:1.声明并分配空间;2.赋值int[] arr=new int[5];//声明并分配空间...

2019-11-13 23:09:40 107

原创 Java中HashMap和HashTable的区别?

1.HashTableHashTable是Dictionary(字典)类的子类,位于java.util包中。2.HashMapHashMap是一个散列表,它存储的内容是键值对(key-value)映射。该类实现了Map接口,根据键的HashCode值存储数据,具有很快的访问速度,最多允许一条记录的键为null,不支持线程同步。3.HashTable和HashMap①都实现了Map、Cl...

2019-11-12 22:21:05 266

原创 Java中的数据类型有哪些?

Java中的数据类型分为基本类型和引用类型两大类型,如图所示:其中基本数据类型,如表所示:引用数据类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被制定为 一个特定的类型,一旦声明后,类型就不能被改变。区别:基本数据类型和引用类型的区别主要在于基本数据类型是分配在栈上的,而引用类型是分配在堆上的。...

2019-11-12 22:09:31 871

原创 Java中有哪些集合,集合中有哪些类?

Java中所有的类都位于java.util包下,主要由两个接口派生出来,分别是Collection和Map.Collection包含了List和Set两大分支。Map是一个映射接口。Set 、Map、List可以看做集合的三大类。而遍历集合的工具有Iterator和Enumeration;Arrays和Collection是操作数组集合的两个工具类。一、Java中的集合主要分为四类:1、L...

2019-11-12 21:46:16 21198 2

原创 抽象类和接口的区别?

抽象类与接口的区别:1、方法体:抽象类中的方法可以含有方法体,接口中的方法不能有方法体;2、成员变量:抽象类中的成员变量可以是各种类型的,接口中只能是public static final类型的;3、静态代码块和静态方法:抽象类中可以含有静态代码块和静态方法,接口中不能含有;4、一个类只能继承一个抽象类,一个类可以含有多个接口。...

2019-11-09 20:48:45 76

原创 Java的三大特性

Java的三大特性为:继承、多态和封装。1、 继承:子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类集成方法,使得子类具有父类相同的行为。2、多态:多态是同一个行为具有多个不同表现形式或形态的能力。也就是说,同一个接口,使用不同的实例而执行不同操作。多态存在的三个必要条件:继承、重写、父类引用指向子类对象。3、封装:封装是指一种将抽象性函式接口的实现细节部分...

2019-11-09 20:47:44 118

原创 为什么学习Java

因为喜欢Java,学习java 具有挑战性!

2019-11-09 20:28:55 85

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除