自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Oracle入门使用

普通用户授权(sys登录)

2023-04-10 22:18:57 67

原创 1.8新特性——Stream流

Stream 在Java1.8中,由于lambda表达式这种函数式编程 JDK引入了一个新概念stream流。用于解决已有集合类库的一些弊端。

2020-12-21 22:33:18 270 1

原创 Java函数式接口

函数式接口概念函数式接口在Java中指的是:有且仅有一个抽象方法的接口就称为函数式接口。函数式接口,适用于函数式编程,在Java中的函数式编程体现在Lambda,所以函数式接口就是用来服务Lambda表达式。只有确保接口当中在有且仅有一个抽象方法,Java中的Lambda才能顺利进行推导。备注:“语法糖”是指使用更加便利方便,但是原理不变的代码语法。就比如遍历集合时使用foreach语法,其实底层使用的是迭代器,这便是“语法糖”。格式只要确保接口当中有且仅有一个抽象方法即可:修饰符 int

2020-12-19 19:25:06 369 1

原创 文件上传优化

文件上传优化文件的名称需要优化服务端 ,保存的文件名称如果固定,那么最终会导致服务器硬盘,只会保留一个文件,对上传的文件名称优化。System.currentTimeMillis()+new Random().nextInt(1000000)+" .jpg"服务端接收文件的优化服务器端,接收一个文件后就关闭了,后面其他客户端就无法继续上传文件,使用循环进行改进,可以不断的接收不同的客户端传输过来的文件。使用循环while(true){ Socket socket = se

2020-12-19 19:18:06 94 1

原创 网络编程基础

网络编程基础软件架构:C/S架构:即Client/Server(客户端/服务器端)架构B/S架构:即Browser/Server(浏览器/服务器) 架构,简化了系统的开发,维护和使用B/S架构与C/S架构的区别:C/S架构基于局域网的,而B/S架构基于广域网的基础上硬件环境不同,C/S建立在专用网络上,小范围的网络,可以专门的服务器提供数据链接和数据的交换C/S一般面向的是一些固定的用户群体,对信息的安全控制较高一点对程序的架构不同用户接口不同:C/S架构大多建立在Windows平台

2020-12-17 22:53:48 144 1

原创 序列化

序列化流  java提供了一种对象序列化的机制,用一个字节序列化表示一个对象,该字节序列ObjectOutputStream类  java.io.ObjectOutStream类,将Java对象的原始数据类型写入到文件中,实现对象的持久化存储。构造方法public ObjectOutputStream(OutputStream out) : 创建一个指定的OutputSrteam的ObjectOutputStream类对象特有方法void writeObject(Object obj

2020-12-17 22:47:05 66

原创 缓冲流【Buffered】

缓冲流【Buffered】缓冲流我们理解为原来的使用数组方式进行数据传输的一种增强按照类型分为:字符缓冲流:BufferedReader, BufferedWriter字节缓冲流:BufferedInputStream, BufferedOutputStream缓冲流的基本原理,是在创建对象的时候,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写数据,减少系统IO操作的次数,减少开销,提高读写的效率。字节缓冲流构造方法public BufferedInputStream(Input

2020-12-16 16:08:13 448

原创 属性集【Properties】

属性集【Properties】  java.util.Properties类继承于Hashtable,用来表示一个持久的属性集。它使用键值结构存储数据,每个键及其对应值都是一个字符串。g构造方法public Properties(): 创建一个空的属性集列表共性的API方法public Object setProperty(String key,String value) : 保存一对属性。public Object getProperty(String key) : 使用此属性列表中

2020-12-16 11:21:13 115

原创 IO流(一)

IO概述什么是IO?java中I/O的操作主要是靠java.io包下的类和接口来实现的。IO分类根据数据的流向:输入流和输出流输入流:把数据从其他设备上读取到内存当中的流。输出流:把数据从内存当中写入到其他设备上的流。根据数据的类型分为:字节流和字符流字节流:以字节为单位,读写数据的流字符流:以字符为单位,读写数据的流IO流的顶级父类输入流输出流字节流InputStreamOutputStream字符流ReaderWriter字节流一

2020-12-15 22:37:29 49

原创 List接口及其实现类

List接口鉴于Java中数组用来存储数据的局限性,我们通常使用List替代数组List集合类中元素有序、且可重复,集合中的每个元素都有其对应的顺序索引。List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据 序号存取容器中的元素。JDK API中List接口的实现类常用的有:ArrayList、LinkedList和Vector。常用方法void add(int index,Object ele) : 在index位置插入ele元素boolean

2020-12-14 10:04:23 238

原创 Set接口及其实现类

LinkedList集合  java.util.LinkedList集合数据存储的结构底层是一个链表结构,是一个双向链表结构,方便元素的添加和删除。常用API方法如下:public void addFirst(E e) : 将指定的元素添加到此列表的开头public void addLast(E e) : 将指定的元素添加到此列表的末尾public E getFirst() : 获取此列表的首节点元素public E getLast() : 获取此列表的末节点元素public

2020-12-14 10:03:27 774

原创 线程及线程的创建

并发:指的是两个或者多个事件(任务)在同一时间段内发生。并行:指的是两个或者多个事件(任务)在同一时刻发生(同时发生)。线程与进程进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个线程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行程序就是一个进程从创建、运行到消亡的过程。线程:线程是进程中的一个执行单元,负责当前进程中程序的运行,一个程序中至少有一个线程,一个进程可以有多个线程。简而言之,一个程序运行后至少有一个进程,一个进程可以包

2020-12-11 23:17:52 77

原创 比较器

Comparator比较器Collcetion工具集中的sort()public static <T> void sort(List<T> list)public static <T> void sort(List<T> list,Comparator<? super T> c)Comparator接口在java.util包下面,排序是Comparator需要实现的功能之一,该接口代表的是一个比较器,具有可比性,可以做排序,本质是比较两个

2020-12-07 09:10:24 109

原创 泛型的通配符

泛型的通配符 当使用泛型类或者泛型接口,传递的数据中,泛型的类型不确定,可以通过通配符<?>表示。一旦程序使用了泛型的通配符后,只能使用Object类中的共性的方法,集合中自身元素的方法无法使用。通配符的基本使用 泛型的通配符:不知道使用什么类型来接受的时候,此时可以使用’?'代表未知的通配符。 此时只能接受数据,不能往该集合当中存储数据。备注:泛型不存在继承关系 Collection list = new ArrayList();错误写法通配符的高级用法——泛型的上限

2020-12-02 11:37:22 111

原创 Calendar类

常用方法public int get(int field) 获取给定的日历字段值public void set(int field,int value) 将给定的字段设定为给定的值public abstract void add(int field,int amount) 根据日历规则,将给定的日历字段添加或者减少指定的时间值public Date getTime() 把日历对象转换成日期对象public long getTimeInMillis() 获取日历对象对应的毫秒值

2020-12-01 22:57:58 90

原创 Collection接口

Collection集合集合概述集合:集合是Java中提供的一种容器,可以用来存储多个数据。数组的长度是固定的,集合的长度的可变的数组中存储的是同一种数据类型的元素,可以存储基本数据类型也可存储引用数据类型,集合存储的都是对象,而且对象的数据类型可以不一致。集合的框架 ...

2020-12-01 22:27:34 52

原创 final 关键字

final概述 由于Java当中提供了继承特性,子类可以在父类的基础上改写父类的内容,比如:方法的重写,那么能不能随意的继承API当中提供的类呢,改写其内容呢?显然是不行的,为了避免这种随意更改的情况,java提供了final关键字,用于修饰不可改变的内容。final:不可变。用于修饰类、方法和变量类:被修饰的类,不能被继承方法:被修饰的方法,不能被重写变量:被修饰的变量,不能被【重新赋值】使用方式修饰类public final class 类名{ }修饰方法在这里插

2020-11-28 14:46:13 57

原创 访问修饰符及内部类介绍

类的访问修饰符:public:可被同一个包不同包的其它类访问默认修饰符:只可被同一个包的其它类访问类成员的访问修饰符作用域修饰符同一个类中同一包中不同包的子类中任何地方private可以不可以不可以不可以默认修饰符可以可以不可以不可以protected可以可以可以不可以public可以可以可以可以内部类在描述事物时,如果一个事务内部包含了另外的其他事务,就可以使用内部类这种结构。定义在【成员位置】比如:..

2020-11-28 10:10:37 332

原创 Java接口详解

接口接口的使用步骤:1.接口不能直接使用,必须有一个“实现类”来“实现”该接口格式:public class 实现类名称 implements 接口名称{ //类的信息}2.接口的实现类必须重写(实现)接口当中的所有的抽象方法 实现:去掉abstract关键字,分号换成大括号。3.创建实现类的对象,进行使用。注意事项:  如果实现类当中并没有重写接口当中所有的抽象方法。抽象方法 接口中,有多个抽象方法,实现类必须重写所有的抽象方法,如果抽象方法有重名的,只需重写一次即可。默认方

2020-11-26 19:24:05 185 3

原创 抽象类的使用

抽象类  如果一个类包含了抽象方法,那么该类就是一个抽象类。定义格式:修饰符 abstract class ClassName{}示例代码:public abstract class Animal{ //奔跑的抽象方法 public abstract void run(); }

2020-11-25 22:57:42 785 1

原创 Java三大特性之多态

多态概述 多态是继封装性,继承性之后,面向对象的第三大特性。定义 多态:是指同一行为,具有不同的表现形式。多态的好处  在实际开发中,父类类型作为方法的形式参数,传递子类对象(实参)给方法,进行方法的调用,更能体现出多态的扩展性和便利性。代码如下://定义抽象的父类public class Cat extends Animal{ @Override public void eat(){ System.out.println("猫吃鱼"); }}...

2020-11-25 22:46:10 57

原创 super和this在继承中的使用规则

super和this的含义super:代表父类的存储空间标识(可以理解为父类的引用)this:代表当前对象的引用(谁调用代表谁)super和this的用法  super1.访问父类的成员super.成员变量;super.成员方法();2.访问父类的构造方法super(...) 父类的构造方法3.继承关系中,父类构造方法的访问特点:子类构造方法当中有一个默认的隐式的super()调用,所以一定是先调用父类的构造,后执行的子类构造子类构造可以通过super关键字来调用父类的重

2020-11-24 13:33:46 206

原创 Java之继承

继承概述  如果多个类中存在相同的属性和行为时,将这些内容抽取到单独的一个类中,那么多个累就无需再定义这些属性和行为,只要去继承这个单独的类即可。  其中,多个类称为子类,派生类,单独的那一类称为父类、超类、基类。  一般情况下,父类更通用,子类更具体。我们可以通过继承,使多种事物之间形成一种关系。定义  继承的格式  通过 extends关键字,可以声明一个子类继承另一个父类:public class FuClass{ //...}public class ZiClass exte

2020-11-23 20:49:53 46

原创 Arrays类和Math类

Arrays类概述 java.util.Arrays此类主要是用来操作数组,里面提供了许多的操作方法,如【排序】和【搜索】功能。其所有方法均为静态方法,调用起来十分简单。操作数组的方法public static String toString(int[] a): 返回指定数组内容的字符串表示形式。public static void main(String[] args){ int[] arr={1,2,4,7,5}; //把数组内容转换成字符串 String str=Arrays.

2020-11-20 14:56:11 112 1

原创 static关键字详解

strtic关键字 概述  static关键字的使用,它可以修饰成员变量和成员方法,被修饰的成员是【属于类】的,不单单是属于某个对象的,也就是不需要通过创建对象来调用类中的成员信息。 定义和使用格式类变量  当成员变量被static修饰后,该变量就成为【类变量】。该类的每个对象都【共享】同一个静态方法  当成员方法一旦被static关键字修饰时,该方法称为【类方法】。类方法一般是通过类名直接调用,而不需要单独创建对象来调用。调用方式很简单。习惯称为【静态方法】。定义格式修饰符 static

2020-11-19 19:33:14 597

原创 Java String类精讲

String类创建String字符串的3+1种方式 三种构造方法:  public String():创建一个空白字符串,不包含任何内容  public String(char[] array):根据字符数组的内容,来创建对应的字符串。  public String(byte[] array):根据字节数组内容,来创建对应的字符串。...

2020-11-19 16:54:16 49

原创 Java常用类及API的使用

API概述概述  API(Application Programming Interface)应用程序编程接口。Java API对于程序员来说就是一本可以检索查找的字典,是JDK官方提供给程序开发者使用类的说明文档。这些类将底层的代码封装起来,我们不需要关注这些底层是如何实现的,我们只需要知道这些类是如何使用的。平常开发使用JDK类库的时候,通过查阅API的方式进行。Scanner类一个可以使用正则表达式来解析基本数据类型和字符串类型的简单文本扫描器。例如:系统扫描用户输入的int类型的值Sc

2020-11-18 20:08:09 201

原创 Java最常用的两种随机数生成方法

随机数生成方法第一种(new Random())r.nextInt():产生整数范围的随机数(均匀分布)应用示例:生成10~20之间的随机数:(1)范围:20-10=10,即随机数范围跨度为10,r.nextInt(11)可以满足:[0——11)即[0——10](2)从10开始,则整体+10,即r.nextInt(11) + 10public class TestRandom(){ public static void main(String[] args){ Random r = ne

2020-11-17 19:30:54 9893 2

原创 类与对象

今日内容面向对象类与对象三大特征构造方法学习目标能够理解面向对象的编程思想​ 能够明确类与对象的关系​ 能够掌握类的定义格式​ 能够掌握创建对象的格式,并访问类中的成员​ 能够根据类与对象的关系定义相关的事物​ 能够理解对象的内存图解​ 能够说出成员变量与局部变量的异同点​ 能够理解private关键字的含义​ 能够说出this关键字可以解决的问题​

2020-11-17 18:48:25 445 5

原创 成员变量vs局部变量

成员变量和局部变量的区别public class People{ //成员变量 String name="小明"; public void eat(){ //局部变量 String food="热干面"; System.out.println(name+"中午吃的是"+food); }}比较成员变量局部变量定义位置直接在类中定义定义在方法中声明赋值可以在声明时赋初始值;若不赋值,会有默认初始值,基本数据类型的值为0,引用数据类型的值为null在

2020-11-17 15:14:16 178

原创 方法重载与方法重写

方法重载与方法重写重写与重载之间的区别方法重载:1、同一个类中2、方法名相同,参数列表不同(参数顺序、个数、类型)3、方法返回值、访问修饰符任意4、与方法的参数名无关方法重写:1、有继承关系的子类中2、方法名相同,参数列表相同(参数顺序、个数、类型),方法返回值相同3、访问修饰符,访问范围需要大于等于父类的访问范围4、与方法的参数名无关方法重载(Overloading)所谓方法重载是指在一个类中,多个方法的方法名相同,但是参数列表不同。参数列表不同指的是参数个数、参数类型或者参数的

2020-11-16 16:45:17 199

原创 数组二讲+方法

数组二讲+方法数组的反转二维数组方法数组的反转 数组的反转:数组中的元素前后颠倒顺序 思路:本质是考察交换两个变量的值 两种方式第一种:public static void main(String[] args){ int[] nums={1,2,3,4,5}; //定义两个索引变量,一个指向最小,一个指向最大 for(int start=0,int end=nums.length-1;start<end;start++,end--){ int temp=nums[star

2020-11-13 21:16:44 117

原创 数组的学习

学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:容器:Text-to-HTML conversion tool数组的特点:1、数组的长度在程序运行期间不可改变2、数组本身就是一种引用数据类型3、数组定义时是引用数据类型,但是数组容器里面存储的元素可以是基本数据类型,也可以是引用数据类型4、数组当中存储的多个数据,类型保持一致数组初始化:在内存当中创建了一个数组,并且向数组容器赋予一些默认值。数组的访问:索引:角标、下标每一个存储到数组当中的元

2020-11-13 00:53:14 638

原创 第一篇博客(分享一下常用的DOS命令)

常用的DOS命令关机、重启电脑查看网络配置查看开启了哪些端口查看当前开启哪些服务,停止某个服务,启动某个服务新建一个目录创建一个文件对目录或者文件重命名删除一个目录删除一个文件复制一个文件到指定的目录中剪切一个文件到指定的目录中切换盘符切换目录打开电脑中常用的应用你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。关机、重启电脑系统中常见的自动关机命令:shutdown -s

2020-11-10 23:10:05 114

空空如也

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

TA关注的人

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