首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JavaEE初阶——从入门到掌握线程安全

    Java多线程编程初阶:从入门到掌握线程安全 1. 认识线程(Thread) 线程是什么 线程是程序中的执行流,多个线程可以并发执行多个任务。...当线程操作变量时,会先将变量从内存加载到 CPU 的高速缓存里。若多个线程在不同 CPU 核心上运行,每个核心都有专属高速缓存。...,后续多次循环不再重新从主内存读取,直接使用工作内存中的缓存值)。...执行逻辑:从等待队列中随机选择一个线程唤醒,使其从 WAITING 状态变为就绪状态;唤醒后,被唤醒的线程不会立即执行,而是需要等待当前线程释放锁后,重新竞争获取锁;若要唤醒所有等待的线程,需使用 notifyAll.../ 我们在这里要创建一个线程,让这个线程去检测是否到时间了,以及去执行这个任务 Thread thread = new Thread(() -> { // 循环从队列中取出元素

    15610

    从前世看今生,从JavaEE到微服务

    我有一个习惯,接触到新概念、新技术出现后,就会探究他的前世今生、来龙去脉,正所谓“太阳底下没有新鲜事”,喜欢从对比中找到价值点,不如此就觉得理解不透彻,就觉得少了点什么。...JavaEE 7,明年应该有JavaEE 8,可惜现在关注的越来越少了。...1、从EJB这个失败的规范理解微服务的后端服务 说起JavaEE规范,要先从EJB(Enterprise Java Bean),他是一种用Java实现后端服务的规范。...在微服务架构下,数据必然是分布式的,而数据的存储方式也从关系数据库拓展到缓存、NoSQL、图等数据存储方式,实体Bean实在是分布式数据的早期探索之一,只不过这个尝试失败了。...7、从JavaEE部署规范看Docker与微服务架构的关系 JavaEE规范中,EAR、WAR、JAR的部署模式是大家最常见的方式,按照JavaEE的设想,每一个模块都是一个独立的可部署单元,前端界面、

    1.4K70

    JavaEE初阶——TCPIP协议栈:从原理到实战

    一篇吃透TCP/IP协议栈:从原理到实战! 在网络编程中,TCP/IP协议栈就像“交通规则”,掌控着数据在网络中的传输。...这篇文章会从底层到上层,用通俗的语言+清晰的结构,带大家彻底搞懂TCP/IP协议栈。 一、先搞懂:TCP/IP协议栈的“四层结构” TCP/IP不是单一协议,而是一套“协议家族”,按功能分为四层。...2.2 负责“端到端”的传输层 传输层的目标是:让数据从“发送端的应用程序”准确传到“接收端的应用程序”,核心靠端口号和TCP/UDP协议。...数据从源主机到目的主机,可能要经过多个路由器(比如家里→小区路由器→运营商路由器→百度服务器),这个“找路”的过程就是路由选择。...百度服务器接收:数据从数据链路层向上解包(拆帧→拆IP包→拆TCP段),应用层处理HTTP请求,返回HTML数据,再按原路传回浏览器,最后浏览器渲染HTML,显示网页。

    64610

    Javaee—— CAS

    但是,在t1执行这两个操作之间,t2线程可能把num的值从A改成了B,又从B改成了A         线程t1的CAS是期望num不变就修改,但是num的值已经被t2给改了,只不过又改成A了,这个时候...假设变量值从A被线程 1 改成B,又被线程 2 改回A,此时线程 3 执行 CAS 操作时,会误认为变量从未被修改过(因为预期值A与内存值A相等),但实际上变量已经被修改过两次。...这样,即使变量值从A变回A,版本号也会从n变为n+2,CAS 操作时需同时比较变量值和版本号,确保两者都符合预期才执行更新。...局限性 ABA 问题:变量值从 A 被改为 B 再改回 A 时,CAS 会误判为未修改(可通过绑定版本号解决,如 AtomicStampedReference)。

    19110

    《JavaEE进阶》----1.<JavaEE进阶可以学到什么>

    本篇博客会讲到 一、JavaEE进阶学习内容: 1.框架的学习:Spring、Spring Boot、Spring MVC、MyBatis 2.大项目实践 3.源码阅读 二、JavaEE简介...小项目实践: 两整数计算机、用户登录、留言板、验证码 3.源码阅读 二、JavaEE简介 2.1JavaEE概念: JavaSE(Java Standard Edition):是Java标准开发适合所有行业...JavaEE(Java Platform Enterprise Edition):是java企业开发、主要面向企业开发。 2.2JavaEE能干什么 java更擅长解决web开发。...Mybatis Linux  在javaEE进阶中,我们会从0到1完成项⽬的开发到部署....学完JavaEE你的收获 1.具备项目开发能力 a.掌握主流的前后端分离开发模式,使用主流的SSM框架实现简单项目或者模块的开发 b.掌握SSM(Spring+SpringMVC+MyBatis)从搭建到发布的全部流程

    48110

    JavaEE完整框架

    JavaEE是一套使用Java进行企业级Web应用开发的大家一致遵循的工业标准。 JavaEE平台提供了一个基于组件的方法来加快设计、开发、装配及部署企业应用程序。...在JavaEE体系中,JNDI用来定位各种对象,包括EJB、数据库驱动、JDBC数据源及消息连接等。...这种两层架构无论从开发、部署、扩展、维护来说,综其只有一个特点——成本高。 三层架构 三层架构自上而下将系统分为表示层、逻辑层、持久层。...基于JavaEE架构模式下的MVC 在这种架构模式下,模型层(Model)定义了数据模型和业务逻辑。...DAO:数据访问层,JDBC调用存储过程,从数据库(DataBase)那里获取到数据,再封装到Model实体类中去。

    2.8K11

    【JavaEE初阶】HTTP协议

    GET和POST是没有本质区别的, 在大部分场景下彼此之间都可以相互进行替代, GET可以实现POST所具有的特性, 同样POST也可以实现GET所具有的特性, 这两个方法细节上的差别如下: 从语义上来说...从习惯用法上说, GET不用有body(请求正文), GET通过query string(查询字符串)来个给服务器传输一些数据; POST有body, POST通过body来传输数据, 并不绝对, 只是使用习惯...关于Cookie的三个问题: Cookie是从哪里来的? Cookie中的数据是来自于服务器.服务器会通过HTTP响应的报头部分(Set-Cookie字段)来决定浏览器的Cookie要存什么....从客户端发来的请求在服务器端被正常处理了。 204 No Content ————请求处理成功,但不给你任何实体信息。在只需要从客户端往服务器发送信息,而对客户端不需要发送新信息内容的情况下使用。...307 ————跟302一样,但是,307 会遵照浏览器标准,不会从 POST 变成 GET。 4XX Client Error 400 Bad Request——你发的信息我理解不了,改下重发。

    73120
    领券