新都在

新都在

最新文章

Java岗大厂面试百日冲刺【Day47】— 并发编程4

Java岗大厂面试百日冲刺【Day47】— 并发编程4

本文主要介绍了Java中线程池的创建方式、参数设置、工作队列类型和任务提交流程等内容。线程池可以通过Executors工具类自动创建,也可以通过ThreadPoolExecutor类手动创建,设置核心线程数、最大线程数、队列类型等参数。线程池提交任务经过判断线程数、队列状态、拒绝策略等步骤,最后关闭线程池可以使用shutdown()和shutdownNow()方法。对于线程池的工作队列和拒绝策略也进行了详细说明。
33
0
0
2023-07-26
Java岗大厂面试百日冲刺【Day45】— 实战那些事儿

Java岗大厂面试百日冲刺【Day45】— 实战那些事儿

本篇文章是Java岗大厂面试百日冲刺系列的第45天,主要介绍了线程阻塞的概念以及导致线程阻塞的几种情况,包括睡眠状态、等待状态、礼让状态、自闭状态等,还回答了线程阻塞是否会导致进程阻塞的问题。此外,文章还解释了阻塞和非阻塞的区别,以及并发和并行的概念。通过生动的比喻和图示,深入浅出地解释了这些概念,有助于读者更好地理解和区分它们。
28
0
0
2023-07-26
Java岗大厂面试百日冲刺【Day44】—— Redis3

Java岗大厂面试百日冲刺【Day44】—— Redis3

以上是关于缓存穿透、缓存击穿和缓存雪崩的面试题解析以及解决方案。通过对这些缓存相关问题的深入理解和应对,可以帮助我们更好地设计和优化系统,提高系统的性能和可用性。在面试中,对于缓存相关问题的处理思路和方法也是非常重要的一部分。希望以上内容能对大家有所帮助。
42
0
0
2023-07-26
Java岗大厂面试百日冲刺【Day43】—— Shrio1

Java岗大厂面试百日冲刺【Day43】—— Shrio1

本文介绍了Java安全框架Apache Shiro的基本概念和组件,包括Subject、SecurityManager和Realm。通过Shiro可以实现认证、授权、加密、会话管理等功能。此外,还介绍了Shiro的权限控制方式,包括方法注解、页面标签、代码级别和URL级别的权限控制。除此之外,还介绍了Shiro的其他组件,如Authenticator、Authorizer、SessionManager等。在认证和授权过程中,Shiro会经历多个阶段,最终判断用户是否有权限。最后,还列举了Shiro中常见的异常,如UnknownAccountException、IncorrectCredentialsException等。通过本文的学习,可以更好地理解Shiro框架的使用和原理。
24
0
0
2023-07-26
Java岗大厂面试百日冲刺【Day35】—— JVM2

Java岗大厂面试百日冲刺【Day35】—— JVM2

本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。
28
0
0
2023-07-26
Java岗大厂面试百日冲刺【Day34】—— 消息队列2

Java岗大厂面试百日冲刺【Day34】—— 消息队列2

本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。
21
0
0
2023-07-26
支持高并发下的Flask架构部署

支持高并发下的Flask架构部署

在高并发环境下部署Flask应用,采用Flask+Gunicorn+Nginx架构是常见且高效的解决方案。这一组合充分利用了各组件的优势:Flask作为轻量级Web框架负责应用逻辑;Gunicorn作为一个强大的WSGI服务器,通过预派生工作进程模型提高处理效率;Nginx则作为反向代理和静态文件服务器,优化网络请求处理,特别是应对慢客户端问题和提供高性能的静态资源服务。 Gunicorn直接部署Flask应用虽能满足基本需求,但在高并发场景下,每个请求占用一个进程的模型限制了其扩展性。Nginx的加入不仅解决了这个问题,还通过异步非阻塞IO模型提升了请求处理速度,有效减轻慢客户端请求对系统资源的占用。此外,Nginx能够处理SSL加密、提供负载均衡能力,并高效托管静态文件,释放Flask应用专注于动态内容处理。 部署流程概要为:首先,使用Gunicorn启动Flask应用,指定工作进程数和监听端口;随后,配置Nginx作为前端服务器,将请求反向代理至Gunicorn,同时配置静态文件的路径映射。此部署策略显著增强了应用的并发处理能力和响应速度。 在Docker环境中,通过编写Dockerfile和docker-compose.yml文件,可以进一步简化部署流程并实现服务的容器化,便于跨平台部署和管理。Dockerfile用于构建包含应用及其依赖的轻量级镜像,而docker-compose则负责服务编排,确保Flask应用、数据库以及Nginx服务之间的网络和数据卷配置正确无误。 综上所述,Flask+Gunicorn+Nginx架构不仅解决了高并发下的性能瓶颈,还通过Docker技术实现了部署的标准化与自动化,是构建可扩展、高可用Web服务的优选方案。
37
0
0
2023-07-26
Java岗大厂面试百日冲刺【Day7】 —— 数据库2(事务)

Java岗大厂面试百日冲刺【Day7】 —— 数据库2(事务)

本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。
18
0
0
2023-07-26
Java岗大厂面试百日冲刺【Day20】—— MyBatis2

Java岗大厂面试百日冲刺【Day20】—— MyBatis2

本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。
28
0
0
2023-07-26
Java岗大厂面试百日冲刺【Day25】—— JVM1

Java岗大厂面试百日冲刺【Day25】—— JVM1

本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。
23
0
0
2023-07-26