飞链云

77.【JavaWeb文件上传和邮件发送04】

JavaWeb 二十五 、文件上传 1 1.准备工作 1 9 2.实用类介绍 2 42 3.思维导图: 3 53 4.正戏开始 4 55 5.完整代码 5 128 二十六 、邮箱发送 383 1.邮箱发送的原理: 1 384 2.服务器的原理 2 386 3.下载两个jar包 3jar 388 4.基本类: 4 412 5.全部代码 5 414 二十七 、网站注册发送邮件实现 476 二十五 、文件上传 1.首先创建一个empty项目 2.配置project项目中的JDK https://im...

2022-11-29 | 吉士先生 | 511浏览

Java实现Gauss列主元消元法求解方程组

https://img blog.csdnimg.cn/7bc9e84feabc4913a8bc1bcd35cda72d.png Java代码实现: import java.util.Arrays; // 列主元消去法 public class ColumnPivot { //调用启动 public static void main String args { //输入增广矩阵 int matrix = {{1, 1, 0, 3, 4}, {2, 1, 1, 1, 1}, {3, 1, 1, ...

2022-11-29 | 苗半里 | 223浏览

【Java集合】Collection接口常用方法

文章目录 Collection接口和常用方法 Collection 1 Collection接口常用方法 Collection 12 Collection接口遍历元素:使用Iterator(迭代器) CollectionIterator 76 Collection接口遍历元素:增强 for 循环 Collection for 154 Collection接口和常用方法 Collection接口实现类的特点: public interface Collection E extends Itera...

2022-11-29 | 苗半里 | 672浏览

【Java集合】集合是什么?为什么要用集合?

集合是什么?为什么要用集合? 保存数据会经常使用到数组,但数组存在以下几个缺陷: 1. 长度开始时必须指定,且一旦指定,不能更改; 1. 保存的必须为同一类型的元素; 1. 使用数组进行增加元素的步骤比较麻烦; //例如 创建一个 Play 数组 Play p = new Play 1 ; //大小是1 p 0 = new Play ; //增加新的Play对象 Play p2 = new Play p.length+1 ;//新建数组 //然后再用循环拷贝p数组的元素到p2中,很繁琐 这个时...

2022-11-29 | 苗半里 | 221浏览

Java多线程编程【一文全解】

文章目录 01 线程简介 01 3 02 进程的创建 02 28 继承 Thread 类 Thread 32 实现 Runnable 接口 Runnable 71 实现 Callable 接口 Callable 117 ※ Lambda表达式 λ Lambda 163 ※ 静态代理模式 216 03 线程状态 03 309 04 线程方法 04 322 停止线程 stop stop 326 线程休眠 sleep sleep 368 线程礼让 yield yield 397 线程强行执行 joi...

2022-11-29 | 苗半里 | 612浏览

【Java多线程】线程池【ExecutorServicec和Executors】

* Java多线程编程【一文全解】 BYS/article/details/128007355 背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大; 思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中; 好处: 提高响应速度(减少了创建新线程的时间); 降低资源消耗(重复利用线程池中线程,不需要每次都创建); 便于线程管理: corePoolSize :核心池的大小 maximumPoolSize :最大线程数 keepAliveTime :...

2022-11-29 | 苗半里 | 850浏览

【Java多线程】线程协作/通信【生产者消费者问题】

* Java多线程编程【一文全解】 BYS/article/details/128007355 文章目录 生产者和消费者问题 3 线程通信 16 01 管程法 01 20 02 信号灯法 02 129 生产者和消费者问题 https://img blog.csdnimg.cn/67dfbd4777ea4833b3ae75fcd221c5e9.png 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费; 如果仓库中没有产品,则生产者将产品放入仓库,否则停止...

2022-11-29 | 苗半里 | 393浏览

【Java多线程】你了解死锁吗?【Lock锁】

* Java多线程编程【一文全解】 BYS/article/details/128007355 文章目录 01 什么是死锁? 01 4 02 如何避免死锁? 02 80 03 Lock 锁 03 Lock 89 01 什么是死锁?         多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。某一个同步块同时拥有“ 两个以上对象的锁 ” 时,就可能会发生 ' 死锁 ' 问题。         简单来说就是...

2022-11-29 | 苗半里 | 966浏览

【Java多线程】线程同步机制(含同步方法)及不安全案例讲解

* Java多线程编程【一文全解】 BYS/article/details/128007355 文章目录 线程同步机制 3 线程同步 19 ※ 不安全案例 26 01 不安全的买票 01 27 02 不安全的银行 02 70 03 线程不安全的集合 03 140 同步方法及方法块 159 ※ 安全类型的集合 CopyOnWriteArrayList CopyOnWriteArrayList 338 线程同步机制 多个线程操作同一个资源 ,例如: 上万人同时抢100张票; 两个银行同时取钱 ...

2022-11-29 | 苗半里 | 338浏览

【Java多线程】线程状态及线程方法大全

* Java多线程编程【一文全解】 BYS/article/details/128007355 文章目录 线程状态 3 线程方法 16 停止线程 stop stop 20 线程休眠 sleep sleep 62 线程礼让 yield yield 91 线程强行执行 join join 129 线程状态观测 Thread.State ThreadState 176 线程的优先级 Priority Priority 222 守护多线程 daemon daemon 276 线程状态 https:...

2022-11-29 | 苗半里 | 548浏览

【Java】静态代理模式

※ 静态代理模式 先定义一个接口; 真实对象和代理对象都要实现同一个接口; 代理对象要代理真实对象 (就是将真实对象作为参数传入代理对象的构造方法) 代理对象可以做很多真实对象做不了的事; 真实对象可以专注做自己的事; 定义一个宠物类为真实对象,而主人类是代理对象,用主人类代理宠物类的方法: public class StaticProxy { public static void main String args { Master master = new Master new Pet ; ...

2022-11-29 | 苗半里 | 956浏览

【Java】Lambda表达式的魅力

※ Lambda表达式 λ Lambda表达式是一种特殊的表达语法,能够把一段代码像数据一样作为参数传递。 Lambda详解 能够避免内部类定义过多; 简化程序定义,只留下核心的逻辑,但会降低可读性; 语法: params expression 表达式 params statement 语句 params {statements} 函数式接口的定义: 任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口; public interface Runnable{ public abs...

2022-11-29 | 苗半里 | 480浏览

【Java多线程】初识线程及三种创建方式

* Java多线程编程【一文全解】 BYS/article/details/128007355 文章目录 线程简介 3 进程的创建 28 继承 Thread 类 Thread 32 实现 Runnable 接口 Runnable 71 实现 Callable 接口 Callable 117 线程简介 https://img blog.csdnimg.cn/e4ff7fe855d64b3fb92734a2610f5321.jpeg         普通的程序中,方法的调用是执行到方法的时候,...

2022-11-29 | 苗半里 | 877浏览

Docker基本原理和镜像管理命令

一、Docker 1:Docker概述 1:Docker是一个开源的应用容器引擎,基于go语言开发并遵守了apache2.0协议开源。 2:Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。 3:Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。 (Docker是创建容器的工具。应用运行在容器中,每个容器都有一致的运行环境,所以可以在任何主机中运行。即实现“一次封装,到处运行”的目的。) 2:logo Docker的Lo...

2022-11-29 | 我于杀戮之中绽放 | 898浏览

深入聊聊MySQL直方图的应用

GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 作者:JennyYu 本文是在假定读者了解了直方图是什么,直方图如何进行添加维护的前提下,围绕直方图与索引的对比、何时应该添加直方图,及直方图如何帮助优化器选择更优的执行计划这几个方面来介绍直方图。 对直方图不太了解的小伙伴可参考GreatSQL社区的另一篇文章 4.直方图介绍和使用 MySQL索引学习 biz=MzkzMTIzMDgwMg==...

2022-11-29 | GreatSQL社区 | 385浏览

图文结合带你搞懂MySQL日志之Redo Log(重做日志)

GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 作者:KAiTO 往期文章: 图文结合带你搞定MySQL日志之Undo log 回滚日志 biz=MzkzMTIzMDgwMg== mid=2247496981 idx=1 sn=ec496da6e52e19ee505483a15fb54f6b chksm=c26c9028f51b193e8d14a5e17f32d696a2cda0eb61f2...

2022-11-29 | GreatSQL社区 | 603浏览

[数据结构] 图---求解单源最短路径:实现迪杰斯特拉算法、贝尔曼福特算法

单源最短路径 迪杰斯特拉算法 1 贝尔曼福特算法 45 总结 75 迪杰斯特拉算法 要求图中所有边的权重非负,基于贪心算法,时间复杂度为O n^2 ; 具体实现: dist数组存放由起点到各顶点的最短路径长度(初始为正无穷) parentPath数组存放到各顶点当前路径中前一个结点的下标(初始为 1) set数组存放已经确定最短路径的顶点集合 void Dijkstra const V src, vector W dist, vector int parentPath { size t n =...

2022-11-29 | GXR_1116 | 331浏览

[数据结构] 并查集

并查集 相关概念 1 并查集的模拟实现 6 1)实现基本框架 1 7 2)实现基础操作 2 20 findRoot查找元素属于哪个集合 findRoot 21 Union合并两个集合 Union 30 IsOneSet判断两个元素是否属于同一集合 IsOneSet 43 SetSize集合个数 SetSize 51 相关概念 初始时,每个数据的下标都为 1,表示10棵树;然后采用双亲表示法,一个位置值为负,那他就是树的根,负数的绝对值表示这棵树的数据个数;一个位置值为正,该正数就是他双亲的下标...

2022-11-29 | GXR_1116 | 241浏览

[Linux] 进程程序替换之实现一个简单的shell

进程程序替换 替换原理 1 替换函数 5 实现一个简单的shell shell 16 主要过程 17 实现代码 26 替换原理 1. 用fork创建子进程后执行的是和父进程相同的程序,若要执行不同的代码分支,子进程往往要调用一种exec函数以执行另一个程序; 1. 当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行; 1. 调用exec函数并不创建新进程,所以调用exec前后该进程的id并未改变。 替换函数 有六种以exec开头的函数,统称ex...

2022-11-29 | GXR_1116 | 429浏览

[数据结构] 图---求解多源最短路径:实现弗洛伊德算法

多源最短路径 弗洛伊德算法 1 弗洛伊德算法 解决图中任意两点之间的最短路径问题 具体实现: vvdist矩阵存放任意两个顶点间的最短路径长度(初始为正无穷) vvparentPath矩阵存放任意两个顶点路径间,最后一个顶点的前一个结点的下标(初始为 1) void FloydWarShall vector vector W vvdist, vector vector int vvparentPath { size t n = vertex.size ; //初始化两个矩阵 vvdist.re...

2022-11-29 | GXR_1116 | 543浏览