JavaEE
文章平均质量分 88
cuckoo___
剑指大厂
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【JavaEE】-- 网络编程套接字
网络编程是指网络上的主机通过不同的进程,以编程的方式实现网络通信(或称为网络数据传输)。当然,只需要满足进程不同就行,即便是在同一个主机,只要是不同进程基于网络来传输数据也属于网络编程。操作系统为用用提供了一组实现传输协议的接口–Socket API。JDK为系统API进行了封装,Java程序员使用JDK提供的API。ServerSocket是创建TCP服务端Socket的API.主要用于服务器端,创建一个TCP服务。方法签名方法说明创建⼀个服务端流套接字Socket,并绑定到指定端⼝方法签名。原创 2025-11-24 08:43:30 · 653 阅读 · 0 评论 -
【JavaEE】-- Spring Web MVC入门
该注解是用来注册接口的的。路由映射:当用户访问一个URL时,将用户的请求对应到程序中的某个类的某个方法的过程。原创 2025-11-17 08:32:21 · 518 阅读 · 0 评论 -
【JavaEE】-- IoC & DI
Spring MVC 和 Spring Boot 都属于Spring ,Spring MVC是基于Spring的一个MVC框架,而Spring Boot 是基于Spring 的一套快速开发整合包。这三者专注的领域不同,解决的问题也不一样。总的来说,Spring就像一个大家族,有众多衍生产品,但他们的基础都是Spring。@Bean@Bean定义多个对象的时候我们就不能通过类型来获取对象了,需要使用Bean的名称来获取。IoC: 控制反转。也就是说Spring是一个“控制反转”的容器。原创 2025-11-13 19:56:54 · 948 阅读 · 0 评论 -
【JavaEE进阶】-- 加密算法
在数据库中通常存放一些用户的隐私信息,这些隐私信息通常不可以将其明文存放:1. 代码角度:代码bug漏洞可能会导致数据泄漏。2. 管理角度:管理员有权限查看数据表的数据,有可能会直接泄漏表数据。原创 2025-11-11 21:39:40 · 369 阅读 · 0 评论 -
【JavaEE】-- Cookie &&Session
HTTP协议自身是属于“无状态”协议。无状态:默认情况下HTTP协议的客户端与服务器之间的这次通信,和下次通信之间没有直接关系。但是在实际开发中,我们很多时候是需要知道请求之间的关联关系的,比如:保存登陆状态。上图中的“令牌”,通常就存储在Cookie字段中。原创 2025-11-04 21:04:19 · 566 阅读 · 0 评论 -
【JavaEE】-- B/S && C/S 架构
1. 必须要安装客户端程序。不同的应用需要安装不同的客户端程序。2. 大部分业务都可以在客户端完成,包括客户端可以直接操作数据库等服务。充分利用本地的计算机资源。3. 由于客户端承担了更多的业务,所以其响应速度快。原创 2025-11-04 16:38:34 · 107 阅读 · 0 评论 -
【JavaEE初阶】-- JVM
当我们创建一个类时,先从应用程序加载器开始向上转发,一直转发到启动类加载器。类启动加载器在自己的路径下找,看有没有要创建的这个类,有则加载,没有就继续向下转发到扩展加载器。扩展加载器在自己的路径下找,看有没有要创建的这个类,有则加载,没有就继续向下转发到应用程序加载器。应用程序加载器在自己的路径中找到类并加载。原创 2025-09-12 20:54:39 · 1125 阅读 · 0 评论 -
【JavaEE初阶】-- HTTPS
常见的数据摘要算法有:MD5、SHA系列。原创 2025-06-11 17:15:44 · 862 阅读 · 0 评论 -
【JavaEE】-- HTTP
HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上的应用程序进程之间如何相互通信的规则和标准。简单来说,应用层协议就是应用程序用来”对话”的语言和约定。原创 2025-06-10 17:00:39 · 930 阅读 · 0 评论 -
【JavaEE初阶】-- 网络原理
我们在使用QQ时都是需要登录的,登陆的时候等于向QQ服务器发送了一个请求,然后QQ服务器给了有一个响应,此时QQ服务器就会记录登陆方的信息类似于key value的形式,比如:(key:QQ123456, value:IP:端口号)。发送方通过某种算法(CRC–对每个byte进行累加操作,最终得一个值)对载荷进行运算,得到一个值并保存起来,接收方在收到数据之后,取出载荷以相同的算法进行计算,如果得到的结果与校验和相同,就表示接收到的载荷与发送的载荷一致,中途没有被篡改,否则载荷就是无效的。原创 2025-05-28 16:06:38 · 1049 阅读 · 0 评论 -
【JavaEE】-- 文件操作和IO
文件是操作系统中的概念,Java为不同的操作系统做了封装,提供了一个File类,来让Java程序员操作文件。修饰符及返回值类型方法签名说明intread()一次读取一个字节的数据,返回-1代表已经完全读完了int最多读取b.length字节的数据到b中,返回实际读到的数量;-1代表已经读完了int最多读取len-off字节的数据到b中,放在从off开始,返回实际读到的数量;-1代表以及读完了voidclose()关闭字节流签名说明利用File构造文件输入流。原创 2025-05-27 16:31:24 · 945 阅读 · 0 评论 -
【JavaEE】-- MyBatis操作数据库(1)
MyBatis是一款优秀的持久层框架,用于简化JDBC的开发。持久层:指的就是持久化操作的层,通常指数据访问层(dao),用来操作数据库的。MyBatis中文网数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。每次执行SQL语句,要先创建一个新的连接对象,然后执行SQL语句,SQL语句执行完,再关闭连接对象释放资源,,这种重复的创建连接,销毁连接比较消耗资源。原创 2025-04-22 16:27:27 · 1261 阅读 · 0 评论 -
【SpringBoot】-- 日志
通过打印日志来发现和定位问题,或者根据日志日志来分析程序的运行过程。随着项目的复杂度提升,我们对日志的打印也有了更高的需求,不仅仅是定位排查问题。随着项目的复杂度提升,我们对日志的打印也有了更高的需求,而不仅仅是定位排查问题,比如需要记录一些用户的操作记录(一些审计公司会要求),也可能需要使用日志来记录用户的一些喜好,把日志持久化,后续进行数据分析等.但是System.out.print不能很好的满足我们的需求,我们就需要使用一些专门日志框架(专业的事情交给专业的人去做).原创 2025-04-16 13:03:45 · 990 阅读 · 0 评论 -
【JavaEE】-- SpringBoot快速上手
Maven是一个项目管理工具。基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。大白话:Maven是一个项目管理工具,通过pom.xml文件的配置获取jar包,而不用手动去添加jar包,maven就跟预制菜是一个道理。通过pom.xml文件的描述来管理一个项目的构建。spring就是一个框架,是一个半成品,把一些项目公共的部分抽取出来。观察pom文件<build><plugins>原创 2025-03-18 12:01:41 · 1100 阅读 · 0 评论 -
【JavaEE进阶】-- HTML
HTML(HyperTextMarkupLanguage),超文本标记语言。**超文本:**比文本要强大.通过链接和交互式方式来组织和呈现信息的文本形式.不仅仅有文本,还可能包含图片,音频,或者自已经审阅过它的学者所加的评注、补充或脚注等等。**标记语言:**由标签构成的语言。HTML的标签都是提前定义好的,使用不同的标签,表示不同的内容,类似word文档:如果选中文本,点击标题1,就会使用标题1的样式来显示文本,上述标题1就是一个"标签”。原创 2025-03-16 19:48:39 · 1062 阅读 · 3 评论 -
【JavaEE】-- 多线程(初阶)4
阻塞队列是⼀种特殊的队列.也遵守"先进先出"的原则.阻塞队列能是⼀种线程安全的数据结构,并且具有以下特性:• 当队列满的时候,继续⼊队列就会阻塞,直到有其他线程从队列中取⾛元素.• 当队列空的时候,继续出队列也会阻塞,直到有其他线程往队列中插⼊元素.阻塞队列的⼀个典型应⽤场景就是"⽣产者消费者模型".这是⼀种⾮常典型的开发模型.//定义一个数组来存放数据,具体的容量由构造方法中的参数决定//定义头尾下标//定义数组中元素的个数//构造。原创 2025-03-04 22:06:08 · 933 阅读 · 0 评论 -
【JavaEE】-- 多线程(初阶)3
其实理论上wait和sleep完全是没有可⽐性的,因为⼀个是⽤于线程之间的通信的,⼀个是让线程阻塞⼀段时间,唯⼀的相同点就是都可以让线程放弃执⾏⼀段时间.对于线程t1来说,只是比较flg这个变量的值,从来都没有修改过,所以CPU认为,这个值永远也不会改变,从而也不会重新从内存中读取值。t2线程正常结束,并且已经修改了flg变量的值,但是t1没有结束,整个进程也没有结束,结果不及预期,线程安全问题产生。当某一个处理器往主内存中写回数据的时候,让缓存中的值失效,通知其他处理器从主内存中重新获取新的值。原创 2025-03-02 09:42:08 · 710 阅读 · 0 评论 -
【JavaEE】-- 多线程(初阶)2
后一个线程永远读到的是上一个线程刷回主内存的值,主内存相当于一个交换空间,线程依次写入和读取,而且是串行(顺序执行)的过程,通过这样的方式实现了内存可见性,并没有对内存可见性做技术上的处理。线程A拿到了锁,别的线程如果执行被锁住的代码,必须要等到线程A释放锁如果线程A没有释放锁,那么别的线程只能阻塞等待,这个状态就是BLOCK。程序运行的结果和预期值不一样,而且是一个错误的结果,但是我们的程序逻辑是正确的,这个现象所表现的问题称为。已经获取锁对象的线程,如果再进行多次的加锁操作,不会产生互斥现象。原创 2025-02-23 14:37:02 · 1025 阅读 · 0 评论 -
【JavaEE】-- 多线程(初阶)1
并不是任何时候多线程的效率都要比单线程高,当任务量很少的时候,单线程的效率可能会比多线程更高,创建线程本身也会有一定的系统开销,这个开销没有创建进程的开销大,两个线程在CPU上调度也需要一定的时间。线程中具体的任务是打印一句话,所以线程中的大部分时间是在休眠,也就意味着线程是在休眠的时候中断的,所以就是中断的休眠状态下的线程,而不是执行线程任务的线程。两个线程同时进行,互不干扰,线程的执行顺序没有什么规律,这个和CPU调度有关,由于CPU调度是抢占式执行的,所以哪个线程占用当前CPU资源是不确定的。原创 2025-02-11 09:42:38 · 766 阅读 · 0 评论 -
【JavaEE】-- 计算机是如何工作的
进程是操作系统对⼀个正在运⾏的程序的⼀种抽象,换⾔之,可以把进程看做程序的⼀次运⾏过程;同时,在操作系统内部,进程⼜是操作系统进行资源分配的基本单位。*每一个运行的程序在操作系统里都对应着一个进程。*程序安装完之后,在系统中都是静态文件存放在磁盘中,双击之后,从磁盘加载到内存,系统就会创建一个这个程序对应的进程,这时程序就运行起来了。进程可以分为:前台进程(用户执行的进程);后台进程(系统创建的进程)。操作系统本身也是一个程序,它也创建了很多进程。原创 2025-01-25 12:25:17 · 2307 阅读 · 0 评论
分享