【分享一套前后端管理平台一站式脚手架】Spring Coud+JWT Token+前后端分离+K8s部署
项目介绍本项目基于Spring Cloud 和Ant Design Pro实现前后端管理平台一站式脚手架,便于快速开发企业级应用。我们的愿景是 基于Copy&Paste技术,实现面向Google&Baidu编程,让码农搬砖不累,做更好的良民。 项目实现: admin-service基于Spring Cloud Hoxton.RELEASE(Spring boot 2.2.2
五分钟看穿Java并发相关概念,并发原来如此简单
本文主要对Java并发(Concurrent)相关的概念进行说明。 1.进程(Process)与线程(Thread) 进程是系统资源分配的最小单元。线程是CPU调度的最小单元。一个 进程至少包含一个线程,可以包含多个线程。这些线程共享这个进程的资源。每个线程都拥有独立的运行栈和程序计数器,线程切换开销小。多进程指的是操作系统同时运行多个程序,如当前操作系统中同时运行着QQ、IE、微信等程序。多
吃透了这些八大MySQL知识点,面试官一定觉得你很NB(建议珍藏)
MySQL是众多数据库排行榜单的第一名,这个开发者和一线互联网企业都在用的开源数据库,你了解多少?
我凭借这份pdf拿下了蚂蚁金服、字节跳动、小米等大厂的offer
我凭借这份pdf拿下了蚂蚁金服、字节跳动、小米等大厂的offer关于程序员,除了做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书!小编整理出一篇Java进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Jav
面试官问:请介绍一下MySQL数据库的锁机制?
推荐阅读: 吊打面试官!MySQL灵魂100问,你能答出多少?2019年中总结,400道一线大厂高频精选面试题合集(JVM+Spring+RabbitMQ+Mybatis+Redis+分布式+微服务)整理完今年的阿里、腾讯、网易等公司的面试后,我有一个重大的发现 为什么要加锁问题背景 当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就
MySQL 数值类型溢出处理
推荐阅读:吊打面试官!MySQL灵魂100问,你能答出多少? 来,考考大家一个问题,在 MySQL 中当某一列设置为 int(0) 时会发生什么 ? 为了演示这个问题,我们先要创建一个表 DROP TABLE IF EXISTS `na`; CREATE TABLE `na` ( n1 INT(0) NOT NULL DEFAULT '0', n2 INT(11)
Mysql核心技术:用NOSql给高并发系统加速
推荐阅读:吊打面试官!MySQL灵魂100问,你能答出多少?随着互联网大潮的到来,越来越多网站,应用系统需要海量数据的支撑,高并发、低延迟、高可用、高扩展等要求在传统的关系型数据库中已经得不到满足,或者说关系型数据库应对这些需求已经显得力不从心了。关系型数据库经过几十年的发展已经很成熟,强大的sql语句支持,完美的ACID属性的支持,使得关系型数据库广泛应用于各种各样的应用系统中,但是应用的场景广
惊!史上最全的select加锁分析(Mysql)
推荐阅读:吊打面试官!MySQL灵魂100问,你能答出多少?引言大家在面试中有没遇到面试官问你下面六句Sql的区别呢 select * from table where id = ? select * from table where id < ? select * from table where id = ? lock in share mode select * from ta
一文搞懂MySQL的Join,聊一聊秒杀架构设计
推荐阅读:吊打面试官!MySQL灵魂100问,你能答出多少? 正文MySQL的Join到底能不能用经常听到2种观点: join性能低,尽量少用多表join时,变为多个SQL进行多次查询 其实对于上面的观点一定程度上是正确的,但不是完全正确。但之所以流传这么广,主要还是没有搞清楚实际状态,而根据实际使用中总结出来的一些模糊规律。只有了解的MySQL的Join实际执行方式,就会知道上
【MySQL】数据库事务深入分析
推荐阅读:吊打面试官!MySQL灵魂100问,你能答出多少? 一、前言只有InnoDB引擎支持事务,下边的内容均以InnoDB引擎为默认条件 二、常见的并发问题1、脏读一个事务读取了另一个事务未提交的数据 2、不可重复读一个事务对同一数据的读取结果前后不一致。两次读取中间被其他事务修改了 3、幻读幻读是指事务读取某个范围的数据时,因为其他事务的操作导致前后两次读取的结果不一致。幻读
数据库有百万数据量的情况下,分页查询的方法及其优化方式
推荐阅读:吊打面试官!MySQL灵魂100问,你能答出多少? 当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。 下面简单说一下我知道的一些方法。 准备工作为了对下面列举的一些优化进行测试,下面针对已有的一张表进行说明。 表名:order_history
吊打面试官!MySQL灵魂100问,你能答出多少?
推荐阅读: 面试机会不等人,资料看精不看多!史上最全Java技术资料合集!2019年中总结,400道一线大厂高频精选面试题合集(JVM+Spring+RabbitMQ+Mybatis+Redis+分布式+微服务)整理完今年的阿里、腾讯、网易等公司的面试后,我有一个重大的发现 前言本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水.
项目中遇到的Redis缓存问题及面试问题总结
1.Redis服务器 can not get resource from pool.1000个线程并发还能跑,5000个线程的时候出现这种问题,查后台debug日志,发现redis 线程池不够。刚开始设置的是: # redis 配置文件 #redis redis.host=127.0.0.1 redis.port=6379 redis.timeout=300 等待时间 1
互联网大厂面试高频:为什么使用Redis?使用Redis有什么缺点?
1、为什么使用redis分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从性能和并发两个角度去答。回答:如下所示,分为两点(一)性能如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的SQ
面试官:Redis有几种数据类型,详细说一下每种数据类型的使用场景
分析是不是觉得这个问题很基础,其实我也这么觉得。然而根据面试经验发现,至少百分八十的人答不上这个问题。建议,在项目中用到后,再类比记忆,体会更深,不要硬记。基本上,一个合格的程序员,五种类型都会用到。回答一共五种(一)String这个其实没啥好说的,最常规的set/get操作,value可以是String也可以是数字。一般做一些复杂的计数功能的缓存。(二)list使用List的数据结构,可以做简单
浅谈分布式计算的开发与实现(二)
实时计算接上篇,离线计算是对已经入库的数据进行计算,在查询时对批量数据进行检索、磁盘读取展示。 而实时计算是在数据产生时就对其进行计算,然后实时展示结果,一般是秒级。 举个例子来说,如果有个大型网站,要实时统计用户的搜索内容,这样就能计算出热点新闻及突发事件了。 按照以前离线计算的做法是不能满足的,需要使用到实时计算。小明作为有理想、有追求的程序员开始设计其解决方案了,主要分三部分。每当搜索内容的
浅谈分布式计算的开发与实现(一)
介绍分布式计算简单来说,是把一个大计算任务拆分成多个小计算任务分布到若干台机器上去计算,然后再进行结果汇总。 目的在于分析计算海量的数据,从雷达监测的海量历史信号中分析异常信号(外星文明),淘宝双十一实时计算各地区的消费习惯等。海量计算最开始的方案是提高单机计算性能,如大型机,后来由于数据的爆发式增长、单机性能却跟不上,才有分布式计算这种妥协方案。 因为计算一旦拆分,问题会变得非常复杂,像一致性、
一个多线程死锁案例,如何避免及解决死锁问题?
多线程死锁在java程序员笔试的时候时有遇见,死锁概念在之前的文章有介绍,大家应该也都明白它的概念,不清楚的去翻看历史文章吧。下面是一个多线程死锁的例子输出thread1 get lock1 thread2 get lock2两个线程相互得到锁1,锁2,然后线程1等待线程2释放锁2,线程2等待线程1释放锁1,两者各不相互,这样形成死锁。那么如何避免和解
每个学习多线程的Java程序员都必须掌握的volatile关键字解析
volatile基本介绍volatile可以看成是synchronized的一种轻量级的实现,但volatile并不能完全代替synchronized,volatile有synchronized可见性的特性,但没有synchronized原子性的特性。可见性即用volatile关键字修饰的成员变量表明该变量不存在工作线程的副本,线程每次直接都从主内存中读取,每次读取的都是最新的值,这也就保证了变量
深入理解CAS算法原理
1、什么是CAS?CAS:Compare and Swap,即比较再交换。jdk5增加了并发包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于synchronouse同步锁的一种乐观锁。JDK 5之前Java语言是靠synchronized关键字保证同步的,这是一种独占锁,也是是悲观锁。2、CAS算法理解对CAS的理解,CAS是一种无锁算法,CAS有3个操作数,内