
Java笔记
文章平均质量分 80
狂神说
-Blue.
这个人很懒,连简介都
展开
-
【java 中 Queue 接口】add 和 offer、 remove 和 poll、 element 和 peek的区别(附源码)
的增加元素方法和的区别在于在有限队列的情况,使用方法优于方法方法和方法都是删除队列的头元素,和方法都是返回队列的头元素,但是不删除头元素,区别在一般都用添加、移除、原创 2022-06-22 09:09:38 · 1105 阅读 · 0 评论 -
【狂神Java笔记】JavaWeb入门到实战——Tomacat、moven安装及配置(附代码)(更新中……)
1.1前言1.2 web应用程序1.3静态web1.4动态web2.Web服务器2.1 技术详解2.2web服务器3Tomcat3.1安装tomcat3.2 Tomcat启动和配置3.3配置3.4发布一个web网站4Http4.1什么是HTTP4.2两个时代4.3Http请求1请求行2消息头4.4Http响应1响应体2响应状态码5Maven5.1Maven项目架构管理工具5.2下载安装Maven5.3配置环境变量5.4阿里云5.5本地仓库5.6在IDEA中使用Maven5.7创建一个普通的Maven项目5.原创 2022-03-02 20:37:48 · 1467 阅读 · 2 评论 -
【狂神Java笔记】JUC并发(附代码)(更新中……)
目录JUC并发1、什么是JUC?2、线程和进程并发、并行线程有几个状态:wait / sleep区别3、Lock锁(重点)传统 SynchronizedLock锁Synchronized和Lock区别锁是什么,如何判断锁得是谁!4、生产者和消费者问题Synchronized版JUC版5、8锁现象代码Text 1Text 2Text 3Text 4小结6、集合类不安全list 不安全set 不安全map 不安全7、callable (简单)JUC并发1、什么是JUC?java.util 工具包、原创 2022-02-26 15:50:22 · 1171 阅读 · 0 评论 -
【狂神Java笔记】Java网络编程实战详细笔记整理(附代码)
计算机网络是指将地理位置不同 的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程的目的:1.如何准确的定位网络上的一台主机192.168.16.124:端口,定位到这个计算机上的某个资源2.找到了这个主机,如何传输数据呢?ip 地址端口表示计算机上的一个程序的进程:网络通信协议:速率,传输码率,代码结构,传输控制 TCP UDP 对比三次握手和四次挥手Tomacat URL统一资源定位符原创 2022-01-23 21:54:06 · 569 阅读 · 0 评论 -
【狂神Java笔记】注解与反射(附代码)(更新中……)
注解与反射注解1. 内置注解2. 元注解注解原创 2021-12-14 22:03:03 · 821 阅读 · 0 评论 -
【狂神Java笔记】——Java I/0流(附代码)(更新中……)
目录一、I/O流1. I/O流是什么2. IO流的分类输入流输出流字节流字符流3. java中的I/O4. I/O流的四大家族5. close()和flush()方法6. java.io包下需要掌握的流有16个:7. 代码——输入字节流 FileInputStream(1)创建文件字节流文件(2)循环方式——对第一个程序进行改进(3)一次读取多个字节(4)(5)(6)一、I/O流1. I/O流是什么I:InputO:Output2. IO流的分类输入流、输出流、字节流、字符流输入流以内存原创 2021-11-16 10:27:53 · 1190 阅读 · 0 评论 -
狂神说Java笔记——Java多线程 - 线程同步与死锁(队列和锁、synchronized、lock、线程通信)
目录一、线程同步1. 并发2. 队列和锁一、线程同步多个线程操作同一个资源1. 并发同一个对象被多个线程同时操作2. 队列和锁在访问时加入锁机制synchronized,3.三大不安全案例代码1—不安全的取钱线程不安全的集合4.同步方法锁-买票5. 同步块锁CopyOnWriteArrayList二、死锁某一个同步块同时拥有 “两个以上对象的锁 时,就可能会发生“死锁”的问题synchronized产生死锁的四个必要条件synchronized与Lock的对比线程协作线程通信管程法4. 使用线程池原创 2021-10-27 20:34:34 · 424 阅读 · 0 评论 -
狂神说Java笔记——Java多线程常用的操作方法(线程状态、停止、休眠、礼让、Join、优先级、守护)
目录一、线程状态二、线程停止代码:线程停止示例三、线程休眠代码1:模拟网络延时:放大问题的发生性代码2:模拟倒计时:代码3:打印当前系统时间四、线程礼让代码:测试礼让线程五、Join代码:测Join方法六、线程状态观测代码:观察测试线程的状态七、线程的优先级一、线程状态线程的五大状态二、线程停止不推荐使用JDK提供的stop(),destroy() 方法。【已废弃】推荐线程自己停止下来建议使用一个标志位进行终止变量,当fag= false,则终止线程运行代码:线程停止示例packa原创 2021-10-24 19:35:59 · 304 阅读 · 0 评论 -
狂神说Java笔记——Java多线程实现(Thread类、Runnable接口、Callable接口)(附代码)
目录一、线程的简介1. 进程与线程2. 本章核心概念二、线程的创建1. Thread 类一、线程的简介1. 进程与线程一个进程里可以有多个线程说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的的单位。注意:很多多线程是模拟出来的,真正的多线程是指有多个原创 2021-10-17 08:54:46 · 563 阅读 · 0 评论 -
Java自学笔记——Java异常机制、异常处理
目录异常机制例1例2简单分类异常体系结构ErrorException异常处理机制Test2异常机制实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们的程序再跑着,内存或硬盘可能满了。等等软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是Exception,意思是例外。这些,例外情况,或者叫异常,怎么让我们写的程序做出合理的处理。而原创 2021-10-13 21:58:49 · 284 阅读 · 0 评论 -
Java自学笔记——Java面向对象——04.抽象类、接口、内部类
目录抽象类抽象类abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类那么该类就是抽象类抽象类中可以没有抽象方法但是有抽象方法的类一定要声明为抽象类抽象类不能使用new关键字来创建对象它是用来让子类继承的抽象方法只有方法的声明没有方法的实现它是用来让子类实现的子类继承抽象类那么就必须要实现抽象类没有实现的抽象方法否则该子类也要声明为抽象类...原创 2021-10-12 21:50:23 · 400 阅读 · 0 评论 -
Java自学笔记——Java面向对象——03.封装、继承、多态
目录封装继承封装提高程序的安全性,保护数据隐藏代码的实现细节统一接口系统可维护性增加了public class Student { //属性私有 private String name; // 名字 private int id; //学号 private char sex; //性别 private int age; //提供一些可以操作这个展性的方法! //提供一些 public的 get、set方法 // get获得原创 2021-10-07 21:06:38 · 517 阅读 · 0 评论 -
Java自学笔记——Java面向对象——02.构造器、类和对象
目录一、构造器1. 代码12. 代码23. 总结二、 创建对象内存分析三、总结一、构造器Java生成的class文件原文件://public class Person {}class文件:public class Person { public Person() { }}类中的构造器也称为构造方法,是在进行刨建对象的时候必须要调用的。并且构造器有以下两个特点:必须和类的名字相同必须没有返回类型也不能写void1. 代码1public class P原创 2021-10-06 21:46:29 · 338 阅读 · 0 评论 -
Java自学笔记——Java面向对象——01.回顾方法
目录一、什么是面向对象本质:三大特性:二、回顾方法1. 方法的定义2. 方法的定义(1)静态方法(2)非静态方法(3)形参和实参(4)值传递和引用传递(5)this 关键字一、什么是面向对象面向过程面向对象第一步做··· 第二步做···分类的思维模式,单独思考,在某个分类的细节里用面向过程解决简单问题解决复杂问题整体分析——面向对象细节——面向过程本质:以类的方式组织代码以对象的组织(封装)数据三大特性:封装继承多态二、回顾方法1.原创 2021-10-06 08:18:24 · 723 阅读 · 0 评论 -
Java自学笔记——Java流程控制(六)流程控制练习
目录流程控制练习代码:流程控制练习代码:package com.blue.struct;public class TextDemo { public static void main(String[] args) { // 打印三角形 5行 for (int i = 0; i <= 5; i++) { for (int j = 5; j>=i;j--){ System.out.print(原创 2021-05-16 10:41:52 · 323 阅读 · 0 评论 -
Java自学笔记——Java流程控制(五)break & continue
目录break & continue1. break代码:2. continue代码1:代码2:break & continuebreak在任何循环语句的主体部分,均可用 break控制循环的流程。 break用于强行退出循环,不执行循环中剩余的语句。( break语句也在 switch语句中使用)continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定.关于goto关键字◆ goto关键字很早就在程序设原创 2021-05-16 10:39:53 · 422 阅读 · 0 评论 -
Java自学笔记——Java流程控制(四)循环结构——While 循环结构
目录While 循环结构while 循环代码1:代码2代码3:do…while 循环代码1:**代码2:**While 循环结构while 循环do.……while 循环for 循环在 Java5 中引入了一种主要用于数组的增强型 for 循环。while 循环while是最基本的循环,它的结构为:While (布尔表达式) {//循环内容}只要布尔表达式为true,循环就会一直执行下去我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。少部分原创 2021-05-14 11:00:46 · 644 阅读 · 0 评论 -
Java自学笔记——Java流程控制(四)选择结构——Switch多选择结构
目录switch多选择结构1. switch语句中的变量类型可以是2. 代码:3. 代码:4. 打开Class反编译文件的过程switch多选择结构多选择结构还有一个实现方式就是 switch case 语句。switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。1. switch语句中的变量类型可以是byte、 short、int 或者 char从 Java se7开始switch 支持字符串 String 类型了同时case标签必须为原创 2022-05-11 09:29:01 · 333 阅读 · 0 评论 -
Java自学笔记——Java流程控制(三)选择结构——if 、switch 选择结构
目录if 选择结构if 单选择结构if 双选择结构if 多选择结构嵌套的if结构选择结构总概if单选择结构if双选择结构if多选择结构嵌套的if结构switch多选择结构if 选择结构if 单选择结构 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用语句来表示语法:if (布尔表达式){ //如果布尔表达式为true将执行的语句}代码:package com.blue.struct;import java.util.Sca原创 2021-05-09 08:51:31 · 509 阅读 · 0 评论 -
Java自学笔记——Java流程控制(二)顺序结构
Java流程控制目录Java自学笔记——Java流程控制(一)用户交互Scanner——next() nextLine()顺序结构JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构。语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。package com.blue.struct;public class ShunXuDemo { public st原创 2021-05-09 08:41:43 · 266 阅读 · 0 评论 -
Java自学笔记——Java流程控制(一)用户交互Scanner——next()、nextLine()
目录1. Scanner对象2. next()3. nextLine()代码1 next()应用代码2 nextLine()应用代码3 nextLine()代码4 nextInt() nextFloat()代码5 nextDouble1. Scanner对象 之前我们学的基本语法中我们并没看实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。 java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。基本语法:原创 2021-05-09 08:35:24 · 599 阅读 · 0 评论 -
Java自学笔记——基础语法(五)包机制、JavaDoc
目录一、包机制包的本质就是文件夹二、JavaDoc1. Java SE文档2. 参数信息3. 生成Javadoc文档 14. 生成Javadoc文档 2一、包机制为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。包语句的语法格式为:package pkg1[ .pkg2[. pkg3…] ];一般利用公司域名倒置作为包名为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用" import“语句可完成此功能import packag原创 2021-04-29 09:07:40 · 363 阅读 · 1 评论 -
Java自学笔记——基础语法(四)运算符
目录Java语言支持如下运算符:一、运算符优先级排列二、运算符的种类1)算数运算符2)关系运算符3)逻辑运算符4)位运算符5)条件运算符6)扩展运算符Java语言支持如下运算符:算术运算符:+, -, * ,/,%,++,–赋值运算符 =关系运算符: >,<, >=, <= , ==, != instanceof逻辑运算符: &&,‖,!位运算符: &,|,^,~,>>,<<,>>>(了解原创 2021-04-29 08:55:21 · 2603 阅读 · 1 评论 -
Java自学笔记——基础语法(三)变量、常量
目录变量、常量一、变量1. 变量作用域2. 变量举例3. 变量的命名规范二、常量变量、常量一、变量变量是什么:就是可以变化的量!Java是一种强类型语言,每个变量都必须声明其类型。Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。type varName [=value ] [{, varName [=value ] } ];// 数据类型变量名=值;可以使用逗号隔开来声明多个同类型变量。注意事项 每个变量都有类型,类型可以是基本类型,也原创 2021-04-27 18:00:35 · 410 阅读 · 0 评论 -
Java自学笔记——基础语法(二)数据类型、类型转换
目录数据类型强类型语言弱类型语言一、Java的数据类型分为两大类1. 八大数据类型2. 什么是字节二. 面试题1. 整数拓展:2. 浮点数拓展:3. 字符拓展4. 转义字符:5. 布尔值拓展:类型转换数据类型强类型语言——要求变量的使用严格符合规定,所有变量都必须先定义后才能使用优点:安全性高,速度慢弱类型语言VB 、 Javascripe例子一、Java的数据类型分为两大类◆基本类型( primitive type)◆引用类型( reference type)1. 八大数据类型原创 2021-04-27 17:53:53 · 196 阅读 · 1 评论 -
Java自学笔记——基础语法(一)注释、标识符、关键字
注释、标识符、关键字1. 建立工程项目为了方便管理,建立空项目,然后命名JavaSE然后弹出一个窗口,先不设置选择新建模块点击File —— Project Structure保持一致,2. Java中的注释:单行注释//单行注释 输出一个多行注释/*我是多行注释*/文档注释/** * 文档注释 */平时写代码一定要书写规范3. 关键字JAVA 的所有组成部分都需要名字,类名、变量名以及方法名都被称为标识符。public class HelloW原创 2021-04-27 14:32:18 · 655 阅读 · 5 评论