- 博客(76)
- 收藏
- 关注
原创 java线程池
由于多个线程的创建需要浪费资源,降低效率,因为这会使操作系统频繁的进行线程上下文切换,无故增加系统的负载,而线程的创建和消亡都是需要耗费系统资源的,也无疑浪费了系统资源。await()的线程一开始处于等待状态,通过cutdown()进行计数-1操作,当变为0的时候,表示所有的线程都已经完成了任务,await()的线程就会被唤醒进行执行。线程池技术能够很好地解决这个问题,它预先创建了若干数量的线程,并且不能由用户直接对线程的创建进行控制,在这个前提下重复使用固定或较为固定数目的线程来完成任务的执行。
2022-11-11 23:37:40
241
原创 C语言入门结构
malloc(申请内存空间)必须和#include一起使用,sizeof进行划分控件,这里是按照int类型进行划分,开辟了60个int类型的空间,而且不带有默认值。数组的第一个地址就是int类型的,可以更改指针(两个数组) 如图。数组中不能更改自己的指向,只有指针才可以。int *c=&a;计算输出arr的大小。typedef起别名。
2022-11-11 23:28:45
119
原创 Shell自动化脚本
自己自定义一个文件,把项目git clone克隆下来后,再去pom.xml所在文件夹 mvn clean、mvn install,再把tomcat里webapps文件下的war包删除或者改名字备份,再把运行的项目导入进去,重启tomcat使项目生效。windows系统通过git上传项目,linux通过git接收项目,然后cd到项目目录,然后执mvn clean和mvn install命令形成war包,再把war包拿到tomcat的webapps下
2022-11-11 23:26:59
219
原创 SpringIoc
在java当中一个类想要使用另一个类的方法,就必须在这个类当中创建这个类的对象,那么可能会出现如下情况, 比如A类当中创建着B对象,B类当中有C对象,C类当中有A对象,这个如果一个类出了问题,那么可能会导致这个框架出现问题。Spring 将创建对象的权利给了IOC,在IOC当中创建了ABC三个对象吗,那么我们我们其他的类只需要调用集合, 大大的解决了程序耦合性的问题。在当前情况之下A类想要调用B类就必须自己在自己的内部新建B类的对象,这样的耦合度太高,那我们如何降低耦合度的呢?
2022-11-11 17:04:44
83
原创 反向代理---nginx
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况,也就是说:哪个 server 的连接数少,路由就到哪个 server 中去。按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。每个请求按访问 IP 的hash结果分配,每个访客固定访问一个后端服务器,可解决session的问题。客户端发出的每个请求将按照时间顺序逐一分配到不同的后端服务器,如后端服务器down掉,能自动剔除。按后端服务器的响应时间来分配请求,响应时间短的优先分配。
2022-11-11 16:43:03
758
原创 操作系统缓存淘汰策略
在FIFO Cache设计中,核心原则就是:如果一个数据最先进入缓存中,则应该最早淘汰掉。5、在访问数据的时候,如果在Cache中存在该数据的话,则返回对应的value值;2、每当缓存命中(即缓存数据被访问),则将数据移到链表头部;2、 队列中的数据被访问后,引用计数增加,队列重新排序;3、当需要淘汰数据时,将已经排序的列表最后的数据块删除。3、如果Cache存满数据,则把链表头部数据删除,3、当链表满的时候,将链表尾部的数据丢弃。2、当来了新的数据之后便添加到链表末尾,4、然后把新的数据添加到链表末尾。
2022-11-11 16:23:25
600
原创 项目单点登录
其他的子系统拿到了登录域的cookie后,但是他们的服务器后台是不承认的,所以需要统一先去访问登录系统的后台,登录系统的后台提供了一个判定的方法,登录系统的后台放行的话,就可以去访问自己的后台服务器。单点登录就是一个子系统登录之后,其他系统就不用在登录了(一个域名下进行登录,其他的域名就都有了登录状态),就类似于京东那样,你无论在哪个页面点击登录,他都会跳到一个登录子系统下(域名不同passport.jd.com)去进行一个登录,当这个系统进行登录之后,其他的子系统就不用再登录了。
2022-11-11 16:18:37
261
原创 算法:八大排序
目录一、冒泡排序 二、简单选择排序 三、堆排序 四、直接插入排序 五、归并排序 六、快速排序 七、希尔排序 八、基数排序 一、冒泡排序 (平均时间复杂度为O(n²))从左到右依次俩俩比较,并进行交换,知道最右边最大为止(也可以从大到小)代码实现:public class array {public static void main(String[] args){ int[] a=n...
2022-04-15 17:22:46
724
转载 第十二课:Java Servlet的使用
1.什么是Servlet?Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。2.Servlet实现过程:最早支持 Servlet 技术的是 JavaSoft 的 Java Web Server。此后,一些其它的基于 Java 的 Web Server 开始支持标准的 Servlet API。Servlet 的主要功能在于交互式地浏览和修改数据,生成...
2022-03-05 16:27:00
366
原创 第十一课:网络及网络传输
1.什么是网络?网络就是几部计算机主机或者是网络打印机之类的接口设备,透过网络线或者是无线网络的技术,将这些主机与设备连接起来,使得数据可以透过网络媒体(网络线以及其他网络卡等硬件)来传输的一种方式。我们之所以可以通过网络浏览视频、下载资料、发送邮件或与朋友视频聊天,其实都是网络设备之间默契配合的结果2.网络传输介质:常见的以下两种(1)交换机:(2)无线连接:3.不同地区之间网络信息交互:信息交互就是采用了不同地区的交换机、...
2022-03-05 16:19:08
98
原创 第十课:浅谈web网站
1.什么是web网站?网站(Website)是指在因特网上根据一定的规则,使用HTML(标准通用标记语言)等工具制作的用于展示特定内容相关网页的集合。简单地说,网站是一种沟通工具,人们可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的网络服务。人们可以通过网页浏览器来访问网站,获取自己需要的资讯或者享受网络服务。2.web网站的底层构建其中要使用到超文本语言(HTML),servlet构架,mysql等数据库,通过servlet进行前后端数据交互。...
2022-03-05 15:59:21
1739
原创 第九课:轻谈Java锁
1.什么是锁的机制 Java卡法在并发环境下,多个线程会对同一个资源进行争抢,可能会导致数据不一致的问题。为了解决这一问题,需要通过一种抽象的锁来对资源进行锁定。2.Java锁的类型:3.宏观上的锁1.乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版...
2021-12-11 17:17:06
186
原创 第八课:多线程
1.进程进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是 操作系统 结构的基础。2.线程 线程:线程(英语:thread)是操作系统能够进行运算调度的最 小单位,一条线程指的是进程中一个单一顺序的控制流。3.线程跟进程的关系进程包含线程,一个进程可以有很多线程,每条线程并行执行不同的任务。4.计算机中程序的运行 程序运行就是线程和进程之间的协同合...
2021-12-11 17:03:34
235
1
原创 第七课:java类与对象
1.类是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法)class Person{}class是一个关键字,用于创建类,这里类名叫做Person2.对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。2.1对象的本质 对象的本质就是堆内存里面创建的一块空间3.创建对象的过程...
2021-12-11 15:18:07
319
原创 第六课:java运算符和数据类型转换
目录1.Java运算符:1.1数学运算符1.2关系运算符1.3位运算符1.4条件运算符2.数据类型转换2.1.自动类型转换2.2.强制类型转换3.强制转换精度丢失的原因和解决办法3.1.浮点类型在计算机当中的存储3.2.浮点类型的精度丢失1.Java运算符:1.1数学运算符数学运算,结果为一个数值。见下表:运算符 说明 举例 + 加法 1 + 2 – 减法 4 – 3.4 * 乘法 .
2021-12-04 17:43:47
410
原创 第五课,java基本数据存储
目录1.java八大数据类型:2.各个整型和浮点型的存储需求以及取值范围3.基本类型的数据在java中存储模式:4.java源码、反码、补码1.java八大数据类型:java作为强类型的语言,它的数据类型有严格的分明。在java中一共有8种基本数据类型。java类型数据就是在了内存中开辟了不同形式的内存空间2.各个整型和浮点型的存储需求以及取值范围3.基本类型的数据在java中存储模式:4.java源码、反码、补码int a=10;byte a=...
2021-12-04 17:26:50
133
原创 第四课:Java基础算法和运行
目录1.类的框架2.简单运算的演变3.java的运行模式:1.类的框架public class Demo{//属性(方法,main主方法,参数等等) }Java程序就是数据结构和算法相加2.简单运算的演变小学—中学—大学的转变,逐渐从简单的1+1变成使用函数计算,最后演变成程序语言的函数调用进行执行。3.java的运行模式:先进行java类的编译,编译产生class类,然后即可运行Java程序Java对于的运行模式如下:...
2021-12-04 17:21:10
449
转载 第三课:从2-3-4树到红黑树的认识
一、首先先来了解什么是2-3-4树1.简介2.三种节点的示意图3.构建一颗2-3-4树二、红黑树1.认识红黑树的特性2.从2-3-4树到红黑树3.通过2-3-4树构建红黑树一、首先先来了解什么是2-3-4树1.简介2-3-4属于一种多路查找树,是一种四阶的B树,它的结果有以下特点所有叶子节点都拥有相同的深度 节点只能是2-节点、3-节点、4-节点节点 元素的排序整体上保持二叉查找树的特性,即父节点大于左子节点,小于右子节点;当节点有多个元素时,每个元素都必须大
2021-11-28 17:16:50
228
原创 第二课:数据结构
一、什么是数据结构1、 数据结构的起源:1968年美国的高纳德教授开创了一门新的课程《基本算法》,确定了数据结构和算法的基本体系。是一门研究非数值计算的学科,专注于数据的关系及操作。
2021-11-28 17:14:32
179
原创 第一课:计算机的发展及编程语言的发展
计算机的发展一共有四个发展阶段:第一个发展阶段是电子管计算机的时代,在1946年到1956年。1946年第一台电子计算机问世美国宾西法尼亚大 学,它由冯·诺依曼设计的.占地170平方 ,150KW.运算速度慢还没有人快,是计算机发展历史上的一个里程碑。第二个发展阶段是晶体管的计算机时代,在1956年到1964年。第三个发展阶段是集成电路与大规模集成电路的计算机时代,在1964年到1970年。第四个发展阶段是超大规模集成电路的计算机时代,是1970年至今。、计算机的主要组成.
2021-11-28 17:04:31
911
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅