![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaSE
文章平均质量分 63
Java基础学习
月下赶路人
努力学习,认真工作,积极生活。
展开
-
Java与数据库连接——JDBC(JDBC概念理解+JDBC搭建使用六步骤,作者君倾情奉上,爆赞!)
文章目录JDBC概述JDBC有什么用?JDBC是什么?JDBC APIJDBC的搭建和使用1 导入数据库驱动包2 加载数据库驱动3 建立数据库连接4 向数据库发送sql语句StatementPrepareStatement5 接收查询的结果6 关闭数据库连接通道JDBC概述JDBC有什么用?1.jdbc是用来连接我们的java应用程序和数据库的,使用jdbc能够让我们通过java应用程序读取数据库中的数据,还能够进行数据的存储;2.我们能够通过jdbc连接到不同的数据库, 比如Oracle,MySQ原创 2021-01-24 21:17:03 · 363 阅读 · 0 评论 -
轻松解决JDBC出现No Suitable Driver Found For Jdbc的错误,忒别巴适
No Suitable Driver Found For Jdbc解决方法在学习JDBC进行数据库连接时出现了No Suitable Driver Found For Jdbc这样的报错,查看代码发现1.驱动字符串没有问题,我使用的mysql8Class.forName("com.mysql.cj.jdbc.Driver");2.url格式也没有问题String url = "jdbc:mysql://127.0.0.1:3306/chat_db?characterEncoding=utf-8&原创 2021-01-22 01:09:47 · 40573 阅读 · 11 评论 -
阅来越爱之Java多线程(实现Callable接口+线程池+图解)
文章目录新增两种创建线程的方式一、实现Callable接口概述实现Callable接口中各个类之间的关系Callable接口的使用二、使用线程池创建线程线程池描述线程池的使用ExecutorsExecutorService线程池的代码实现新增两种创建线程的方式我们知道在Java中最常见的实现多线程的方式就是继承Thread类和实现Runnable接口,我们总是会根据实际需求来选择相应的实现方式。相比较而言,通过实现Runnable接口来实现多线程更有优势,详细的内容可以看java中的线程(线程\程序\进原创 2020-12-22 18:44:14 · 454 阅读 · 0 评论 -
线程通信和两个经典例题(两个线程交替打印1-100的数字+生产者消费者问题)
文章目录线程通信概述线程通信的经典案例两个线程交替打印1-100的数字生产者消费者问题线程通信概述1、线程通讯指的是多个线程通过消息传递实现相互牵制,相互调度,即线程间的相互作用。2、线程通信中涉及的三个方法:(1)wait():此方法一旦执行,当前线程就进入阻塞状态,并释放同步监视器(锁资源)。(2)notify():此方法一旦执行,就会唤醒被 wait 的一个线程。如果有多个线程被 wait,就唤醒优先级最高的那个。(3)notifyAll():此方法一旦执行,就会唤醒所有被 wait 的原创 2020-12-19 15:08:12 · 335 阅读 · 1 评论 -
Java中的线程(线程同步、线程死锁、Lock锁的使用)
文章目录线程同步概述并发与并行多线程同步实现同步锁同步代码块同步方法同步监视器线程死锁出现死锁的前提死锁描述避免死锁Lock(锁)概述Lock的使用Lock和synchronized的区别线程同步概述并发与并行1、并行:多个CPU同时执行多个任务。比如:多个人同时做不同的事情。2、并发:一个CPU(采用时间片)同时执行多个任务,同一个对象被多个线程操作。比如:买票,取款等等。多线程同步1、多个线程同时读写同一份共享资源时,可能会引起冲突。所以引入线程“同步”机制,即各线程间要有个先来后到。2原创 2020-12-16 17:35:04 · 197 阅读 · 0 评论 -
线程状态(线程的生命周期详解)及线程分类(用户线程和守护线程)
文章目录线程状态线程状态描述线程的生命周期控制线程线程分类概述设置守护线程线程状态线程状态描述1、新建:当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。2、就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已具有了运行的条件,只是没有分配到CPU资源。3、运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态,run()方法定义了线程的操作和功能。4、阻塞:在某种特殊情况下,被认为挂起或执行输入输出操作时,让出CPU并临时终止自己原创 2020-12-15 16:32:56 · 191 阅读 · 0 评论 -
java中的线程(线程\程序\进程、创建线程、图解多线程原理、Thread类中的方法、线程优先级)
文章目录线程程序、进程、线程概念线程和进程的关系多线程的概念创建线程继承Thread类实现Runnable接口图解多线程原理创建线程两种方式的区别Thread类中的方法构造方法常用方法线程优先级概述线程优先级的设置线程程序、进程、线程概念1、程序(program):为了完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码。2、进程(process):正在执行的程序,从Windows角度讲,进程是含有内存和资源并安置线程的地方。3、线程(thread):进程可进一步细化位线程,是一个进原创 2020-12-15 13:14:13 · 244 阅读 · 0 评论 -
干货满满!!!网络编程(TCP网络通信+UDP网络通信+TCP和UDP的通信交互)
文章目录网络编程Socket套接字概述Socket中的常用方法TCP网络通信客户端工作过程创建客户端服务器工作过程创建服务器TCP实现双方连续交互UDP网络通信概述实现UDP网络通信UDP实现双方连续交互网络编程学习本节网络编程,最好配合Java网络编程概述(IP和端口号、网络通讯协议、TCP和UDP协议的概述及其区别)一起学习,这样能够达到理论与实际相结合,可以对网络编程由一个更加全面的学习。Socket套接字概述1、利用套接字(Socket)开发网络应用早已被广泛的采用,以至于成为事实上的标准原创 2020-12-10 20:17:17 · 325 阅读 · 0 评论 -
Java网络编程概述(IP和端口号、网络通讯协议、TCP和UDP协议的概述及其区别)
文章目录网络编程概述概述通讯要素:IP和端口号IP地址IP地址的描述InetAddress类端口号端口号的描述端口号+IP地址通讯要素:网络通讯协议计算机网络网络通讯协议概述TCP协议TCP协议的描述TCP三次握手TCP四次挥手UDP协议TCP协议和UDP协议的区别网络编程概述概述1、计算机网络:把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数据信息等资源。2、Java网络编程(1)Java是In原创 2020-12-08 15:15:32 · 491 阅读 · 0 评论 -
Java中的打印流和对象输入输出流
文章目录Print打印流概述常用类的使用对象输入输出流概述对象序列化Print打印流概述1、Print:打印流,只能做输出没有输入。2、打印流分为字节打印流和字符打印流。3、PrintWriter:字符打印流(主要使用)。4、Print方法可以打印各种数据类型。5、从程序中向文件打印输出内容即可。6、Print的底层使用的是Writer方法,只是Print支持更多的数据类型。7、实际应用:从服务器端使用打印流Print将网页内容响应给浏览器。常用类的使用Print打印流的常用类就是字符原创 2020-12-07 14:01:55 · 852 阅读 · 0 评论 -
IO流的核心---(输入输出流+字节字符流+节点处理流)
文章目录IO流概述输入及输出的概念输入流与输出流字节流与字符流概述常用类节点流与处理流概述处理流IO流概述IO就是input和output。而流指的就是Java中提供的读写文件操作的类的总称(称呼)。输入及输出的概念1、把电脑硬盘上的数据读到程序中,称为输入,即input,进行数据的read操作。2、从程序往外部设备写数据,称为输出,即output,进行数据的write操作。3、输入和输出都是相对于程序而言的。输入流与输出流流按照数据的传输方向分为:1、输入流:往程序中读叫输入流。2、原创 2020-12-03 23:29:12 · 280 阅读 · 0 评论 -
震惊!男人看了会沉默, 女人看了会流泪! Java中的File类背后的秘密原来是这样!
文章目录IO流之File类概述File类的构造方法File类的常用方法File类的使用日期格式转换按需求获取文件名IO流之File类IO即InputStream和OutputStream。Java语言中提供的众多的对计算机硬盘上的文件进行操作的类概述1、Java.io包中的类。2、在程序中需要对硬盘中的文件进行操作,需要在程序中表示一个文件。3、一个File类的对象可以表示计算机中的一个文件或目录(文件夹)。4、File对象可以对文件或目录的属性进行操作。5、通过File类对象可以获取其所原创 2020-11-28 01:42:25 · 278 阅读 · 2 评论 -
Java中的集合3(Map接口、HashMap、TreeMap、Hashtable、Map接口的集合迭代、Collections类)
文章目录Map接口Map接口的特点Map接口的常用方法实现类:HashMap概述HashMap的存储结构哈希表HashMapHashMap的常用方法实现类:TreeSetTreeSet的特点TreeSet的使用实现类:HashtableMap接口的集合遍历根据键找值根据键值对对象找键和值Collections类概述Collections的使用Map接口Map接口是区别去Collection接口的集合中的另一大类,对于Collection来说,它们使用的是单列存储,而Map都是双列存储。实现类:1、H原创 2020-11-24 21:24:40 · 244 阅读 · 0 评论 -
Java中的集合2(泛型、Set接口及其实现类HashSet和TreeSet最详解)
文章目录泛型引入概述泛型的使用Set接口实现类:HashSet类概述HashSet的常用方法HashSet的使用实现类:TreeSet概述TreeSet的特点Set接口集合迭代foreach循环遍历迭代器泛型引入为什么需要泛型? 我们知道Object类型可以接收任意类型的对象类型,但在实际使用的过程中,我们总是会遇到有类型转换的问题,这样就会存在一些隐患(比如说当我们需要解决向下转型的问题时,会出现类型不匹配的情况),所以java提供了泛型来解决这个问题。概述 泛型,即 " 参数化类型原创 2020-11-22 23:33:14 · 655 阅读 · 0 评论 -
Java常用关键字集锦ε≡٩(๑>₃<)۶ 一心向学
Java语言常用关键字集锦class:定义类,后面一般跟类名。byte:整型关键字,占一个字节位置,表数范围-128 ~ 127,运算时转换为int型short:整型关键字,短整型,占两个字节位置,表数范围-32768 ~ 32767,运算时转换为int型int:整型关键字,占四个字节位置,表数范围-2^31 ~ 2^31-1long:整型关键字,长整型,占八个字节位置,表数范围-2^63 ~ 2^63-1,声明时后面加l/Lfloat:浮点型关键字,占四个字节位置double:浮点型关键字,原创 2020-11-22 16:22:16 · 523 阅读 · 0 评论 -
Java中的集合1(Collection接口、List接口、List接口的三种实现类、List接口的集合迭代)
文章目录集合集合的概念集合APICollection接口List接口List接口的常用方法实现类:ArrayList实现类:LinkedList实现类:Vector效率测试List接口的迭代for循环增强for循环迭代器--iterator集合集合的概念 首先, 我们来聊一聊数组, 我们知道, 数组是同一类元素的有序集合, 但是数组却又一个致命的缺点, 那就是数组一旦被定义, 那就无法再对其容量进行改变了, 但是我们的开发或者日常生活中, 经常要存储一些可变的数据集合, 这时数组便不能满足我们的需原创 2020-11-22 16:15:13 · 536 阅读 · 5 评论 -
BIgDecimal类,计算大数和浮点数的制胜兵器
文章目录BigDecimal类概述BigDecimal类中的常用方法BigDecimal类概述1.在计算机中无论是float还是double都是浮点数,而计算机是二进制的,这样子浮点数就会失去一定的精度。2.当然浮点数失去精度的根本原因是十进制通常没有完全相同的二进制表示形式;十进制数的二进制表示形式可能不精确,只能无限接近于那个值。3.在我们的日常生活中,我们不可能让这种情况发生,我们都会要求完全精准的小数计算,因此这里Java提供了一个精确计算浮点数的类——BigDecimal类4.BIgD原创 2020-11-20 17:10:18 · 161 阅读 · 0 评论 -
Java中的大胃王--->BigInteger类(大数详解)
文章目录BigInteger概述BIgInteger类的常用方法BigInteger概述1.在java中,有许多处理数字的类,比如说Integer类,但是Integer类却有着一定的局限性。2. 我们都知道Integer是Int型的包装类,int的表数范围是 -2^31 ~ 2^31-1 。若是我们在显示生活中要描述更大的整数类型时,使用Integer数据类型就无法实现了,所以Java中为我们提供了BigInteger类。3. BigInteger类型的表数范围较Integer,Long类型的数字原创 2020-11-20 16:27:51 · 630 阅读 · 0 评论 -
java中的日期类(Date、Caleandar、SimpleDateFormat)
文章目录java中日期类Date类概述Date类的常用方法Calendar类概述Calendar类的常用方法SimpleDateFormat类概述SimpleDateFormat类的使用java中日期类Date类概述使用Date类代表当前系统时间,它的每一个实例都表示一个确切的时间点,内部使用一个long类,记录毫秒值,该毫秒值表示1970年1月1日00:00:00.000 GMT之后的毫秒数。但是由于Date设计存在缺陷,所以它的大部分方法都被设置为“过时的”,不建议使用。Date类的常用方法原创 2020-11-20 03:09:36 · 262 阅读 · 0 评论 -
java中的系统类--->System类
文章目录System类概述System类中的常用方法System类概述 System类包含一些有用的类字段和方法,在java.lang包中,System代表的是系统,系统级别的很多属性和控制方法都放在该类的内部。System类的构造方法都是private的,因此它是无法创建对象,即无法实例化的。System类中的成员变量和方法都是静态的,调用时很方便。System类中的常用方法方法名功能currentTimeMillis()返回当前系统时间,精确到毫秒,自1970年1月1原创 2020-11-20 01:57:18 · 465 阅读 · 0 评论 -
Random类 (一个说一不是一的随机类)
Random类Random类主要用于产生随机数。import java.util.Random;public class RandomDemo { public static void main(String[] args) { Random random = new Random(); //nextInt() 生成int型的随机数 for (int i = 0; i < 4; i++) { System.out原创 2020-11-20 01:27:35 · 211 阅读 · 0 评论 -
java中的数学家--->详解Math类
Math类 java.lang.Math提供了一系列静态方法用于科学计算。 Math包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。、 Math方法的参数和返回值类型一般为double型。Math类的常用方法 1. abs() 绝对值 2. acos() 返回其余弦值 3. addExact() 求值的总和,若溢出则抛出相应的类型异常 4. copysign() 用第二个参数的符号返回第一个参数 5. log() 返回以e为底的自然对数的double值原创 2020-11-20 01:11:28 · 278 阅读 · 0 评论 -
String类最详解(String、StringBuffer、StringBuilder、正则表达式)表格+代码让你一文读懂!!!
文章目录String类概述创建字符串第一种创建方式第二种创建方式构造方法判断功能获取功能转换功能替换功能正则表达式StringBuffer类概述StringBuffer的方法功能StringBuilder类String、StringBuffer、StringBuilder的区别String类String类的方法是特别的多,当我们讲到方法时会用功能块来给大家进行讲解概述 字符串是由多个字符组成的一串数据(字符序列)的字符串常量,值改变后会重新创建一个新的对象。 我们知道,String属于引用原创 2020-11-20 00:07:33 · 239 阅读 · 0 评论 -
java中的精神小伙---->Arrays类详解
文章目录Arrays类概述Arrays类的常用方法asList(T....a)fill 填充数组equals 比较排序sort排序自定义排序二分搜索/折半查找toString()Arrays类概述 java.util.Arrays类是一个与数组相关的工具类, 里面提供了大量实现数组常见操作的静态方法。可以实现数组的排序和查找,数组的比较,对数组添加元素,复制数组,将数组转化为字符串等功能。这些方法都有对基本类型的重载方法。Arrays类的常用方法asList(T…a) 将数组转化为的集合原创 2020-11-19 19:07:48 · 161 阅读 · 0 评论 -
java中的老祖宗--->Object类详解
文章目录Object类概述toString方法equals方法Object类概述 Object类是所有java类的祖先(根基类)。每个类都使用Object作为超类(父类)。所有的对象(包括数组)都实现这个类的方法。 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类。例如:public class Person{ ......}等价于public class Person extends Object{ ......} Object类中主原创 2020-11-19 13:36:13 · 255 阅读 · 0 评论 -
java中的Exception--异常详解
文章目录异常Java异常概念异常分类解决异常的两种方法异常的体系异常体系图异常处理异常处理的流程异常处理的实现trycatchfinally捕获异常信息getMessage()printStackTrace()throws 和 throwthrowsthrowthrows和throw的总结自定义异常异常Java异常概念 在使用计算机语言开发时,尽管代码没有问题,但在系统的运行过程中仍会遇到问题。简单来说就是代码运行时,由于各种原因导致程序不能正常的执行。异常分类 定义:Java语言中,将程原创 2020-11-18 00:31:51 · 2641 阅读 · 0 评论 -
如何在二十分钟搞定基本数据类型包装(封装)类
文章目录基本数据类型包装类概述八种包装类包装类的用途包装类的常见方法装箱与拆箱装箱 Auto-boxing拆箱 unboxing基本数据类型包装类概述 Java语言是面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在着诸多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类。简单来说就是java为了方便操作,给每一种基本数据类型都提供了一个对应的类用来包装基本类型的值,这个类的对象可以提供对包装类原创 2020-11-14 01:14:21 · 236 阅读 · 0 评论 -
一篇文章搞定Java数组
文章目录数组数组的基本概念数组的创建数组的两种声明方式数组创建的三种方式创建数组的划分数组的长度数组的访问和迭代二维数组二维数组的定义二维数组的迭代数组数组的基本概念 1.数组就是相同类型元素的集合。 2.数组是一种线性的数据结构(即具有连续性)。 3.数组本身是引用数据类型、即对象数组可以存储基本数据类型,也可以存储引用数据类型。存储引用数据类型时直接使用Object类中的toString方法只能输出对象的引用(地址),若要输出引用数据类型的值则要在类中对Object类中的toString原创 2020-11-12 16:15:53 · 100 阅读 · 0 评论 -
面向对象之final关键字
文章目录final关键字final关键字的作用final的属性赋值final关键字final关键字的作用final关键字用于声明属性、方法和类。属性:定义就必须直接赋值或者在构造方法中进行赋值,并且后期都不得修改。方法:子类里面不能被覆盖。类:不能被定义为抽象类或者是接口,不可被继承。final的属性赋值在声明时同时赋值,往往和static一起使用。声明时不进行赋值,则必须在构造方法中对其赋值。总的原则:保证创建每一个对象时,final属性的值都是确定的。代码示例//finalpu原创 2020-11-12 03:50:13 · 171 阅读 · 4 评论 -
面向对象之江南七怪(接口interface)
文章目录接口(interface)接口的描述接口的定义和使用接口的定义接口的使用总结接口的特性接口(interface)接口的描述 首先我们要知道为什么需要接口,在面向对象编程中,有时我们必须从好几个类中派生出一个子类,继承它们的所有方法和属性。但是,Java他又不支持多重继承,这时我们就需要有接口(interface)这样一个东西来的到多重继承的效果。就像我标题的江南七怪一样,七个师傅教郭靖一个傻徒弟。 接口(interface)就是抽象方法和常量值的定义的集合。从本质上来讲,接口就是一种原创 2020-11-12 03:25:02 · 114 阅读 · 0 评论 -
面向对象之雾里看花(抽象类)
文章目录抽象类(abstract)概念具体描述抽象类的使用抽象类(abstract)概念 如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。简单来说就是类中的信息太少了描述不了一个具体的”东西“,这就是抽象类。 抽象类不能实例化,但类的其它功能依旧存在,成员变量、成员方法和构造方法的访问方式和普通类一样。具体描述 1.用abstract修饰的类就是抽象类。 2.若某个类中包含有抽象方法,那么该类就必须定义成抽象类。 3.抽象方法抽象方法是一种特殊的原创 2020-11-12 03:21:27 · 289 阅读 · 0 评论 -
面向对象之剪不断理还乱(类之间的关系)
类之间的关系关联关系 1.对象与对象的连接。 2.在Java中,关联关系的代码表现形式为一个类作为另一个类的属性类型存在。即“有”的关系:“has”。 3.关联关系分为单向关联和双向关联。单向关联:A类关联B类;双向关联:A类关联B类,B类关联A类。 4.关联关系的多重性//一对一关联:比如一个学生只能在一个班级学习。public class Classes{ //班级 private Student cla;}public class Student{}//一对原创 2020-11-12 03:17:49 · 154 阅读 · 0 评论 -
十分钟理解面向对象三大特征(封装、继承、多态)
文章目录面向对象语言特征封装封装的概念及优点this关键字继承继承的使用继承中的构造方法super关键字方法的重写(Override)多态多态存在的要求多态的使用instanceof关键字面向对象语言特征封装、继承、多态。封装封装的概念及优点概念:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。封装的优点:只能通过规定的方法进行访问;隐藏类的实现细节;方便加入控制语句;方便修改实现。具体表现:属性使用private(私有权限原创 2020-11-05 21:14:06 · 451 阅读 · 0 评论 -
面向对象-2(对象与引用、static关键字、代码块、包、访问权限修饰符)
文章目录对象与引用基本类型和引用类型的区别值传递与引用传递static关键字代码块包(package)访问权限修饰符对象与引用Java语言中除基本类型外的变量类型都称为引用类型。Java中的对象都是通过引用对其操作的。例:Car car = new Car();右边的"new Car",是以Car类为模板,调用Car类的构造函数,在堆空间中创建一个Car类型;左边的"Car car"创建了一个Car类的引用变量,所谓Car类的引用,就是以后可以用来指向Car对象的对象引用;"="操作符使对象引原创 2020-11-03 00:19:27 · 101 阅读 · 0 评论 -
面向对象-1(面向过程和面向对象的设计思想、类 、类的定义 、对象、对象的创建和使用、变量分类、方法分类、构造方法、方法的重载)
文章目录面向过程与面向对象的设计思想面向过程面向对象Java类Java对象类的创建和使用类和对象变量分类成员变量局部变量类变量方法分类成员方法构造方法类方法方法重载面向过程与面向对象的设计思想面向过程procedure oriented programming 缩写POP,分析问题所需步骤,然后把步骤一步一步实现,面向过程适合处理一些简单的事情,直接关注流程,简单有效。举一个例子,就像小明要开车,他需要做那些步骤呢,他需要打开车门,坐进去,启动车辆,踩油门,这样小明才能把车开走,对于面向过程的语言原创 2020-10-19 22:01:59 · 346 阅读 · 0 评论 -
Java基础语法(IDE的使用、注释、关键字、标识符、变量、基本数据类型、运算符、表达式的运算顺序、条件语句、循环、方法)
文章目录Java基础语法IDE的使用注释关键字标识符(命名)Java变量Java数据类型整数类型浮点型逻辑型字符类型基本数据类型转换运算符算数运算符比较运算符逻辑运算符赋值运算符条件运算符位运算符表达式的运算顺序控制台输入控制语句条件控制语句if语句switch语句循环语句while循环do while循环for循环语句break和continue语句循环嵌套Java中的方法Java基础语法IDE的使用IDE(Intergrated Development Environment)集成开发环境,是用于原创 2020-10-19 18:46:44 · 659 阅读 · 0 评论 -
Java概述、环境搭建与第一条程序
文章目录Java概述Java语言用途Java语言发展史Java语言特点Java语言的体系结构Java语言的运行机制Java运行环境的安装和配置第一条程序Java概述Java语言用途服务器程序:银行,证券交易平台,电子商务后台....Android应用:安卓手机,各种移动设备,智能家电....嵌入式领域:智能卡,传感器上....大数据技术:Hadoop以及其他大数据处理技术都是用Java....软件工具——开发工具eclipse, IneteliJIdea…Java语言发展史在1991年时原创 2020-10-09 01:20:46 · 170 阅读 · 0 评论