杨某,女,1986年出生于河北省邯郸市,汉族,专科文化,原万合集团邯郸客运总站售票系统计算机编程工作人员。 杨某2012年至2020年8月一直负责万合集团邯郸客运总站的网上及自助售票系统的开发维护工作,后因薪酬等问题离职,随心生不满。 2020年10月16日17时许,杨某利用自己的苹果笔记本电脑远程进入了万合集团邯郸客运总站的网上自助售票系统的接口地址,在输入了drop saleticket、drop printtotal、drop depot等命令后,删除了售票员表、网络售票表、结算单表、售票数据表、手
杨某,女,1986年出生于河北省邯郸市,汉族,专科文化,原万合集团邯郸客运总站售票系统计算机编程工作人员。
杨某原万合集团邯郸客运总站售票系统计算机编程工作人员,女,汉族,专科学历,2012年至2020年8月一直负责万合集团邯郸客运总站的网上及自助售票系统的开发维护工作,后因薪酬等问题离职,随心生不满。
民航售票是一个高度依赖信息业的行业。但在机票销售的管理和规范这方面上存在着很多各种各样的问题。例如订票是客运行业中的一个最基本的业务,表面上看,它只是机票站业务的一个简单的部分,但是它涉及到管理与客户服务等多方面,关系到民航公司能否正常运作。
java基础对于学习安卓是很重要的,比如说线程,多线程。我们做安卓开发可能不太需要去研究高并发这些高深的问题,但是基础的知识要掌握,特别是要理解为什么会这样?以及它的使用场景。本篇文章主要是结合常规面试题去讲解基础。现在来看看一些非常基础的面试题。
在当今快速发展的数字化时代,高性能的售票系统对于满足日益增长的用户需求至关重要。本文将围绕“新版Spring Boot 3+微服务实战12306高性能售票系统23章”这一主题,探讨如何运用Spring Boot 3和微服务架构来构建这样一个系统。
PPV课大数据 按照今年新的火车票预售办法,21日是互联网售卖除夕当天(2月18日)火车票的日子。一大早,记者就在网络上、电话里看到、听到许多人说:“怎么刚卖就没了?!”到底网上春运票卖得有多火?那就
设计并发编程的目的是为了使程序获得更高的执行效率,但绝不能出现数据一致性问题。比如多个渠道共同出售电影票,如果没有进行安全控制,就会出现座位被超卖的情况。我们不可能让多个人坐在同一个座位上。
2020 年 2 月 23 日,微盟一员工在家通过 VPN 登录将公司数据库删除,平台用户造成了巨大的经济损失。导致微盟支付恢复数据服务费、商户赔付费及员工加班报酬等经济损失共计人民币 2260 余万元。
铁道部的12306网上购票系统着实“火”了一把,在中国境内可谓是无人不知无人不晓,曾有人在网上戏称12306为“史上最牛电商”。12306购票系统的初衷是系统通过在线购票方式以免除半夜早起,在瑟瑟寒风中排队挨冻购票的痛苦,然而种种技术短板使得12306根本无法面对“春运”期间的瞬间海量高并发,一度出现用户无法登陆、访问速度过慢以及频繁报错等现象,引起怨声一片。
同步与锁 上一篇中,笔者介绍了Java多线程的基础知识,主要讲解了进程/线程的区别、Java多线程的创建、Java多线程的使用,以及Java多线程的生命周期。 对于多线程,笔者想强调一点的是,多线程的使用并不是为了提高程序的运行速度,而是为了提高程序的运行效率,让CPU的使用率更高,让资源得到更合理的安排。 如果你对上述的知识点,还不了解,那笔者建议还是先从多线程--基础入手,再来学习本篇文章。 今天,我们来继续学习Java多线程的内容---同步与锁。 线程安全 多线程的使用,让CPU得到了更充分的释放,让
央广网北京12月27日消息(记者赵珂)据经济之声《天下公司》报道,2018年的春节已经离我们不远了。有消费者反映,自己希望能抢到一张回家的低价机票,但却在网上看到有报道说:航空公司放出的低价机票,80%以上都被票务公司的“爬虫”抢走,普通用户很少能买到。 “爬虫”到底是什么?它又是怎么抢机票的呢?据技术专家解释,通俗来说,“爬虫”又称网页“蜘蛛”、网络机器人,是一段用来批量、自动化采集网站数据的程序。这种信息采集过程很像一个爬虫或蜘蛛在网络上漫游,网络‘爬虫’或网页‘蜘蛛’因此得名。 “爬虫”最早应用在
一共100张票,每个售票窗口卖票的数量大致相同(20)张卖票时给与编号,每张票唯一。
和往常一样,她在看到一本技术书时,阅读速度骤降下来,我知道她又要对我进行灵魂拷问了。
最近这几天一直在整理Java相关的面试题,“金九银十”是求职的最佳时间,但是现在的“银十”也已经过去了一半的时间,相信现在还在为面试四处奔波的小伙伴已经很疲惫了吧,下面就来减轻你负担,Java线程和线程池相关的面试题整理给大家,减轻你准备面试的负担。
完成操作系统作业Java模拟多线程卖票 /** * @Author: crush * @Date: 2021-05-12 16:24 * version 1.0 */ public class SellTicketTask implements Runnable { /** * 一百张票 */ private int ticketCount = 100; @Override public void run() { while (t
此前,国家发改委、交通部等部门预测,2017年全国春运旅客发送量将达到29.78亿人次,比上年增长2.2%。其中,铁路发送旅客量将创历史新高,达到3.56亿人次,同比增长9.7%,较2002年激增近200%。此外,再加上春运提前、预售期缩短以及可能出现的拉尼娜天气等因素,也就不难怪今年是“史上最难抢票年”了。这一切都在提醒人们抢票要赶早,尤其是北上广等热门城市,往往开售还没一分钟,车票就已所剩不多了。 对此,为了改善春运压力,12306找上了阿里云,并免去了购票验证图的关卡,在措施施行后,12306的后台较
不到两个月,2018年春节要来了。 “今年我得早下手,抢张回家的低价机票。”在北京打工的小王对科技日报记者说,由于老家在云南,春节机票太贵,他都选择坐两天两夜的火车回去,长途跋涉,苦不堪言。 然而,就在小王摩拳擦掌,准备使出“洪荒之力”抢张便宜机票时,看到网上曝出这样一则消息:航空公司放出的低价机票,80%以上被票务公司的“爬虫”抢走,普通用户很少能买到。 小王傻眼了,“爬虫”究竟是什么鬼?它又是怎么抢机票的?难道就没有办法治理吗? 借助超链接信息抓取网页 “‘爬虫’技术是实现网页信息采集的关键技术之一,通
JDK1.5之前才使用上述两种方式借助于:synchronized 隐式锁。之后出现一个新的显示同步锁
自从上次写了一篇“【面试】我是如何面试别人List相关知识的,深度有点长文”的文章后,有读者专门加我微信,说我是“中国最好面试官”,这个我可受不起呀。 我只是希望把面试当作是一次交流,像朋友那样,而不是像一场Q & A。但也有人觉得,我对应聘者“太好了”,这完全没必要,反正最后他也不会来。 好吧,那这次我就“使点坏”,“套路”一下面试者。
与这个面试者聊了一会儿,咦,发现他水平还可以,我内心有点儿喜出望外,终于遇到一个“合格”的“陪聊者”了,我要用Spring事务“好好套路”他一下。 我:你在开发中,一般都把事务加到哪一层? 他:都加到Service层。 我:现在基本都是基于注解的配置了,那和事务相关的注解是哪个? 他:我不太会读那个单词,就是以@T开头的那个。 我:我明白你的意思,就是@Transactional。 他:是的。 我:与自己写代码来开启和提交事务相比,(先给他来个小的套路),这种通过注解来使用事务的方式叫什么? 他:(犹豫了两、三秒),不知道。 我:如果把写代码那种叫编程式事务,那与之相对的应该是什么式事务? 他:哦,声明式事务。 我:(先铺垫),不加注解,没有事务,加上注解,就有事务,可见事务和注解有莫大的关系。(开始套路),那加上注解后,到底发生了什么变化呢,就有了事务? 他:(犹豫了几秒钟),不知道。 我:(哈哈,意料之中),那我换一问法,Spring声明式事务的底层是怎么实现的? 他:是通过代理实现的。 我:(铺垫),代理这个词不仅计算机里有,现实生活中也经常见到代理,比如招华北地区总代理等等。(套路),那你能不能在生活中举一个代理的例子? 他:(想了一会儿),我没有想到什么好例子。 我:(开始聊会天),我看你老家离这还挺远的,你一般都什么时候回去啊? 他:一般都国庆节或春节会回去。其它时间假期短就不回去了。 我:(引子),国庆节和春节,人都很多啊,票不好买吧? 他:是啊,都在网上抢高铁票,不停地刷。 我:(引子),现在有了高铁,出行确实方便了很多。那你知道以前没有高铁、没有12306的时候,人们都是怎么买票的吗? 他:我虽然没有经历过,但是我知道。那时候春运,都在火车站售票大厅买票,人们排很长的队,有时需要等半天,还不一定有票。 我:(切入正题),除了火车站售票大厅外,你有没有见过在城市里分布的一些火车票代售点? 他:现在偶尔还能见到几个,但都已经关门了。 我:是啊,现在都网上买票了,代售点算是被历史抛弃了。(开始套路),那你觉得代售点算不算火车站售票大厅的代理呢? 他:火车站售票大厅可以买票,代售点也可以买票,应该算是代理吧。 我:从广义讲算是代理。但有两点需要注意: 一是,代售点卖的也是售票大厅的票,它自己是没有票的,它只是行使售票大厅的权利。 二是,它可以有属于自己的行为特征,比如不需要排队啊,每张硬座票收5元手续费啊等等。 我们平时听到的中间商/代理商,其实都差不多是一回事儿。 他:经你这么一说,我明白了。 我:那我们再说回到Spring中的代理,在Spring中生成代理的方式有几种? 他:两种,JDK动态代理和CGLIB。 我:那它们分别用于什么情况下? 他:JDK动态代理只能用于带接口的,CGLIB则带不带接口都行。 我:(铺垫),假如有个接口,它包含两个方法a和b,然后有一个类实现了该接口。在该实现类里在a上标上事务注解、b上不标,此时事务是怎样的? 他:a标注解了,肯定有事务,b没有注解,所以没有事务。 我:嗯,是这样的。(开始套路),现在来做个简单的修改,在方法b里调用方法a,其它保持不变,此时再调用方法b,会有事务吗? 他:应该有吧,虽然b没有注解,但a有啊。 我:(我需要带带他),假设现在你和我都不知道有没有事务,那我们来分析分析,看能不能找出答案。你有分析思路吗? 他:没有。 我:行吧,那我们开始。这是一个带接口的,那就假定使用JDK动态代理吧。从宏观上看,就是Spring使用JDK动态代理为这个类生成了一个代理,并为标有注解的方法添加了和事务相关的代码,所以就具有了事务。那你知道这个代理大概会是什么样子的吗? 他:这个不知道。 我:通过代售点的例子我们应该知道,所有的代理都具有以下特点: 代理是一个空壳,它背后才是真正的老板。 代理可以行使老板的权力,所以它看起来“很像”老板,除非仔细查看,否则不易区分。 代理自己可以按需加进去一些行为特征,除非仔细查看,否则老板都不一定知道这些。 那我们回到程序世界,使用接口和类再套一下上面的特点: 代理类是一个空壳(或外观),它背后才是真正的类,通常称为目标类。由此得出代理类要包含目标类。 对目标类和代理类的使用方式是一样的,甚至你都不知道它是代理类。由此得出代理类和目标类的类型要兼容,对外接口一致。所以目标类实现的接口,代理类也要实现。 代理类在把执行流程代理给目标类的过程中,可以添加一些行为代码,如开启事务、提交事务等。 他:经你这么一分析啊,我知道该怎么写代码了,应该是这样的,请仔细看下代码,虽然很简单:
多线程 多线程(multiple thread)是计算机实现多任务并行处理的一种方式。 在单线程情况下,计算机中存在一个控制权,并按照顺序依次执行指令。单线程好像是一个只有一个队长指挥的小队,整个小队
本基于SpringSSM的体育赛事售票系统,系统主要采用java,springMVC,mybatis,mysql数据库,JSP页面开发技术,MD5,RES加密算法,系统前端界面主要采用echarts,vue,html,css,javascript等技术实现,主要通过前后端开发技术整合,搭建线上可用的体育赛事门票在线销售系统。
虫子在程序员心中是啥东西?虫子的学名为 Bug,是多少入了猿门的程序员,心中不愿提及的痛。消灭虫子的技能为 Debug,这项技能我敢保证:无论你是小白、大牛还是骨灰级的程序员,多多少少都需要进行修炼。
在开发和建设网站的过程中,离不开申请域名的环节,申请域名需要缴纳费用,这个费用会受到域名类型、使用期限以及市场行情等因素的影响。域名是指什么?域名到期了应当怎样做?
正确的使用场景,基本符合一个原则: 一写多读:有一个数据,只由一个线程更新,其他线程都来读取。
我们在前面两篇文章中分别看了一下 Java 线程的一些概念、用法和对于线程控制(开始、暂停、停止)等,并对其中的一些易错点进行了总结,如果你是对这些概念还是还不是太熟悉,建议先看一下前面的文章:Java 多线程(1)— 初识线程 和 Java 多线程(2) — 线程的控制。这篇文章我们来继续讨论 Java 多线程 — 线程的同步。
是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。
本基于协同过滤的电影票务销售系统,系统主要采用java,spring,springmvc,mybatis,mysql数据库,JSP页面开发技术,系统前端界面主要采用echarts,vue,html,css,javascript等技术实现,主要通过JavaWeb技术实现针对互联网电影在线购票业务实现整合,搭建线上可用的电影票务销售系统。
文/张孝荣 曾文婉 ▌ 引子:5年以后 在2020年的某一天,阿尔法同学需要从中关村到香格里拉来一次说走就走的出差。惭愧的是,刚工作还没多久的他,从来没去过那么远的地方,该怎么制定自己的行程呢? 阿尔法对手机说,我要从中关村去香格里拉,请给我推荐路线。手机弹出一个窗口,伴随着语音答复:您可选择如下最佳路线A,这条路线不仅仅有火车、飞机,还有正规的旅游汽车、当地出租,价格XXX,可以入住当地XX酒店。现在支付定金,还可以享受特殊优惠! 阿尔法一看,费用在公司预算内,心花怒放,就它了。
随着互联网和智能技术的进步,在车站、景区、大型活动等与售票相关的场景,可以看到自助售票应用,有一些会采用到人脸识别技术。那么,在售票场景,人脸识别有哪些应用和作用?
Java多线程是Java开发中的基础内容,但是涉及到高并发就有很深的研究可做了。 最近看了下《Java并发实战》,发先有些地方,虽然可以理解,但是自己在应用中很难下手。 所以还是先回顾一下基础知
建模是多年来在软件开发中开展的一项活动。在使用最简单的语言编写应用程序到最强大和最复杂的语言时,您仍然需要建模。建模可以像绘制列出应用程序执行的步骤的流程图一样简单。为什么我们使用建模?定义模型可以更容易地将复杂的应用程序或庞大的系统分解为可以单独研究的简单,离散的部分。我们可以更容易地关注系统的较小部分,然后理解“大局”。因此,建模背后的原因可以概括为两个词:
经过前面多线程编程的学习,我们遇到了线程安全的相关问题,比如多线程售票情景下的超卖/重卖现象. 上节笔记点这里-进程与线程笔记
大家好,我是小义。2024年除夕才能放假,相信这几天很多人都在抢回家的票,网上很多的抢票软件其实最后都是走的12306,没有其他便捷途径,只不过是可以预约自动抢票。可能很多人认为12306软件只不过是一个卖车票的简单平台,不需要很高的技术含量,但其实说它是全国最庞大且最繁杂的系统也不为过。12306的业务复杂度远远比淘宝京东这种电商网站要复杂得多。
在大型复杂的应用中,业务模块之间总是相互关联,相互纠缠。无论对业务管理或软件开发方面都会造成困惑:从业务管理方面难以厘清确切的管理范围和职责:就是说不知一项业务具体谁来管。在软件开发方面则无法确定开发人员的具体分工和维护责任,即确定一项业务功能具体靠谁来修改、优化。拿一个普通的网上购物过程来说,除商品拣选过程外的优惠价选定、库存扣减、支付又会涉及商品定价管理、库存管理、财务管理等独立的业务模块。如果纯从软件开发角度来描述:负责开发购物流程的开发人员还需要兼顾优惠价计算、库存扣减、支付等业务操作。因为商品定价、库存管理、财务管理等都有可能是其它人负责开发的业务模块。一件商品拣选有可能造成该商品的定价调整、库存变动可能驱动采购、配货等业务的发生、支付也会是一些财务操作的启动原因。购物流程开发人员应该是不容许直接去实现这些业务操作的。为了解决这些矛盾,必须先实现业务模块的松散耦合。听起来有点像CQRS,不过是更广义的domainRS业务模块分离。在接触kafka之前,我们一般用soa模式由负责一块业务功能开发的程序员提供一套完整的对外业务操作api,就可以实现程序员各自独立工作,各管自己的一亩二分地。不过,完成的系统经常会出现内部处理业务速度跟不上外部api调用频率的情况,轻者拖滞api调用线程,重则造成业务处理异常。这个时候kafka应该能在解决方案里发挥特殊作用:如果我们把kafka引入到业务模块集成,业务模块之间通过消息/事件队列event-queue进行沟通就可以实现更高程度的、更高效率的、交易事务类型的业务集成了。
在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。
代理模式 1.生活中: 代理就是一个人或者一个组织代表其他人去做一件事的现实生活中的。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作
7.Lock 同步锁 Lock( 锁 ) 从 JDK 5.0开始,Java提供了更强大的线程同步机制——通过显式定义同步锁对象来实现同步。同步锁使用Lock对象充当。 java.util.concurrent.locks.Lock接口 是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独占访问,每次只能有一个线程对 Lock 对象加锁,线程开始访问共享资源之前应先获得Lock对象。 ReentrantLock 类 是实现了 Lock 接口的一个实现类 ,它拥有与 synchronized 相同的并
12306自从开始身份核验后,引起很多争议,而且新的政策出来后总要去研究解读,导致很多人不知如何去做。相信很多人会问“12306注册之后,账号激活了,但是身份有待核验,请问这个需要多长时间呢”?然后很多人说7天15天什么的,其实可以看到12306中的《铁路互联网购票身份核验须知》里根本没有提到时间期限,但有一个要求的行为,可能很多人没去做,这就是——“待核验”:指注册用户、常用联系人(乘车人)的身份信息未经核验,需持二代居民身份证原件到车站售票窗口或铁路客票代售点办理核验。
主线程挂了但是子线程还在继续执行,这并不会导致应用程序的结束。说明: 当main线程启动一个子线程 Thread-0, 主线程不会阻塞, 会继续执行(不会等执行完毕后再往下执行),这时 主线程和子线程是交替执行。
生活中:代理就是一个人或者一个组织代表其他人去做一件事的现实生活中的。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 官方:代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用
单例模式:是一种常用的软件设计模式,在它的核心结构中值包含一个被称为单例的特殊类。一个类只有一个实例,即一个类只有一个对象实例。
在年前的「技术揭秘12306改造」专题中,一位对12306改造非常关注的技术架构师,他从技术的角度,用科学论证的方式说明12306是如何实现高流量高并发的关键技术。(http://www.csdn.net/article/2015-02-10/2823900)今天,他继续为大家带来第二章:解析12306两地三中心混合云架构。 前言 2015年春节最大的特色就是“摇一摇”,微信红包在春晚摇一摇互动总量超过110亿次,峰值达8.1亿次/分钟,有185个国家传递微信祝福。支付宝钱包在除夕晚上8点达峰值,首页被点
代理描述 1.生活中: 代理就是一个人或者一个组织代表其他人去做一件事的现实生活中的。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间
12306给自己打90分你同意吗?大数据风控降低抢票软件成功率
CSDN看到一个小伙伴问了这样JAVA并发的问题,然后我做了解答,主要使用了volatile
领取专属 10元无门槛券
手把手带您无忧上云