- 博客(21)
- 收藏
- 关注
转载 Tomcat并发问题的思考
遇到这么个问题linux tomcat并发量限制,tomcat只能支持几百个线程并发的原因是什么?线程不是越多越好,假如你的业务逻辑全部是计算型的(CPU密集型),不涉及到IO,并且只有一个核心。那肯定一个线程最好,多一个线程就多一点线程切换的计算,CPU不能完完全全的把计算能力放在业务计算上面,线程越多就会造成CPU利用率(用在业务计算的时间/总的时间)下降。但是在WEB场景下,业务并不是CPU密集型任务,而是IO密集型的任务,一个线程是不合适,如果一个线程在等待数据时,把CPU的计算能力交给其.
2022-03-30 18:01:54 351
转载 面试总结之计算机网络
文章目录1. OSI协议应用层:传输层:网络层:数据链路层:物理层2. 应用层2.1 DNS协议2.2 DHCP协议2.3 其他常见应用层协议2.4 Web页面的请求过程1. OSI协议两个维度横向看,为哪两个平行的东西提供什么服务纵向看看,为上层提供了什么服务应用层:为应用程序间提供通信和交互协议DNS、HTTP、SMTP等传输层:为两台主机间的进程提供数据传输服务为上层提供服务:把应用层报文封装成TCP或UDP报文段,进行传输TCP、UDP网络层:为两台主机提供通
2022-03-14 18:18:07 735
原创 chapter02-链表
文章目录1. 力扣 203. 移除链表元素2. 力扣 707. 设计链表3. 力扣 206. 反转链表4. 力扣 92. 反转链表 II5. 力扣 24. 两两交换链表中的节点6. 力扣 19. 删除链表的倒数第 N 个结点7. 力扣 面试题 02.07. 链表相交8. 力扣 142. 环形链表 II1. 力扣 203. 移除链表元素tip:设置虚拟头结点while(cur != null)//不是cur.next2. 力扣 707. 设计链表tip:单纯考察代码能力。class ListNo
2022-02-25 15:18:04 358
原创 chapter01-数组
文章目录1. 力扣 704. 二分查找2. 力扣 27. 移除元素3. 力扣 977.有序数组的平方4. 力扣 209.长度最小的子数组5. 力扣 59. 螺旋矩阵 II6. 力扣 15. 三数之和7. 力扣 88. 合并两个有序数组n. 力扣 53. 最大子数组和1. 力扣 704. 二分查找入参:int[ ] nums, int val //一个数组,一个值前提:有序数组关键词:二分法//找该区间中间位置,比较target,//判断target落在左还是右区间,//选好区间重复上面操作w
2022-02-25 15:17:39 393
原创 chapter05-栈和队列
文章目录232.用栈实现队列225. 用队列实现栈20. 有效的括号1047. 删除字符串中的所有相邻重复项150. 逆波兰表达式求值239. 滑动窗口最大值347. 前 K 个高频元素232.用栈实现队列tip:栈模拟队列//输入栈和输出栈 // push: 压入输入栈 // pop: 输出栈 // ==null,输入栈全部push输出栈,然后从输出栈pop // !=null,直接从输出栈pop // peek
2022-02-25 15:17:07 150
原创 chapter03-哈希表/散列表/Hash table
文章目录242.有效的字母异位词1002. 查找常用字符349. 两个数组的交集核心:一般哈希表都是用来快速判断一个元素是否出现集合里。242.有效的字母异位词1002. 查找常用字符349. 两个数组的交集...
2022-02-25 15:16:14 1015
原创 chapter04-字符串
文章目录1. 滑动窗口系列1. 滑动窗口系列https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/solution/hua-dong-chuang-kou-by-powcai/无重复字符的最长子串串联所有单词的子串[困难]最小覆盖子串至多包含两个不同字符的最长子串长度最小的子数组滑动窗口最大值字符串的排列最小区间最小窗口子序列...
2022-02-25 15:15:39 653
转载 sentinel监控界面无显示
在做Sentinel的时候,Sentinel能够监控到服务,但是不管怎么访问接口,都实时监控都为空白,查看日志,报错信息如下:java.util.concurrent.ExecutionException: java.net.ConnectException: Connection timed out: no further information at java.util.concurrent.CompletableFuture.reportGet(Unknown Source) at
2022-02-14 20:00:22 1321
原创 三大排序——快速排序/归并排序/堆排序
文章目录快速排序归并排序堆排序本来不想写的,因为现在面试卷中卷,就总结一下吧。对这常考的三大排,进行重新梳理。以后有时间可能在写些别的排序。这里目的只为快速解题,java写的代码,有帮助的点个赞。快速排序class Solution { //选中轴pivot,左边界 //双指针遍历序列,比pivot小的放左边,比pivot大的放右边,直到两指针相遇 //相遇位置赋值pivot //切割成左右子序列,循环上面三步 public int[] sortArray
2022-02-03 17:03:50 467
转载 Java线程-中断Interrupt细节
原文很细中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true)。它并不像stop方法那样会中断一个正在运行的线程。判断线程是否被中断判断某个线程是否已被发送过中断请求,请使用Thread.currentThread().isInterrupted()方法(因为它将线程中断标.
2022-01-26 16:43:19 639
原创 git命令大全
关系图命令集$ git init #创建本地仓库$ git clone [url] #下载一个仓库$ git status #查看状态$ git add . #将当前目录所有文件添加到git暂存区$ git commit -m "my commit" #提交并备注提交信息$ git lo
2021-12-31 12:16:03 183
转载 雪花算法生成id引发的惨案
一、现象是这样的下面我把异常的现象给大家描述一下,小伙伴建了一张表,表的主键是id BigINT,用来存储雪花算法生成的ID,嗯,这个没有问题!CREATE TABLE user(id BIGINT(20) NOT NULL COMMENT ‘主键ID’,#其他字段省略);使用Long 类型对应数据库ID数据。嗯,也没有问题,雪花算法生成的就是一串数字,Long类型属于标准答案!@Datapublic class User {private Long id;//其他成员变量省略在后端
2021-11-30 23:53:28 1825
转载 Java之加密工具类java.security.MessageDigest或org.apache.commons.codec.digest.DigestUtils
Java之加密(信息摘要)工具类(依赖:java.security.MessageDigest或org.apache.commons.codec.digest.DigestUtils)1. java.security.MessageDigest支持MD5,SHA-1,SHA-256import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/** * CiphertextUtil * *
2021-11-05 22:26:06 1626
转载 QPS TPS 要理清
QPS、TPS是什么QPS:全名 Queries Per Second,意思是“每秒查询率”,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。简单的说,QPS = req/sec = 请求数/秒。它代表的是服务器的机器的性能最大吞吐能力。在网上,我看到有人在介绍 QPS 时,这样说:QPS 代表的是单个进程每秒请求服务器的成功次数。但是 QPS 在百度百科中或维基百科中并没有强调单个进程,它主要是强调服务器的处理能力。服务器的 QPS 一般我们可以
2021-11-04 17:03:56 212
原创 Java NIO - 基础详解
文章目录流与块通道与缓冲区1.通道2.缓冲区缓冲区状态变量文件NIO实例选择器1.创建选择器2.将通道注册到选择器上3.监听事件4.获取到达的事件5.事件循环套接字NIO实例内存映射文件对比Standard IO是对字节流的读写,在进行IO之前,首先创建一个流对象,流对象进行读写操作都是按字节,一个字节一个字节的来读或写。而NIO把IO抽象成块,类似磁盘的读写,每次IO操作的单位都是一个块,块被读入内存之后就是一个byte[],NIO一次可以读或写多个字节。流与块I/O 与 NIO 最重要的区别是数
2021-09-21 21:07:15 381
原创 Java BIO - 阻塞式IO详解
文章目录重要概念传统的BIO通信方式传统的BIO的问题多线程方式 - 伪异步方式BIO通信方式深入分析重要概念阻塞和同步,非阻塞和异步,这两组词的关联度是很高的,是不能分开讲的,像多线程并发往往也会论述这些概念。下面会从IO的角度切入。阻塞IO 和 非阻塞IO这两个概念是程序(进程线程)级别的。主要描述的是程序请求操作系统IO操作后,如果IO资源没有准备好,那么程序该如何处理的问题: 前者等待;后者继续执行(并且使用线程一直轮询,直到有IO资源准备好了)同步IO 和 非同步IO这两个
2021-09-21 17:09:27 801
原创 IO模型-Unix IO 模型
文章目录IO模型-Unix IO 模型Unix IO 模型简介- 阻塞式I/O- 非阻塞式I/O- I/O复用- 信号驱动I/O- 异步I/OI/O模型比较- 同步I/O与异步I/O- 五大I/O模型比较I/O多路复用- I/O多路复用工作模式- LT模式- ET模式- 应用场景- select应用场景- poll应用场景- epoll应用场景IO模型-Unix IO 模型Unix IO 模型简介一个输入流程数据准备好(如套接字,等数据从网络到达)内核拿到数据存入缓冲区,在把数据复制给进程的缓冲
2021-09-21 16:01:20 503
转载 Get与Post请求的差别
作者:采诗人链接:https://www.zhihu.com/question/48725585/answer/1592933916来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候
2021-09-14 22:40:50 106
原创 CentOS 7 防火墙设置
在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理添加firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent重新载入firewall-cmd --reload查看firewall-cmd --zone=pu
2021-05-09 21:43:48 222
转载 spring容器启动的三种方式
在Web项目中,启动Spring容器的方式有三种,在web.xml中配置ContextLoaderListener、ContextLoadServlet、ContextLoaderPlugin。1.1 监听器方式:<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/applicationContext-
2021-04-13 21:07:04 555
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人