自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

转载 Java并发线程池到底设置多大?

前言在我们日常业务开发过程中,或多或少都会用到并发的功能。那么在用到并发功能的过程中,就肯定会碰到下面这个问题并发线程池到底设置多大呢?通常有点年纪的程序员或许都听说这样一个说法 (其中 N 代表 CPU 的个数)CPU 密集型应用,线程池大小设置为 N + 1IO 密集型应用,线程池大小设置为 2N这个说法到底是不是正确的呢?其实这是极不正确的。那为什么呢?首先我们从反面来...

2019-09-17 17:32:06 396

转载 8分钟5个点让你彻底了解负载均衡

负载均衡负载均衡是高可用架构的一个关键组件,主要用来提高性能和可用性,通过负载均衡将流量分发到多个服务器,同时多服务器能够消除这部分的单点故障。当然负载均衡器本身就是一个单点故障隐患,可以考虑文章后面说的负载均衡双机热备或其他方案消除单点故障提高可用性。一个没有使用负载均衡的Web架构一般会长得像这样:没有负载均衡的架构在这个例子里面,用户直接通过yourdomain.com...

2019-09-16 19:42:06 232

转载 3个点说清楚分库分表扩容问题

前言像我这样的菜鸟,总会有各种疑问,刚开始是对 JDK API 的疑问,对 NIO 的疑问,对 JVM 的疑问,当工作几年后,对服务的可用性,可扩展性也有了新的疑问,什么疑问呢?其实是老生常谈的话题:服务的扩容问题。正常情况下的服务演化之路让我们从最初开始。单体应用 每个创业公司基本都是从类似 SSM 和 SSH 这种架构起来的,没什么好讲的,基本每个程序员都经历过。RPC ...

2019-09-12 19:20:17 235

转载 11个点让你的Spring Boot启动更快

前言使用的是 OpenJDK 11。java--versionopenjdk11.0.12018-10-16OpenJDKRuntimeEnvironment18.9(build11.0.1+13)OpenJDK64-BitServerVM18.9(build11.0.1+13,mixedmode)可以按照下面这样运行基准测试。运行起来可...

2019-09-12 14:11:16 185

转载 3分钟搞清楚进程与线程的区别

前言进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义就是,单个CPU一次...

2019-09-11 15:26:47 87

转载 6张图说清楚Tomcat原理及请求流程

前言很多东西在时序图中体现的已经非常清楚了,没有必要再一步一步的作介绍,本文以图为主,然后对部分内容加以简单解释。绘制图形使用的工具是 PlantUML + Visual Studio Code + PlantUML Extension本文对 Tomcat 的介绍以 Tomcat-9.0.0.M22 为标准。Tomcat-9.0.0.M22 是 Tomcat 目前最新的版本,...

2019-09-10 17:22:58 272

转载 3年Java开发6个点搞定高并发系统面试疑惑

前言其实所谓的高并发,如果你要理解这个问题呢,其实就得从高并发的根源出发,为啥会有高并发?为啥高并发就很牛逼?说的浅显一点,很简单,就是因为刚开始系统都是连接数据库的,但是要知道数据库支撑到每秒并发两三千的时候,基本就快完了。所以才有说,很多公司,刚开始干的时候,技术比较 low,结果业务发展太快,有的时候系统扛不住压力就挂了。当然会挂了,凭什么不挂?你数据库如果瞬间承载每秒...

2019-09-09 17:17:46 105

转载 105道BAT最新Java面试题(MySQL+Redis+nginx+ookeeper+MongoD

MySQL面试题1. 主键 超键 候选键 外键2.数据库事务的四个特性及含义3. 视图的作用,视图可以更改么?4. drop,delete与truncate的区别5. 索引的工作原理及其种类6. 连接的种类7. 数据库范式8. 数据库优化的思路9. 存储过程与触发器的区别Redis面试题1. 使用Redis有哪些好处?2. redis相比memcached有哪些优势?3. r...

2019-09-08 21:12:01 129

转载 9月最新184道阿里、百度、腾讯、头条Java面试题合集

阿里面试题1. 如何实现一个高效的单向链表逆序输出?2. 已知sqrt(2)约等于1.414,要求不用数学库,求sqrt(2)精确到小数点后10位3. 给定一个二叉搜索树(BST),找到树中第 K 小的节点4. LRU缓存机制5. 关于epoll和select的区别,以下哪些说法是正确的6. 从innodb的索引结构分析,为什么索引的 key 长度不能太长7. MySQL的数...

2019-09-06 21:40:37 237

转载 3步轻松搞定Spring Boot缓存

作者:谭朝红前言本次内容主要介绍基于Ehcache 3.0来快速实现Spring Boot应用程序的数据缓存功能。在Spring Boot应用程序中,我们可以通过Spring Caching来快速搞定数据缓存。接下来我们将介绍如何在三步之内搞定 Spring Boot 缓存。1. 创建一个Spring Boot工程你所创建的Spring Boot应用程序的maven依赖文件至...

2019-09-06 19:19:10 192

转载 备战“金九银十”10道String高频面试题解析

前言String 是我们实际开发中使用频率非常高的类,Java 可以通过 String 类来创建和操作字符串,使用频率越高的类,我们就越容易忽视它,因为见的多所以熟悉,因为熟悉所以认为它很简单,其实只是了解到皮毛,并没有真正掌握,而 String 又是面试的高频考点,所以我们有必要将 String 这个类深入研究,彻底搞定,本节课就为大家详细讲解 String 的核心机制以及...

2019-09-05 20:52:58 129

转载 6个常见的高并发缓存问题,你知道几个?

前言一般来说,现在的互联网应用网站或者APP,它的整体流程可以用我们这个图里展示的来表示,用户请求开始,从这个界面是最里面的浏览器和APP,到网络转发,再到应用服务,最后到存储,这纯属可能是数据库文件系统,然后再返回到界面呈现内容。随着互联网的普及,内容信息越来越复杂,用户数和访问量越来越大,我们的应用需要支撑更多的并发量,同时,我们的应用服务器和数据库服务器所做的计算也越来...

2019-09-04 20:36:54 164

转载 ConcurrentHashMap比其他并发集合的安全效率要高一些?

前言我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——为什么它不需要加锁呢?ConcurrentHashMap的简介我想有基础的朋友知道在jdk1.7中是采用Segment + HashEntry + ReentrantLock的方式进行实现的,而1...

2019-09-04 15:37:52 655

转载 3年java开发竟然还不知道Lambda的这个坑

背景有朋友反馈zk连接很慢。整理出zk连接的关键逻辑如下:上面的代码造成第一次调用ClientZkAgent.getInstance的时候,需耗时10s, 这个时间恰好跟semaphore的超时时间相当. 在此期间,整个世界好像停滞了一样。分析在本地重现后,通过jstack获得系统停滞期间的线程栈,发现这个时候zookeeper的EventThread有个比较奇怪的现象:客户...

2019-09-03 21:20:50 427

转载 5分钟搞清楚Synchronized和Lock的概念与区别

前言并发编程中,锁是经常需要用到的,今天我们一起来看下Java中的锁机制:synchronized和lock。Synchronized 和 Lock的概念Synchronized 是Java 并发编程中很重要的关键字,另外一个很重要的是 volatile。Syncronized 的目的是一次只允许一个线程进入由他修饰的代码段,从而允许他们进行自我保护。Synchronized...

2019-09-03 14:03:36 175

转载 3年Java开发都知道的Redis数据结构和通用命令

Redis的数据结构Redis支持多种不同的数据结构,包括5种基础数据结构和几种比较复杂的数据,这些数据结构可以满足不同的应用场景。五种基础数据结构String:字符串,是构建其他数据结构的基础Hash:哈希列表List:列表Set:集合,在哈希列表的基础上实现Sort Set:有序集合复杂的数据结构Bitmaps:位图,在string的基础上进行位操作,可以实现节省空间的数...

2019-08-31 15:08:28 80

转载 8月份21道最新Java面试题剖析(数据库+JVM+微服务+高并发)

前言纵观几年来的Java面试题,你会发现每家都差不多。你仔细观察就会发现,HashMap的出现几率未免也太高了吧!连考察的知识点都一样,什么hash碰撞啊,并发问题啊!再比如JVM,无外乎考内存结构,GC算法等!因此,如果是为了面试,完全是有套路可以准备的!记住,基础再好,也架不住面试官天马行空的问,所以刷面试题还是很有必要的!1、Map 的底层结构?(HashMap)评注:...

2019-08-30 19:18:45 145

转载 35个Java代码优化的细节,你知道几个?

前言代码 优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,...

2019-08-29 21:37:50 116

转载 搞清楚Spring Cloud架构原理的这4个点,轻松应对面试官

前言现在分布式系统基本上都是标配了,如果你现在还在玩儿单机,没有接触过这些东西的话,权当是为你打开一扇新的大门吧。大的单体项目以前我们做单机系统的时候,所有的代码都在一个项目里面,只是不同的模块按照包名来划分的。我们以前做的一个某省的教育项目,有学生信息和就业系统、有高校培训系统、有一个人资系统等一共六个,4个小伙伴都在一个代码里面进行开发,各个系统之间有一定的联系,但是大部...

2019-08-29 17:08:45 98

转载 还不懂MySQL索引?这1次彻底搞懂B+树和B-树

前言看了很多关于索引的博客,讲的大同小异。但是始终没有让我明白关于索引的一些概念,如B-Tree索引,Hash索引,唯一索引….或许有很多人和我一样,没搞清楚概念就开始研究B-Tree,B+Tree等结构,导致在面试的时候答非所问!索引是什么?索引是帮助MySQL高效获取数据的数据结构。索引能干什么?提高数据查询的效率。索引:排好序的快速查找数据结构!索引会影响where后面...

2019-08-28 21:56:57 119

转载 11条MySQL规范,你知道的有几个?

一、数据库命令规范· 所有数据库对象名称必须使用小写字母并用下划线分割· 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)· 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符· 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀· 所有存储相同数据的列名和列类型必须一致...

2019-08-28 17:18:29 163

转载 4个点说清楚Java中synchronized和volatile的区别

作者 : Hollis回顾一下两个关键字:synchronized和volatile1、Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurren包等。2、synchronized通过加锁的方式,使得其在需要原子性、可见性和有序性这三种特性的时候都可以作为其...

2019-08-27 21:43:10 115

转载 还不知道如何实践微服务的Java程序员,这遍文章千万不要错过!

作者:古霜卡比前言本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。本文将以一个网上...

2019-08-27 17:30:21 161

转载 14个Java并发容器,你用过几个?

作者:acupt前言不考虑多线程并发的情况下,容器类一般使用ArrayList、HashMap等线程不安全的类,效率更高。在并发场景下,常会用到ConcurrentHashMap、ArrayBlockingQueue等线程安全的容器类,虽然牺牲了一些效率,但却得到了安全。上面提到的线程安全容器都在java.util.concurrent包下,这个包下并发容器不少,今天全部翻出...

2019-08-26 19:52:37 122

转载 分布式事务解决方案,中间件 Seata 的设计原理详解

作者:张乘辉前言在微服务架构体系下,我们可以按照业务模块分层设计,单独部署,减轻了服务部署压力,也解耦了业务的耦合,避免了应用逐渐变成一个庞然怪物,从而可以轻松扩展,在某些服务出现故障时也不会影响其它服务的正常运行。总之,微服务在业务的高速发展中带给我们越来越多的优势,但是微服务并不是十全十美,因此不能盲目过度滥用,它有很多不足,而且会给系统带来一定的复杂度,其中伴随而来的分...

2019-08-26 17:32:35 117

转载 一篇文章搞明白Integer、new Integer() 和 int 的概念与区别

基本概念的区分1、Integer 是 int 的包装类,int 则是 java 的一种基本数据类型2、Integer 变量必须实例化后才能使用,而int变量不需要3、Integer 实际是对象的引用,当new一个 Integer时,实际上是生成一个指针指向此对象;而 int 则是直接存储数据值4、Integer的默认值是null,int的默认值是0Integer、new In...

2019-08-25 21:27:41 3972

转载 一线大厂面试官最喜欢问的15道Java多线程面试题

前言在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得更多职位,那么你应该准备很多关于多线程的问题。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试者有足够的Java线程与并发方面的知识,因为候选人中有很多只浮于表面。现在引用Java5并发包关于并发工具和并发集合的问题正在增多。那些问题中ThreadLocal、Blocking ...

2019-08-25 17:17:30 64

转载 70道阿里百度高频Java面试题(框架+JVM+多线程+算法+数据库)

基础与框架1.String类能被继承吗,为什么2.String,Stringbuffer,StringBuilder的区别?3.ArrayList和LinkedList有什么区别4.类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,他们的执行顺序5.用过哪些Map,都有什么区别,HashMap是线程安全的吗,并发下使用的Map是什么,他们内部原理...

2019-08-23 19:57:00 318

转载 一遍文章搞清楚VO、DTO、DO、PO的概念、区别

作者:Cat Qi一、概念:VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展...

2019-08-23 15:53:59 232

转载 3年Java开发10面阿里、京东、拼多多

拼多多地点:2号线娄山关路地铁站(金虹桥国际中心)环境:新的写字楼,环境很好,有种高大上的感觉。大厅进入后需要登记,然后进闸机。电梯是需要刷卡才能使用的。会议室都是用城市名称命名,例如杭州、香港等,每个会议室都配了很多纯净水等,感觉不差钱。约的是晚上面试,所以正好碰到员工吃饭时间,感觉就像赶集一样,人特别多,11 11 6的作息时间你懂得。面试流程:前台登记,填写个人信息表,...

2019-08-22 19:50:07 101

转载 4个影响缓存命中率的因素,你知道几个?

一、缓存命中率的介绍命中:可以直接通过缓存获取到需要的数据。不命中:无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作。原因可能是由于缓存中根本不存在,或者缓存已经过期。通常来讲,缓存的命中率越高则表示使用缓存的收益越高,应用的性能越好(响应时间越短、吞吐量越高),抗并发的能力越强。由此可见,在高并发的互联网系统中,缓存的命中率是至关重要的指标。二、如何监...

2019-08-22 14:47:18 1452

转载 3年java开发面试BAT,你必须彻底搞定Maven!

前言现在的Java项目中,Maven随处可见。Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建提供了一整套完善的解决方案,如果你搞不懂Maven,那么一个多模块的项目足以让你头疼,依赖冲突就会让你不知所措,甚至搞不清楚项目是如何运行起来的...回想一下,当你新到一家公司,安装完JDK后就会安装配置Maven,很大可能性你需要修改settings.xml文件,比如你...

2019-08-21 21:43:28 124

转载 HashMap面试必问的6个点,你知道几个?

一、HashMap的实现原理?此题可以组成如下连环炮来问你看过HashMap源码嘛,知道原理嘛?为什么用数组+链表?hash冲突你还知道哪些解决办法?我用LinkedList代替数组结构可以么?既然是可以的,为什么HashMap不用LinkedList,而选用数组?1.你看过HashMap源码嘛,知道原理嘛?针对这个问题,嗯,当然是必须看过HashMap源码。至于原理,下面那...

2019-08-21 19:55:07 75

转载 6种微服务RPC框架,你知道几个?

开源 RPC 框架有哪些呢?一类是跟某种特定语言平台绑定的,另一类是与语言无关即跨语言平台的。跟语言平台绑定的开源 RPC 框架主要有下面几种。Dubbo:国内最早开源的 RPC 框架,由阿里巴巴公司开发并于 2011 年末对外开源,仅支持 Java 语言。Motan:微博内部使用的 RPC 框架,于 2016 年对外开源,仅支持 Java 语言。Tars:腾讯内部使用的 R...

2019-08-20 21:50:47 265

转载 12个超好用的IntelliJ IDEA 插件!你用过几个?

一、前言IntelliJ IDEA如果说IntelliJ IDEA是一款现代化智能开发工具的话,Eclipse则称得上是石器时代的东西了。其实笔者也是一枚从Eclipse转IDEA的探索者,随着近期的不断开发实践和调试,逐步体会到这款智能IDE带来的巨大开发便利,在强大的插件功能支持下,诸如对Git和Maven的支持简直让人停不下来,各种代码提示,包括JS更是手到擒来,最终不...

2019-08-20 17:25:22 673

转载 3个Spring Boot核心注解,你知道几个?

Spring Boot 核心注解讲解Spring Boot 最大的特点是无需 XML 配置文件,能自动扫描包路径装载并注入对象,并能做到根据 classpath 下的 jar 包自动配置。所以 Spring Boot 最核心的 3 个注解就是:1、@Configurationorg.springframework.context.annotation.Configuratio...

2019-08-19 19:57:38 315

转载 16个Spring注解,你知道的有几个?

@Controller标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象.@RestControllerbr/>Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格...

2019-08-18 20:07:09 125

转载 一次性集中处理大量数据的定时任务,如何缩短执行时间?

作者:58沈剑问题抽象:(1)用户会员系统;(2)用户会有分数流水,每个月要做一次分数统计,对不同分数等级的会员做不同业务处理;数据假设:(1)假设用户在100w级别;(2)假设用户日均1条流水,也就是说日增流水数据量在100W级别,月新增流水在3kW级别,3个月流水数据量在亿级别;常见解决方案:用一个定时任务,每个月的第一天计算一次。//(1)查询出所有用户uids[] = select...

2019-08-16 19:59:38 3042

转载 5种JVM垃圾收集器特点和8种JVM内存溢出原因

先来看看5种JVM垃圾收集器特点一、常见垃圾收集器现在常见的垃圾收集器有如下几种:新生代收集器:SerialParNewParallel Scavenge老年代收集器:Serial OldCMSParallel Old堆内存垃圾收集器:G1每种垃圾收集器之间有连线,表示他们可以搭配使用。二、新生代垃圾收集器(1)Serial 收集器Serial 是一款用于新生代的单线程收集器,采用复制算法...

2019-08-16 15:19:43 112

转载 双重检查锁单例模式为什么要用volatile关键字?

前言从Java内存模型出发,结合并发编程中的原子性、可见性、有序性三个角度分析volatile所起的作用,并从汇编角度大致说了volatile的原理,说明了该关键字的应用场景;在这补充一点,分析下volatile是怎么在单例模式中避免双检锁出现的问题的。并发编程的3个条件1、原子性:要实现原子性方式较多,可用synchronized、lock加锁,AtomicInteger等,但volati...

2019-08-15 19:25:10 283

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除