自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Linux系统yum安装问题:Error: Cannot find a valid baseurl for repo: base问题等解决方法

CentOS 6已经随着2020年11月的结束进入了EOL(Reaches End of Life),不过有一些老设备依然需要支持,CentOS官方也给这些还不想把CentOS 6扔进垃圾堆的用户保留了最后一个版本的镜像,只是这个镜像不会再有更新了官方便在12月2日正式将CentOS 6相关的软件源移出了官方源,随之而来逐级镜像也会陆续将其删除。不过有一些老设备依然需要维持在当前系统,CentOS官方也给这些还不想把CentOS 6扔进垃圾堆的用户保留了各个版本软件源的镜像,只是这个软件源不会再有更新了

2021-05-15 22:09:23 573

原创 BootStrap简介,快速入门,响应式布局,全局css样式以及JS插件。

1、BootStrap简介1、概念:一个前端开发的框架框架:一个半成品软件,开发人员可以在框架基础上再进行开发,简化编码好处:1、定义了很多的css样式和js插件。开发人员直接可以使用这些样式插件得到丰富的页面效果。2、响应式布局(同一套页面可以兼容不同分辨率的设备)2、快速入门1、下载BootStrap(https://v3.bootcss.com)2、在项目中将这三个文件夹复制3、创建html页面,引入必要的资源文件<!DOCTYPE html><html lan

2021-04-12 14:12:41 354

原创 JavaScript简介,JavaScript基本语法,DOM,BOM简单用法

1、JavaScript简介JavaScript概念:是一门客户端脚本语言运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎脚本语言:不需要编译,直接就可以被浏览器解析执行了功能:可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。JavaScript = ECMAScript + JavaScript特有的东西(BOM,DOM)ECMAScript:客户端脚本语言的标准1、基本语法1、与html的结合方式1、内部J

2021-04-03 17:38:51 257

原创 CSS与html结合,CSS简介,CSS语法格式,CSS属性。

1、CSS简介CSS:页面美化和布局控制1、概念:Cascading Style Sheets 层叠样式表层叠:多个样式可以作用在同一个html元素上,同时生效2、好处:1.功能强大2.将内容展示和样式控制分离降低耦合度。解耦让分工协作更容易提高开发效率3、CSS的使用:CSS与html结合方式1.内联样式在标签内使用style属性指定CSS代码例如:Hello CSS2.内部样式在head标签内,定义style标签,style标签的标签体内容就是css代码如:2、CSS语

2021-03-28 20:55:26 139

原创 web概念概述 ,HTML语言,html语言的各种标签。

1、web概念概述JavaWeb:使用Java语言开发基于互联网的项目软件架构:1、C/S:Client/Server 客户端/服务器端:在用户本地有一个客户端程序,在远程有一个服务器端程序(QQ,迅雷等)优点: 用户体验好缺点:开发,安装,部署,维护麻烦;2、B/S:Browser/Server:浏览器/服务器端:只需要一个浏览器,用户通过不同的网址(URL)可以访问不同的服务器端程序优点:开发,安装,部署,维护简单缺点:如果应用过大,用户的体验可能会受到影响;对硬件要求过高B/S架构详

2021-03-24 20:32:59 215

原创 数据库连接池

1、数据库连接池概念:其实就是一个容器(集合),存放数据库连接的容器当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,童虎访问完之后,会将连接对象归还给容器。优点:1、节约资源2、用户访问高效标准接口:DataSource javax.sql包下方法:获取连接:getConnection( )归还连接:如果连接对象Connection是从连接池中获取的,那么调用Connection.close( )方法,则不会再关闭连接了。而是归还连接

2021-03-14 16:22:35 89

原创 Java JDBC快速入门。

1、JDBC概念jdbc概念:Java DataBase Connectivity, Java数据库连接,java语言操作数据库JDBC的本质:其实是官方(Sun)公司定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去

2021-03-13 18:08:36 100

原创 java方法引用,通过对象名引用方法。

1、方法引用基本介绍代码演示:Printable函数式接口/* 定义一个打印的函数式接口*/@FunctionalInterfacepublic interface Printable { //定义字符串的抽象方法 void print(String s);}主函数:public class Demo01Printable { //定义一个方法,参数传递Printable接口,对字符串进行打印 public static void printSt

2021-03-04 16:57:44 904 1

原创 Java Stream流,常用方法forEach,filter,map,count,limit,skip,concat,Stream流练习---集合元素处理。

1、Stream流java.util.stream.Stream是Java 8新加入的最常用的流接口(并不是一个函数式接口)获取一个流非常简单,有以下几种常用的方式:-所有的Collection集合都可以通过stream默认方法获取流;default Stream stream( )-Stream接口的静态方法可以获取数组对应的流。static Stream of (T…values)参数是一个可变参数,那么我们就可以传递一个数组代码演示:import java.util.*;impo

2021-03-03 21:28:35 514 1

原创 java常见的函数式接口:Supplier接口,Consumer接口,Predicate接口,Function接口,以及接口常用方法,接口练习。

1、Supplier接口java.util.function.Supplier接口仅包含一个无参的方法:T get( )。用来获取一个泛型参数指定类型的对象数据。Supplier接口被称之为生产型接口,指定接口的泛型是什么类型,那么接口中的get方法就会生产什么类型的数据。用法:import java.util.function.Supplier;public class Demo01Supplier { public static String getString(Supplier&l

2021-03-02 23:25:45 422

原创 java函数式接口,

1、函数式接口函数式接口:有且只有一个抽象方法的接口当然接口中可以包含其他的方法(默认,静态,私有)@FunctionalInterface注解作用:可以检测接口是否是一个函数式接口是:编译成功否:编译失败(接口中没有抽象方法/抽象方法个数多于一个)函数式接口代码:@FunctionalInterfacepublic interface MyFunctionalInterface { //定义一个抽象方法 public abstract void method();}

2021-03-02 20:50:09 117

原创 java TCP通信,客户端代码实现,服务器端代码实现,文件上传服务器案例实现。

1、TCP通信客户端的代码实现TCP通信的客户端:向服务器发送连接请求,给服务器发送数据,读取服务器回写的数据表示客户端的类:java.net.Socket:此类实现客户端套接字。套接字是两台机器间通信的端点。套接字:包含了ip地址和端口号的网络单位构造方法:Socket(String host,int port)创建一个流套接字并将其连接到指定主机上的指定端口号。参数:String host:服务器主机的名称/服务器的IP地址int port:服务器端口号成员方法:OutputStr

2021-03-01 22:55:52 1402

原创 Java打印流PrintStream

1、打印流及其用法java.io.PrintStream:打印流PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。PrintStream特点:1、只负责数据的输出,不负责数据的读取2、与其他输出流不同,PrintStream永远不会抛出IOException3、有特有的方法void print(任意类型的值),void println(任意类型的值)构造方法:PrintStream(File file):输出的目的地是一个文件PrintStream(O

2021-03-01 20:30:31 160

原创 java序列化,反序列化,transient关键字,InvalidClassException异常,序列化集合练习。

1、对象的序列化流ObjectOutputStream把对象以流的方式,写入到文件中保存,叫写对象,也叫对象的序列化,对象的序列化流称为ObjectOutputStream。把文件中保存的对象,以流的方式读取出来,叫做读对象,也叫对象的反序列化。对象的反序列化流为ObjectInputStream。2、ObjectOutputStream类java.io.ObjectOutputStream类,将java对象的原始数据类型写出到文件,实现对象的持久存储。java.io.ObjectOutputS

2021-03-01 17:35:15 188 1

原创 Java转换流,OutputStreamWriter,InputStreamReader, 练习:转换文件编码

1、编码引出的问题:FileReader读取GBK格式的文件FileReader可以读取IDE默认编码格式(UTF-8)的文件FileReader读取系统默认编码(GBK)会产生乱码代码演示:import java.io.FileReader;import java.io.IOException;public class Demo01FileReader { public static void main(String[] args) throws IOException {

2020-11-25 10:29:33 331

原创 Java Properties集合,字节缓冲输出流,字节缓冲输入流,字符缓冲输出流,字符缓冲输入流

1、Properties集合java.util.Properties集合 extends Hashtable<k, v> implements Map<k, v>Properties 类表示了一个持久的属性集。Properties可保存在流中或从流中加载。Properties集合是一个唯一与IO流相结合的集合可以使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储可以使用Properties集合中的方法Load,把硬盘中保存的文件(键值

2020-11-18 16:27:41 206

原创 Java IO流异常处理,JDK1.7之前的异常处理,JDK1.7版本的异常处理,JDK1.9版本的异常处理

1、JDK1.7之前的异常处理在jdk1.7之前使用try catch finally处理流中的异常格式: try{ 可能会产生异常的代码 }catch(异常类变量 变量名){ 异常的处理逻辑}finally{ 一定会指定的代码 释放资源}代码演示:import java.io.FileWriter;import java.io.IOException;public class Demo01IoException { public static void ma

2020-11-11 10:39:54 193

原创 Java IO流,字节输入输出流,字节输出流的续写与换行,文件复制,字符输入输出流,字符输出流的续写和换行。

1、IO流Input输入(读取)Output输出(写入)InputStream 字节输入流OutputStream 字节输出流Reader 字符输入流Writer 字符输出流2、字节流一切皆为字节:一切文件数据(文本。图片,视频)在存储时,都是以二进制数字形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。字节输出流:java.io.OutputStream:字节输出流,此抽

2020-11-10 20:17:45 499 1

原创 Java 方法的递归,递归求前n项和,求阶乘,递归打印多级目录,文件搜索,FileFilter过滤器的原理与使用。

1、递归的概述递归:指在当前方法内调用自己的这种现象分类:直接递归:方法 自身调用自己间接递归:A方法调用B方法,B方法调用C方法,C方法调用A方法。

2020-11-08 17:44:46 408

原创 Java File类,绝对路径和相对路径,File类的构造方法,File类获取功能的方法,File类判断功能的方法,File类创建删除功能的方法,File类遍历(文件夹)目录功能。

1、File类java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建,查找和删除等操作。Java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作:创建一个文件/文件夹,删除文件/文件夹,获取文件/文件夹,判断文件/文件夹是否存在,对文件夹进行遍历,获取文件的大小。File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法重点:记住三个单词file:文件directory:文件夹/目录path:路径impo

2020-11-08 14:49:29 6999 1

原创 Java Lambda表达式,有参数的使用,有参数有返回值的使用,Lambda表达式的省略格式,使用前提。

1、

2020-11-07 18:05:18 3975

原创 Java 线程池,线程池的代码实现。

1、线程池线程池就是一个容器,里面放置的是多个线程。其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。当程序第一次启动的时候,创建多个线程,保存到一个集合中,当我们想要使用线程的时候,就可以从集合中取出线程来使用,使用完毕之后,需要把线程归还给线程池。2、线程池的代码实现java.util.concurrent.Executors 线程池的工厂类,可以生产线程池Executors类中的静态方法static ExecutorService...

2020-11-07 13:52:12 753

原创 java 线程安全问题,解决线程安全问题——同步代码块,同步方法,Lock锁,Object类中wait方法,notify方法。等待唤醒案例。

1、线程安全问题线程出现安全问题的代码:/* 实现卖票案例 */public class RunnableImpl implements Runnable{ //定义一个多个线程共享的票源 private int ticket = 100; //设置线程任务:卖票 @Override public void run() { //使用死循环,让买票操作重复执行 while (true) { //先

2020-11-06 23:59:31 826 2

原创 Java并发与并行,线程与进程,创建多线程的程序——Thread类的子类,实现Runnable接口,Thread类的常用方法,匿名内部类方式实现线程的创建。

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

2020-11-05 18:20:46 533

原创 Java Finally代码块,多异常的捕获处理,finally里面有return,子父类异常,自定义异常类以及小练习。

1、Finally代码块finally代码块格式:try{可能产生异常的代码}catch(定义一个异常的变量,用来接收try中抛出的异常对象) {异常的处理逻辑,产生异常对象之后,怎么处理异常对象一般在工作中,会把异常的信息记录到一个日志中}…catch(异常类名 变量名){}finally{无论是否出现异常都会执行}注意:1、finally不能单独使用,必须和try一起使用2、finally一般用于资源释放(资源回收),无论程序是否出现异常,最后都要资源释放代码演示:i

2020-11-04 23:01:08 246

原创 Java异常的概念,体系,处理异常的几种方法throw,Objects类的静态方法,throws,try...catch,Throwable。

1、异常概念异常:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。java处理异常的方式是中断处理。异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行。2、异常体系3、异常分类java.lang.Throwable:类是java语言中所有错误或异常的超类Exception:编译器异常,进行编译(写代码)java程序运行过程中出现的问题Run

2020-11-04 18:00:51 361

原创 Java Debug追踪,斗地主案例的简单实现

1、Debug追踪Debug调试程序:可以让代码逐行执行,查看代码执行的过程,调试程序中出现的bug。使用方式:在行号的右边,鼠标左键单击,添加断点(初学可以添加到每个方法的第一行,熟练之后哪里有bug添加到哪里)右键,选择Debug执行程序,程序就会停留在添加的第一个断点处执行程序:F8:逐行执行程序F7:进入到方法中shift + F8:跳出方法F9:跳到下一个断点,如果没有下一个断点就结束程序Ctrl + F2:退出Debug模式Console:切换到控制台2、斗地主案例的简

2020-11-03 23:22:19 149

原创 Java Map集合,Map接口的常用方法,Map集合的遍历,Entry键值对对象,HashMap存储自定义类型的键值,LinkedHashMap,HashTable,计算字符在字符串中出现的次数。

1、Map集合java.util.Map<key, value>集合Map集合的特点:1、Map集合是一个双列集合,一个元素包含两个值(key, value)2、Map集合中的元素,key和value的数据类型可以相同,也可以不同3、Map集合中的元素,key是不允许重复的,value是可以重复的4、Map集合中的元素,key和value是一 一对应的。2、Map常用子类----HashMap,LinkedHashMapjava.util.HashMap<key, valu

2020-11-03 18:18:23 594

原创 Java可变参数,Collection集合工具类,shuffle方法,Collections.sort方法

1、可变参数可变参数:是JDK1.5之后出现的新特性使用前提:当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数。使用格式:定义方法时使用修饰符 返回值类型 方法名(数据类型…变量名){ }可变参数的原理:可变参数底层就是一个数组,根据传递参数个数不同,会创建不同长度的数组,来存储这些参数。传递的参数个数,可以是0个(不传递)1,2,3,4…多个代码举例:public class Demo01VarArgs { public static void main

2020-11-02 22:25:15 221

原创 Java Set接口,HashSet集合

1、Set接口java.util.Set接口 extends Collection接口Set接口特点:1、不允许存储重复的元素2、没有索引,没有带索引的方法,也不能使用普通的for循环遍历2、HashSet集合java.util.HashSet集合 implements Set接口HashSet特点:1、不允许存储重复的元素2、没有索引,没有带索引的方法,也不能使用普通的for循环遍历3、是一个无序的集合,存储元素和取出元素的顺序有可能不一致。4、底层是一个哈希表结构(查询的速度非常的

2020-11-02 15:05:56 120

原创 Java List接口,List集合常用方法,LinkedList集合常用方法,Vector集合。

1、List接口介绍java.util.list接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象成为List集合。在List集合中允许出现重复的元素,所有元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素。另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序是一致的。List接口特点:1、它是一个元素存取有序的集合。例如,存元素的顺序是11,22,33。那么集合中,元素的存储就是按照11,22,33的顺序完成的

2020-11-01 23:24:34 141

原创 Java-增强for循环,泛型的使用,定义使用含有泛型的类,方法,接口,泛型通配符

1、增强for循环增强for循环也成for each循环,是JDK1.5之后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。所有的单列集合都可以使用增强for循环。格式:for(集合/数组数据类型 变量名: 集合名/数组名) { sout(变量名);}举例:public static void demo02() { ArrayList<String> arrayList =

2020-10-31 23:05:27 399 2

原创 Java Collection集合,Iterator迭代器接口用法

1、Collection集合集合:集合是java中提供的一种容器,可以用来存储多个数据。数组和集合的区别:数组的长度是固定的,集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象,而且对象的类型可以不一致,在开发中一般当对象多的时候,使用集合进行存储。...

2020-10-31 13:52:51 305

原创 Java包装类,装箱与拆箱,基本类型与字符串类型之间的相互转换。

1、包装类包装类:基本数据类型的数据,使用起来非常的方便,但是没有对应的方法来操作这些数据,所以我们可以使用一个类把基本数据类型的数据包装起来,这个类叫包装类。在包装类中可以定义一些方法,用来操作基本数据类型的数据。基本数据类型对应的包装类byte——Byteshort——Shortint——Integerlong——Longfloat——Floatdouble——Doublechar——Characterboolean——Boolean2、装箱与拆箱装箱:把基本类型的数据,包装到

2020-10-30 18:30:34 140

原创 Java StringBuilder类构造方法,和String类的相互转换。

1、StringBuilder类的原理String类:字符串是常量,它们的值在创建之后不能改变。字符串的底层是一个被final修饰的数组,不能改变,是一个常量。进行字符串的相加,内存中就会有多个字符串,占用空间多,效率低下。StringBuilder类(字符串缓冲区,可以提高字符串的操作效率)看成一个长度可以变化的字符串,底层也是一个数组,但是没有被final修饰,可以改变长度。StringBuilder在内存中始终是一个数组,占用的空间少,效率高,如果超过了StringBuilder的容量,

2020-10-30 17:05:36 349 1

原创 Java System类,currentTimeMillis方法,arraycopy方法。

1、currentTimeMillis方法获取当前系统时间与1970年01月01日00:00:00之间的毫秒差值。用来测试程序的效率:例如:计算for循环打印数字1-9999所需要的时间(毫秒)代码如下:public class Demo01System { public static void main(String[] args) { demo01(); } private static void demo01() { //程序执行前获

2020-10-29 23:59:53 740

原创 Java Date类,DateFormat类,Calendar类用法。

1、Date类java.util.Date:表示日期和时间的类类Date表示特定的瞬间,精确到毫秒。毫秒:千分之一秒 1000毫秒= 1秒毫秒值的作用:可以对时间和日期进行计算。例如:可以对时间和日期进行计算:2088-01-03到2099-01-01有多少天可以把日期转换为毫秒进行计算,计算完毕,再把毫秒转换为日期。2、DateFormat类java.text.DateFormat :是日期/时间格式化子类的抽象类作用:格式化(也就是日期 —> 文本)、解析(文本—>日期

2020-10-29 22:21:47 226 2

原创 Java Object类的toString方法,equals方法,Objects类的equals方法。

1、Object类java.lang.object类类Object是类层次结构的根(最顶层)类,每个类都使用Object作为超(父)类。所有对象(包括数组)都实现这个类的方法。直接打印对象的名字,其实就是调用对象的toString方法看一个类是否重写了toString方法,直接打印这个类对应对象的名字即可:如果没有重写toString方法,那么打印的就是对象的地址值(默认)。如果重写了toString方法,那么就按照重写的方式打印。2、Object类的equals方法源码:public bo

2020-10-28 22:46:00 179

原创 Java内部类的概念分类,成员内部类,局部内部类,匿名内部类。

1、内部类如果一个事物的内部包含另一个事物,那么这就是一个类内部包含另一个类。例如:身体和心脏的关系,汽车和发动机的关系。分类:1、成员内部类2、局部内部类(包含匿名内部类)2、成员内部类定义格式:修饰符 class 外部类名称 { 修饰符 class 内部类名称{ }}注意:内用外,随意访问;外用内,需要内部对象。如何使用成员内部类:两种方式1、间接方式:在外部类的方法当中,使用内部类,然后main只是调用外部类的方法。2、直接方式:公式:外部类名称.内部类名称 对象名

2020-10-27 23:12:13 123

原创 Java多态性,成员变量方法的使用,对象的向上向下转型。InstanceOf关键字的使用。

1、多态性代码当中体现多态性,其实就是一句话:父类引用指向子类对象。格式:父类名称 对象名 = new 子类名称();或者:接口名称 对象名 = new 实现类名称();2、多态中成员变量的使用特点访问成员变量的两种方式:1、直接通过对象名称访问成员变量:看等号左边是谁优先用谁,没有则向上找。2、间接通过成员方法访问成员变量:看该方法属于谁优先用谁,没有则向上找。3、多态中成员方法的使用特点在多态的代码中,成员方法的访问规则是:看new的是谁,就优先用谁,没有则向上找。口诀:成员

2020-10-27 16:58:09 244

空空如也

空空如也

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

TA关注的人

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