• 那是从何处传来的钟声呢?偶尔听到那钟声,平添一份喜悦与向往之情。
Java多线程

Java多线程

一、进程和线程之间有什么不同?一个进程是一个独立的运行环境,它可以被看做一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。二、多线程编程的好处是什么?在多线程程序中,多个线程被并发的执行以提高程序的效果,CU……

Java过滤器与SpringMVC拦截器之间的关系与区别

Java过滤器与SpringMVC拦截器之间的关系与区别

过滤器和拦截器的区别:拦截器是基于Java的反射机制,而过滤器是基于函数回调。拦截器不依赖于Servlet容器,过滤器依赖于Servlet容器。拦截器只能对 action 请求起作用,而过滤器则可以对几乎所有请求起作用。拦截器可以访问 action 上下文、值栈里的对象,而过滤器不能。在 action 的生命周期中,拦截器可以多次被调用,二过滤器……

RabbitMQ

RabbitMQ

RabbitMQ的队列容量可以认为是无限的,根据内存有关。可以设置队列最大长度,当达到长度的时候,最先入队列的消息将被丢弃。一般在秒杀活动中应用广泛。场景:秒杀活动,一般会因为流量过大,导致应用挂掉,为了解决这个问题,一般在应用前端加入消息队列。作用:可以控制活动人数,超过此一定量的订单直接丢弃,先显示一个排队中,后端在处理,可能成功过可能失败。……

Spring Boot

Spring Boot

什么是Spring BootSpring Boot 设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而是开发人员不再需要定义样板化的配置。使用Spring Boot 的好处其实就是简单、快速、方便。平时如果我们要搭建一个Spring Web 项目的时候要怎么做呢?配置 web.xml,加载 sprin……

简单的Python爬虫实现,以及一些要注意的地方

简单的Python爬虫实现,以及一些要注意的地方

“人生苦短,我用Python“前言在公司来了快一个月了,除了自己的技能,还学到了 AngularJS,最近的项目也是用Python来做,又是一波学习的机会。用了几天发现,我的天呐,这写的真的轻松!!!真是应了那句话:人生苦短,我用Python。在业余时间,了解了其他关于Python有趣的事,比如今天这篇文章的爬虫。正文首先得安……

基于 docker 搭建简单的流媒体服务器

基于 docker 搭建简单的流媒体服务器

“教你基于 docker 搭建一个简单的 Nginx-rtmp 流媒体服务器”前言由于本人昨天把系统给换了然后目前正在做的一个业余项目需要牵扯到流媒体服务器,但是之前系统环境是 ubuntu,现在给换成 Arch 了,而 Arch 软件更新比较激进,所以会导致 nginx 一些第三方模块编译出问题。而我个人也懒得折腾了,就想到干脆……

送上一波福利,仅供学习使用

送上一波福利,仅供学习使用

链接:https://share.weiyun.com/5Ykd5xI 密码:4fsn7z……

并发基础知识(四)

并发基础知识(四)

“浅谈线程安全性(一)”前言前面我们简单的了解了一下 java 内存模型和重排序以及相关一些规则,同时通过重排序告诉了我们一个道理: “如果错误的假设程序中的操作将按照某种特定的顺序来执行,那么会存在各种可能的危险。”这篇开始我们借此来继续讨论下线程安全性问题。正文首先我们来思考一个问题。什么是线程安全性?事实上要对……

并发基础知识(三)

并发基础知识(三)

“java 内存模型的基础认知(二)”前言在多核时代,如何提高 CPU 的性能成为了一个永恒的话题,而这个话题的讨论主要就是如何定义一个高性能的内存模型,内存模型用于定义处理器的各层缓存与共享内存的同步机制及线程和内存交互的规则。这一篇我们接上一篇继续来讨论 JAVA 内存模型(JMM)之重排序。正文由于前面所说的,写缓冲……

并发基础知识(二)

并发基础知识(二)

“java 内存模型的基础认知(一)”前言并发编程可以使我们将程序划分为多个分离的、独立运行的任务。通过使用多线程机制,我们可以将这些独立任务(也被称为子任务)由执行线程来进行驱动。而想要让它们之间可以互相协同、正确、有效的工作,就不得不面临两个关键的问题:它们之间该 如何保持通信 和它们之间该 如何保持数据同步。java 内存……