自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java从接触到放弃(二十七) ---集合(下)

Day Twenty-Seven集合的其他内容IteratorIterator专门为遍历集合而生,集合并没有提供专门的遍历的方法Iterator实际上就是迭代器设计模式在Java中的实现Iterator的常用的方法:boolean hashNext():判断是否存在另一个可访问的元素Object next():返回要访问的下一个元素void remove():删除上次访问返回的对象哪些集合可以使用Iterator遍历Collection、List、Set可以;但是M

2021-09-09 18:41:52 114

原创 Java从接触到放弃(二十六)----集合详解(上)

Day Twenty-Six集合的引入集合的使用场合当我们需要将一些相同结构的个体整合到一起的时候,就可以用到集合。为什么使用集合而不是用数组集合和数组的相似点都可以存储多个对象,对外作为一个整体存在数组的缺点长度必须在初始化时指定,且固定不变数组采用连续存储空间,删除和添加的效率低下数组无法直接保存映射关系数组缺乏封装,操作繁琐集合框架Java集合框架提供了一套性能优良的、使用方便的接口和类,它们位于java.util包中。存放在集合中的数据,被称为元素(e

2021-08-31 17:46:55 225

原创 Java从接触到放弃(二十五)-->反射获取泛型、注解信息

Day Twenty-Five获取泛型信息反射操作泛型Java采用泛型擦除的机制来引入泛型,Java中的泛型仅仅是给编译器javac使用的,确保数据的安全性和免去强制类型转换问题,但是,一旦编译完成,所有和泛型有关的类型全部擦除。为了通过反射操作这些类型,Java新增了ParameterizedType,GenericArrayType,TypeVariable和WildcardType几种类型来代表不能被归到Class类中的类型,但是又和原始类型齐名的类型。ParameterizedType:

2021-08-17 21:51:39 159

原创 Java从接触到放弃(二十四)---类加载

Day Twenty-Four类加载类的加载过程当一个程序主动使用某一个类的时候,如果说这个类还没有被加载到内存中,则系统会通过“类的加载”,“类的链接”,“类的初始化”这三步来对这个类进行初始化。类的加载:在加载的时候就会把类的一个class文件读到内存里面,读的时候就会创建一个Class对象,这个就相当于在反射那里提到的“镜子”一样。这个过程是由类加载器完成的。类的链接:这一步会将类里面的二进制数据合并到Java的运行环境中。类的初始化:上面把数据合并到Java运行环境里,那Java虚拟

2021-08-17 19:41:26 125

原创 Java从接触到放弃(二十三)---反射机制

Day Twenty-Three反射机制Java本身是一种静态语言,但是因为有了反射机制,Java变成了准动态语言。静态 VS 动态语言动态语言是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时,代码可以根据某些条件改变自身的结构。主要动态语言:Object-C、C#、JavaScript、PHP、Python等。静态语言与动态语言相对应的,运行时结构不可改变的语言就是静态语言。如Java、C、

2021-08-16 19:45:01 73

原创 Java从接触到放弃(二十二)---注解

Day Twenty-Two注解什么是注解Annotation是从JDK5.0开始引进的新技术Annotation的作用:不是程序本身,可以对程序做出解释。这一点和普通的注释没什么区别。可以被其他程序(比如编译器)读取。注解加上反射就可以实现动态性,通过反射去进行读取。Annotation的格式:注解是以“@注释名”在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(value=“unchecked”)。Annotation在哪里用?可以附加在

2021-08-16 11:27:41 62

原创 Java从接触到放弃(二十一)--网络编程

Day Twenty-One网络编程网络编程中有两个主要的问题如何准确的定位到网络上的一台或者多台主机找到主机之后如何进行通信网络编程中的要素IP和端口号网络通信协议 udp,tcpIP如何能获取到IP地址,在Java中有这样的一个类inetAddress,这个类是在java.net.InetAddress这个包下的,这个包下面的都是和网络相关的。在JavaAPI中对这个类有详细的介绍以及如何去使用。这个类有两个子类,Inet4Address和Inet6Address。

2021-08-15 18:59:29 78

原创 Java从接触到放弃(二十)--线程协作

Day Twenty线程协作线程通信应用场景:生产者消费者问题假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库里的产品拿走进行消费。如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止。如果仓库中有产品,则消费者可以将产品取走消费,否则停止消费并等待,直到仓库中再次放入产品为止。线程通信-分析这是一个线程同步问题,生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,互为条件对于生产者,没有生产产品之

2021-08-14 19:42:55 78

原创 Java从接触到放弃(十九)--线程同步

Day Nineteen线程同步什么是线程同步呢?线程同步就是多个线程操作同一个资源。这个概念是在学习线程的时候的一个重难点。并发上面说的多个线程操作同一个资源就是并发。并发:同一个对象被多个线程同时操作。怎么去理解呢?就像在春节抢火车票的时候,有数十万人同时去抢10000张票,这就是并发。如果没有线程同步的话,就会出现很多人买到了重复的票,或者总共没那么多张票,但是都买到票了,这种现象就叫做线程不安全了。如何去解决这个问题,就需要线程同步了。在处理多线程的问题时,

2021-08-14 13:59:08 125

原创 Java从接触到放弃(十八)--线程优先级&守护线程

Day Eighteen线程的优先级Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。线程的优先级用数字表示,范围从1~10Thread.MIN_PRIORITY = 1;Thread.MAX_PRIORITY = 10;Thread.NORM_PRIORITY = 5;使用以下方式改变或者获取优先级getPriority() . setPriority(int xxx)注意:优先级的设定建议在s

2021-08-13 15:43:22 62

原创 Java从接触到放弃(十七)--线程五大状态

Day Seventeen线程的五大状态new的时候就是创建状态“new Thread()”,调用了start方法就是启动了,进入就绪状态,然后等待CPU的调度,调度完了之后才进入运行状态,如果线程调用了sleep方法就会进入阻塞状态(有很多方法都可以进入阻塞态,sleep只是其中一个),阻塞解除后会进入就绪态,如果正常执行完,就进入死亡状态。我们来看一个详细一点的图:线程方法方法说明setPriority(int newPriority)更改线程的优先级sta

2021-08-13 15:36:57 58

原创 Java从接触到放弃(十六)--Lambda表达式

Day SixteenLambda表达式λ希腊字母表中排序第十一位的字母,英文名叫Lambda能够避免匿名内部类定义过多可以让代码看起来很简洁去掉了一堆没有意义的代码,只留下核心的逻辑其实质属于函数式编程的概念(params) -> expression[表达式](params) -> statement[语句](params) -> {statements}函数式接口理解函数式接口(Functional Interface)是学习Java

2021-08-12 20:59:06 78

原创 Java从接触到放弃(十五)--线程、多线程、静态代理模式

Day Fifteen线程多任务:可以理解为一个人同时去干几件事,就好比在上厕所的时候边大号边玩手机,这就是一个多任务的实例。再好比现在很多人中午在吃饭的时候,或者说在吃饭的时候,看一些下饭综艺或者下饭视频,一个人边吃饭边看电视就形成了多任务。多线程:在现实生活中可以理解为,从家到学校中间本来只有一条单车道的路,所有的机动车还有非机动车都在这一条道上行驶,就会很容易造成道路拥塞,那么上学也很容易迟到,现在市政府把这条单车道的路进行了改造扩建,改建成了双向四车道,机动车和非机动车各走各的,来向和去向

2021-08-12 17:59:53 129

原创 Java从接触到放弃(十四)--Error 和 Exception

Day FourteenError 和 Exception简单分类要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常:检查性异常:最具代表的检查性异常就是用户错误或者问题引起的异常,这个是程序猿无法预见的。例如要打开一个不存在的文件的时候,出现了一个异常,这些异常在编译的时候不能被简单的忽略。运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译的时候被忽略。错误ERROR:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当

2021-08-11 21:41:05 95

原创 Java从接触到放弃(十三)--内部类

Day Thirteen内部类内部类就是再一个类里面再去定义一个类,比如说我们在A类中定义了一个B类,那么B类相对于A类来说就是内部类,A类就是B类的外部类了。成员内部类最常见的内部类就是成员内部类,也叫做普通内部类。Inner类定义在Outer类的内部,相当于Outer类的成员变量的位置,Inner类可以使用任意访问修饰符,如:public、private、protected等。Inner类中定义的test()方法可以访问Outer类中的数据,不受访问控制符的影响。定

2021-08-11 19:12:12 55

原创 Java从接触到放弃(十二)--接口

Day Twelve接口接口就是一种规范,是一系列方法的声明,是一些方法特征的集合。一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,然而这些实现可以具有不同的行为(功能)。注意:可以说是一种特殊的抽象类,里面的方法全是抽象方法。子类在实现接口的时候必须对接口中的方法全部重写。接口的声明接口的声明语法格式如下:修饰符 interface 接口名称 [extends 其他的接口名] { // 声明变量 // 抽象方法 }接口的实现当

2021-08-11 16:47:09 97

原创 Java从接触到放弃(十一)--抽象类

Day ElevenJava 中 的 类 是 单 继 承 的 , 接 口 是 可 以 多 继 承 的。抽象类abstract修饰符可以用来修饰方法,也可以用来修饰类,如果修饰方法,那么该方法就是抽象方法,如果用来修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。//抽象类中可以没有抽象方法,但是抽象方法一定在抽象类中public abstract class A{ public abstract void do(); public

2021-08-11 16:00:45 52

原创 Java从接触到放弃(十)--static关键字

Day Tenstatic关键字public class Application { //静态变量 private static int age; //非静态变量 private String name; //非静态方法 public void run(){// 非静态方法可以访问这个类中的静态方法。// 因为静态的是和类一起加载的,所以都可以用。 go(); } //静态方法

2021-08-11 14:31:33 50

原创 Java从接触到放弃(九)--封装、继承、多态

Day Nine修饰符public 公共的,所有的都能用。protected 受保护的default 默认的,如果不写是什么类型的话,就默认为default。private 私有的,类中私有的,外面想用的话,只能通过get/set方法去用。封装我们在设计程序的时候要追求“高内聚,低耦合“。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉。低耦合仅仅只暴露少量的方法给外部去使用。封装(数据的隐藏)通常,应禁止直接访问一个对象中的数据的实际表现,而应通过操作接口来访问。

2021-08-11 09:58:41 60

原创 Java从接触到放弃(八)--对象

Day Eight对象面向过程&面向对象面向过程思想步骤清晰简单,第一步干什么,第二步干什么…面向过程适合处理一些较为简单的问题面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人协作问题。对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路

2021-08-10 15:33:15 57

原创 Java从接触到放弃(七)--数组

Day Seven数组数组的定义数组是相同数据类型的数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。每一个数据被称作一个数组元素,可以通过下标来访问他们。数组的下标是从0开始的。数组声明创建首先必须声明数组变量,才能在程序中使用。dataType[] array;// 首选的方法或dataType array[];// 效果相同,但不是首选Java语言使用new操作符来创建数组。dataType[] array = new dataTy

2021-08-09 19:33:59 61

原创 Java从接触到放弃(六)--方法

Day Six方法什么是方法Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法在类或者对象里面方法在程序中被创建,在别的地方被引用。设计方法的原则:方法的本意是功能模块,就是实现某个功能的语句的集合。在设计方法的时候,最好保持方法的原子性,也就是一个方法只完成1个功能,这样有利于后期进行扩展。方法的定义Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:方法包含一个方法头和一个

2021-08-09 09:58:23 64

原创 Java从接触到放弃(五)--循环结构

Day FiveJava中的循环结构while 循环do…while 循环for 循环在Java5中引入了一种主要用于数组的增强型for循环while循环while是最基本的循环。语法结构while(布尔表达式){ //循环内容}只要布尔表达式为true,循环就会一直执行下去。大部分情况是会让循环停止下来的,需要一个让表达式失效的方式来结束循环。少部分情况需要循环一直执行,比如服务器的请求响应监听等。循环条件一直为true就会造成死循环,我们正常的业务编程中应

2021-08-08 10:51:25 84

原创 Java从接触到放弃(四)--顺序&选择结构

Day FourJava的顺序结构和选择结构顺序结构顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。Created with Raphaël 2.2.0程序开始语句A语句B运行结束语句与语句之间,框与框之间是按照从上到下的顺序进行的,他是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。示例package com.liuHuan.structure;/** * @author :liuH

2021-07-21 21:55:00 66

原创 Java从接触到放弃(三)--Scanner

Day Three

2021-07-17 19:18:48 159

原创 Java从接触到放弃(二)--变量&常量

DayTwo什么是变量?变量顾名思义就是可以变化的量,我们在高中时期接触的方程中的未知数就可以被叫做变量。上一个说到Java是一种强类型语言,每个变量都必须声明器类型。Java变量是程序中最基本的的存储单元,其要素包括变量名,变量类型以及作用域。变量可以做什么?变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变

2021-07-17 15:51:01 108

原创 Java从接触到放弃(一)---数据类型

DAY 1语言类型语言类型有强、弱之分。那么什么是强语言类型,什么又是弱语言类型?下面来做一个讲解:强语言类型强类型语言是一种强制类型定义的语言,一旦某一个变量被定义类型,如果不经过强制转换,则它永远就是该数据类型了。现在的 Java、.net、Python、C++等语言都属于强语言类型语言。举个栗子:定义了一个整数,如果不进行强制的类型转换,则不可以将该整数转化为字符串。弱语言类型弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需

2021-07-17 10:20:41 83

空空如也

空空如也

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

TA关注的人

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