JavaEE初阶
文章平均质量分 90
开始学习JavaEE初阶
fiance111
这个作者很懒,什么都没留下…
展开
-
博客系统(前后端分离版)
写之前首先要进行规划,要做到“谋定而后动”首先进行“数据库设计”,也就是想清楚需要几个库,几张表,每个表长啥样(属性是干什么的,是什么类型)需要找到实体,然后分析实体之间的关联关系,再思考表的属性这里业务比较简单,所以只需要两张表博客表blog (blogId, tittle, content, postTime, userId)用户表user (userId username password)先建一个数据库,往里面添加数据操作数据库引入依赖首先要先引入maven依赖,在.xml的中引入依赖去中央原创 2023-03-09 21:26:23 · 1713 阅读 · 1 评论 -
网络编程套接字
研究网络编程套接字就是研究如何写代码完成网络编程socket套接字是操作系统给应用程序提供的API应用层和传输层是可以进行交互的,socket就是传输层给应用层提供的在网络编程中, 有很多 的协议 ,最知名的协议就是TCP和UDP协议这两种协议的工作特性差别比较大, 因此操作系统提供了两个版本的API。原创 2023-03-08 21:25:04 · 366 阅读 · 0 评论 -
在linux上部署Java项目
要是想要部署java web程序,首先要配置环境。原创 2023-03-08 19:51:25 · 4266 阅读 · 1 评论 -
JVM的基本知识
JVM是java的虚拟机,是一个十分复杂的东西,所以掌握的要求比较高.本文主要是研究JVM的三大话题。原创 2023-03-08 19:47:17 · 496 阅读 · 0 评论 -
Linux基本指令
以上一共提到了10个命令lspwdcdtouchcatechomkdirrmmvcp应该回忆一下,都是比较常用的命令。原创 2023-03-08 19:11:59 · 379 阅读 · 0 评论 -
网络原理4 数据链路层
应用层: HTTP(以后详解)传输层: TCP UDP网络层:IP协议数据链路层: 以太网协议(mac地址)原创 2023-01-01 15:24:51 · 550 阅读 · 0 评论 -
网络原理3 IP地址
中主要做的事情是在两点之间规划出一个合理的路径,同时也要对主机所处的位置进行定义在网络层中最重要的是IP协议。原创 2023-01-01 15:22:05 · 800 阅读 · 1 评论 -
网络原理2 TCP协议
在传输层中,UDP和TCP协议都是很重要的,其中的TCP协议是重点,更是难点。原创 2023-01-01 15:21:44 · 570 阅读 · 0 评论 -
网络原理 一
考虑在客户端服务器之间要传输哪些数据?[根据需求]考虑信息/数据按照什么格式组织[也是根据需求]举一个具体的例子点外卖明确传输的信息, 请求里面有什么,响应里面有什么请求: 用户的位置 用户的偏好响应: 商家的列表需要包含多个商家的信息,每个商家要包含名称 图片 评分 距离明确数据的格式网上传输的数据的本质都是bit流,也就是一堆二进制位,不同程序之间的传输格式也是不一样的但是,自定义应用层协议实在是太灵活了,这并不是一件好事。原创 2022-12-15 10:59:25 · 306 阅读 · 0 评论 -
网络原理初识
在有些比较复杂的计算, 耗时会比较久, 为了提高速度,减少计算次数, 就可以把重复的计算结果记录下来, 这种用于记录结果的数据结构就叫做缓存(cache), 广义上说,动态规划也就是一种缓存,本质就是记录中间的结果。以上的过程只是描述了发送发和接受方的封装与分用, 实际上传输还有很多的中间过程, A和B之间不是一个网线直连,所以中间还要经过交换机/路由器进行转发,所以真实的过程只会更加复杂.在网络通信中, ip地址是用于识别主机地址网络,端口号是识别主机中发送 数据 接收数据的进程的, 也就是说,原创 2022-12-11 14:32:10 · 616 阅读 · 0 评论 -
JavaScript的Web api接口
之前学过了一些JS的基础语法,但是还是不能写出一个页面的动态效果所以此时就有必要学习浏览器给JS提供的api网页是运行在浏览器上的,学习js最大的目的就是能够实行与用户交互,进一步操作页面上的内容.这些都要使用浏览器的api在Web api 中,有很多的api , BOM和DOM只是其中的一部分,还有能操作多媒体的api, 还有能操作画板的api…此处的重点是DOM(Document Operation Model 文档操作模型)来操作页面。原创 2022-11-30 14:49:01 · 399 阅读 · 0 评论 -
文件输入与输出io
狭义的文件: 存储在硬盘上的数据 , “以文件为单位”, 进行组织常见的文件类型: 文本文件,图片 视频文件 音频文件 可执行程序文件夹也叫做"目录"它也还是一种特殊的文件。原创 2022-10-17 08:53:05 · 339 阅读 · 0 评论 -
多线程的线程安全
wait notify是 用来控制多线程直接的执行先后顺序的wait 和 notify 都要先进行上锁(synchronized)必须是同一个对象调用wait 和 notify锁对象也要和 调用wait / notify 的对象一致就算没有wait , 直接notify 也是没有副作用的。原创 2022-10-16 09:38:31 · 2306 阅读 · 0 评论 -
多线程实例4--线程池
之前学过String字符串常量池 MySQL的JDBC中的数据库连接池(DataSource),这些都是池的概念"池"可以节省对象重复创建和初始化锁耗费的时间,对于哪些需要经常被系统频繁请求和调用的对象,使用池可以提高运行的效率进程是比较重量级的,导致创建和销毁进程是比较抵消的(内存 文件资源的申请和释放),所以有了线程,线程可以共享内存 文件资源,新的线程可以复用之前线程的资源,不用再申请资源,所以就快了。原创 2022-10-15 10:32:47 · 520 阅读 · 0 评论 -
多线程案例3--计时器
很多时候,客户端请求服务器,在发送完请求之后, 一直都等不来服务器响应, 此时客户端不能一直等下去, 此因此客户端就要设置一个"超时时间",也就是说,一旦等待时长超过这个时间, 客户端就会自动执行某一段代码。这里的TimeTask是一个runnable接口, 所以要new TimeTask(),然后重写run方法, 从而执行操作。原因就是Timer内部需要一组线程来执行注册的任务, 这里的线程是前台线程, 会影响进程退出。要是isDaemon是false,就是前台线程,就会影响进程退出。原创 2022-10-14 09:02:34 · 333 阅读 · 0 评论 -
多线程案例2--阻塞队列
实现思路: 使用双指针法,定义两个指针在数组的开始处,只要放一个数字进去,tail就向后走一步,head保持不动,直到tail 走到最后,数组放满了,tail就重新回到开始处,要是取出元素就将head向后走一步,直到head走到最后就重新回到开始处, 循环队列在逻辑上是一个环。服务器每处理一个请求,都要消耗一定的硬件资源(包括但不限于CPU 内存 硬盘 带宽),同一时刻的请求越多,小号的资源也就越多, 可是一台主机上的资源是有限的,一旦某一个资源耗尽了,服务器也就挂了。原创 2022-10-13 14:38:22 · 291 阅读 · 0 评论 -
多线程的案例1--单例模式
2 3 两个步骤可能会调换顺序,单线程的时候没事,多线程的时候,要是先执行3 再执行2 , 得到的就是对象只有内存, 内存上的数据无效, getInstance 就会认为对象非空, 直接就返回了,这就是指令重排序问题。加上锁就能够保证线程安全,但是这样写的话, 每次都要加锁, 加锁的开销是比较大的(加锁会涉及到用户态–>内核态之间的切换,这样的成本是比较高的),也就是说,加锁虽然能保证线程安全,但是每次都要加锁资源开销就会比较大。在Java中, 存在一个天然的只能有一个实例的东西,那就是static。原创 2022-10-12 10:14:47 · 247 阅读 · 0 评论 -
多线程进阶
一共有这些锁策略:乐观锁 vs 悲观锁读写锁 vs 普通互斥锁轻量级锁 vs 重量级锁自旋锁 vs 挂起等待锁公平锁 vs 非公平锁可重入锁 vs 不可重入锁对于synchronized既是乐观锁也是悲观锁既是轻量级锁也是重量级锁乐观锁的部分是基于自旋锁实现的, 悲观锁是基于挂起等待锁实现的synchronized是自适应的 :要是锁竞争不激烈,它就是乐观锁/轻量级锁/自旋锁注意: 自旋锁是纯用户态实现的,相比于内核态,它的工作量是比较少的。原创 2022-10-11 18:57:35 · 479 阅读 · 0 评论 -
多线程基础知识
多线程基础。原创 2022-09-24 10:18:23 · 401 阅读 · 0 评论 -
JavaEE基础知识
之前已经学过很多的知识,但是总会有一个疑惑,这些知识有什么用?接下来的JavaEE的目标就是做出一个属于我们自己的网站网站=前端+后端简单来说,前端就是客户端,也就是浏览器运行的网页后端就是服务器工作,也就是公司机房部署的程序之后的学习将以后端技术栈为主,前端技术栈为辅进行学习。原创 2022-09-18 18:19:09 · 3139 阅读 · 0 评论