自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DAY02-03

小范围 传输快 连接:交换机、双绞线、集线器中等距离 连接:光纤、路由器连接:海底光缆B/S:基于响应请求的浏览器/服务器架构C/S:基于TCP/IP的客户端/服务端架构计算机在网络中唯一标识:IP地址与子网掩码共同判断是否是同一网络。

2024-06-03 18:19:29 313

原创 凸壳问题——Graham扫描法Java实践

格雷厄姆算法基于分治策略,通过递归的方式将问题分解为更小的子问题,最终将所有子问题的解合并为原始问题的解。在实际应用中先找到一个在包凸上的点(极点),逆时针方向找到包凸上的所有点。在平面上,给定n个点组成的集合,其凸包就是包含这些点的最小凸多边形。这个凸多边形的任何一条边所在的直线都会把凸多边形全部划在同一个半平面内。,在木板是随机钉入多个钉子,用个橡皮筋将所有钉子包起来,这即为包凸问题,显而易见橡皮筋最后所形成的形状即为包凸问题的解。对所有点按照该点与极点形成的线段与。向量积小于0时,OA位于OB左侧。

2024-03-21 23:15:02 240 1

原创 基于SpringCloud的微服务之通信与网关

微服务之间通信便是各微服务之间的相互调用,即远程调用;请勿向主分支提交代码。

2023-08-23 23:16:28 173

原创 基于SpringCloud简单实现微服务

以电商系统中常见的用户下单为例,用户向订单微服务发起一个购买的请求。在进行保存订单之前 需要调用商品微服务查询当前商品库存,单价等信息。在这种场景下,订单微服务就是一个服务消费者,商品微服务就是一个服务提供者shop_order订单表、shop_product商品表、shop_user用户表。

2023-08-23 22:16:50 179

原创 初识微服务与SpringCloud

SpringCloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基 础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。

2023-08-22 23:39:23 91 1

原创 Spring依赖注入的三种形式

作用: 替换:,修饰配置类。作用: 替换:,修饰配置类。5.@Bean 含义:直接在配置类中注入方法,修饰方法,无需扫描注入类。4.@Import() 含义:导入其他配置类,写在主配置类中。方法返回值为class 方法名称为id。

2023-08-02 23:14:16 380

原创 SpringFramework框架学习

Spring 是以IoC和AOP为内核,分层的 Java SE/EE 应用全栈轻量级开源框架。Spring第一大核心思想IoC控制反转(DI依赖注入)SpringIoC容器:将所有的javaBean注入spring容器进行“解耦”管理,spring万物皆为bean。

2023-08-01 23:06:12 89 1

原创 对面向切面编程(AOP)&面向对象编程(OOP)的个人理解

Ps:我们可以大致将身份证看作一个类,而姓名、性别、年龄等基本信息就是一个个字段。那么具体到我们每个人的身份证便是一个个的对象,即对类的实例化。可以将类看做是一个模板,而每一个对象便是在类这个模板中填入自己的信息。这便同时解释了一个类的实例化对象各自的属性可以不同。

2023-08-01 19:06:12 122 1

原创 JAVAEE Web简单开发

JavaEE Web开发是基于B/S(浏览器/服务器)架构实现的,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web页面,并把Web页面展示给用户即可。Web开发通常是指开发服务器端的Web应用程序。

2023-07-27 00:29:11 1254 1

原创 基于JDBC的MyBatis应用

MyBatis是一个开源,轻量级的数据持久化框架。其内部封装了JDBC,简化了加载驱动、创建连接、创建 statement 等繁杂的过程,我们只需关注 SQL 语句本身即可。数据持久化通俗来讲就是将操作所产生的数据或对数据的增删改永久的保存下来。MyBatis是一个半自动化的ORM实现,通关建立实体类与SQL语句之间的映射关系Mapper实现数据查询。

2023-07-26 00:04:51 163 1

原创 JAVASE中线程池知识小结

使用线程池可以合理控制开辟线程的数量,避免了线程的重复创建,销毁,开销小。线程池是一种多线程处理形式,其内部维护了若干个线程,没有任务的时候,这些线程都处于等待空闲状态。3. ThreadPoolExecutor.DiscardOldestPolicy:丢弃工作队列中的队头任务(即最旧的任务,也就是最早进入队列的任务)后,继续将当前任务提交给线程池。,该状态的线程不会接收新任务,也不会处理阻塞队列中的任务,而且会中断正在运行 的任务。,该状态的线程池不会接收新任务,但会处理完工作队列中的任务。

2023-07-21 22:50:05 58 1

原创 JAVASE中线程的实现方式

1.Java用Thread对象表示一个线程,通过调用start()启动一个新线程。创建一个Runnable实现类并重写run()方法,调用start()方法启动。创建类并继承Thread,需要重写run()方法,调用start()方法启动。线程是CPU最小执行单位,进程由最少一个线程(主线程)构成。线程池中的线程从线程池创建就会处于运行状态,不用手动启动。2.一个线程对象只能调用一次start()方法。3.线程的执行代码写在run()方法中。向上攀爬的痛苦,终会在登顶时烟消云散。

2023-07-21 21:51:36 47 1

原创 Synchronized锁与ReentrantLock锁

Synchronized是Java语言层面提供的语法,所以我们不需要考虑异常,而ReentrantLock是JavaSE核心类库的并发包给我们提供的的可重入锁,所以,在编程过程中,我们就必须先创建锁,结束后在finally中正确释放锁。2.父类中synchronized修饰的方法,如果子类没有重写,,则该方法仍然是线程安全的;1.当一个线程访问对象的一个synchronized(this)同步代码块时,另一线程仍然可以访问该对象中的非synchronized(this)同步代码块。以及锁的作用是什么?

2023-07-20 23:29:18 120 1

原创 MySQL数据库基础

1.MySQL概述MySQL是一个开源的数据库,且具有很好的跨平台性,在常见的Windows、Linux、Mac Os等操作系统上都可以运行,而SQL Server只能在Windows平台上运行。MySQL适用于Web网站系统和日志记录系统。2.MySQL客户端-服务器架构客户端-服务器(Client/Server)结构简称 C/S 结构,是一种网络架构,通常在该网络架构下的软件分为客户端和服务器。服务器是整个应用系统资源的存储和管理中心,多个客户端分别各自处理相应的功能,共同实现完整的应用。

2023-07-19 22:20:57 57

原创 CopyOnWriteArrayList核心源码注解

基本思想:当一个线程向对一个集合容器进行操作时(增删改),并不对原有集合容器进行操作,而是先将原有容器进行Copy,对新创建的集合容器进行操作,操作完成后将原容器的引用指向新集合容器,原有集合容器直接抛弃。由于add()、set() 、 remove()等修改操作需要复制整个数组,所以会有内存开销大的问题。优势:实现了对CopyOnWriter容器写入操作的线程安全,且不影响同时进行的并发的读取操作;1.在保证并发读取的前提下,确保了写入时的线程安全。向上攀爬的痛苦,终会在登顶时烟消云散。

2023-07-18 23:45:49 61 1

原创 JAVASE中的简单加密算法的实现

对比ECB与CBC实现代码我们不难发现,ECB与CBC最大的不同之处就在于: ECB模式秘钥唯一,对于同一份明文,加密结果相同;而CBC模式在秘钥的基础上多添加了一个随机数IV,每次进行加密时,都会随机生成一个IV,每次加密同一明文也会产生不同密文;因此CBC模式的安全系数远远大于ECB模式,但是无论是CBC模式还是ECB模式,在进行解密时都需要使用同一秘钥进行解密。密钥长度直接决定加密强度,而工作模式和填充模式可以看成是对称加密算法的参数和格式选择。对本地的文件进行加密和解密。对称加密算法就是传统的用。

2023-07-17 19:38:55 118 1

原创 JAVASE反射知识小结

一个Class实例包含该类的所有完整信息,JVM为每个加载的class创建了对应的Class实例,并在实例中保存了该class的所有信息,包括类。以上都是Class实例获取对象信息的方法,接下来我们会说到获取字段,即获取成员变量以及获取字段值的方法,对任意的一个Object实例,只要我们获取了它的Class,就可以获取它的一切信息,同理一个Field对象包含了一个字段的所有信息。等,因此,如果获取了某个Class实例,我们就可以通过这个Class实例获取到该实例对应的class的所有信息。

2023-07-15 00:39:46 39 1

原创 JAVASE中的哈希算法简单实现

又称摘要算法(Digest),作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。哈希算法最重要的特点就是:相同的输入一定得到相同的输出不同的输入大概率得到不同的输出So,哈希算法的目的:为了验证原始数据是否被篡改为何不同的输入得到的输出只是大概率不同,这便是接下来要讲述的哈希碰撞。

2023-07-10 19:34:55 217 1

原创 基于JAVA的编码算法

最简单的编码是直接给每个字符指定一个若干字节表示的整数,复杂一点的编码就需要根据一个已有的编码推算出来。

2023-07-10 17:40:36 91 1

原创 基于Apache Commons-net包,进行的FTP文件传输

是应用层的一个文件传输协议。主要作用是在服务器和客户端之间实现文件的传输和共享。FTP协议运行在TCP连接上,保证了文件传输的可靠性。在传输时,传输双方的操作系统、磁盘文件系统类型可以不同。允许TCP/IP网络上的两台计算机之间进行文件传输。而FTP服务是基于FTP协议的文件传输服务。工作时,一台计算机上运行FTP客户端应用程序,另一台计算机上需要运行FTP服务器端程序。只有拥有了FTP服务,客户端才能进行文件传输。HTTP和FTP都是文件传输协议,都是运行在TCP上面,但是他们也有一些重要的区别。

2023-07-10 01:17:15 1734

原创 基于IDEA的Java Email的简单实现

简单实现邮件发送

2023-07-09 23:05:41 1338 1

空空如也

空空如也

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

TA关注的人

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