• 等级
  • 16641 访问
  • 134 原创
  • 1 转发
  • 48205 排名
  • 6 评论
  • 11 获赞

Java虚拟机内存分配与回收策略

内存分配与回收策略MinorGC和FullGC MinorGC:发生在新生代上,因为新生代对象存活时间很短,因此MinorGC会频繁执行,执行的速度一般也会比较快。 FullGC:又称MajorGC,发生在老年代上,老年代对象其存活时间长,因此FullGC很少执行,执行速度会比MinorGC慢很多。 内存分配策略堆内存:分...

2019-05-13 16:02:12

面试题:给我说一下你项目中的单点登录是如何实现的?

一、单系统登录机制1、http无状态协议web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系。但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必...

2019-05-07 16:20:33

使用MQ消息队列的优缺点

1、前言公司的项目一直都是在使用MQ的,但是由于使用的功能很简单,所以一直都是知其然不知其所以然,作为一个程序猿有必要了解每一个使用的技术,为什么使用它?它的优点是什么?缺点是什么?等等。。。2.0使用mq的好处2.1解耦与复用系统A要发送一个消息到多个系统,如果此时每增加一个系统,系统A都需要通过修改源码来增加接口,此时耦合非常高,但是如果中间使用消息队列的话,系统只需要发送一次...

2019-05-07 15:44:19

redis做分布式锁可能不那么简单

一、为什么需要分布式锁随着互联网的兴起,现代软件发生了翻天覆地的变化,以前单机的程序,已经支撑不了现代的业务。无论是在抗压,还是在高可用等方面都需要多台计算机协同工作来解决问题。现代的互联网系统都是分布式部署的,分布式部署确实能带来性能和效率上的提升,但为此,我们就需要多解决一个分布式环境下,数据一致性的问题。当某个资源在多系统之间共享的时候,为了保证大家访问这个资源数据是一...

2019-05-05 20:41:45

开发十年,阿里工作6年,我是如何成长为一名优秀的P7架构师

身为一个做了十年开发的老司机程序员,这十年中我获得了项目经理、CTO、大公司架构师的经历。但再仔细一想,这十年中我至少浪费了五年时间走了很多弯路,这五年可以足够让自己成长为一个优秀的程序员,只可惜我在前五年的时间里和很多程序员一样在困惑中找不到出路!这不仅是一个刚刚踏入职场的初级程序员,也是工作三五年之后开始迷茫的老程序员,都必须要面对和想明白的问题,希望以下的经历会对你有帮助。第一阶段1...

2019-04-01 17:34:35

福利来了,现“免费”赠送Spring微服务实战书籍

本书适合拥有构建分布式应用程序的经验、拥有Spring的知识背景以及对学习构建基于微服务的应用程序感兴趣的Java开发人员阅读。本书籍赠送活动详情,请识别上图二维码☝☝☝☝☝ 书籍推荐本书教读者如何使用Java和Spring平台构建基于微服务的应用程序。在构建和部署dy个SpringCloud应用程序时,读者将学习如何进行微服务设计。在本书中,精心挑选的真实案例展示了基于...

2019-02-24 14:05:23

来自一个十年 Java开发者百度、阿里、腾讯的面试心经

前言我觉得有一个能够找一份大厂的offer的想法,这是很正常的,这并不是我们的饭后谈资而是每个技术人的追求。像阿里、腾讯、美团、字节跳动、京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司/小公司,如果说能够在这样的公司锻炼几年,相信对自己能力的提升还是非常大的。不论是校招还是社招都避免不了各种面试、笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的。因...

2019-02-16 16:34:08

BATJ面试必备指南

Java并发编程面试题汇总线程线程是一个独立执行的调用序列,同一个进程的线程在同一时刻共享一些系统资源(比如文件句柄等)也能访问同一个进程所创建的对象资源(内存资源)。java.lang.Thread对象负责统计和控制这种行为。每个程序都至少拥有一个线程-即作为Java虚拟机(JVM)启动参数运行在主类main方法的线程。在Java虚拟机初始化过程中也可能启动其他的后台线程。这种线程的...

2019-02-15 15:58:14

你真的懂redis的数据结构了吗?

Redis有哪些数据结构?字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。很多人面试时都遇到过这种场景吧?其实除了上面的几种常见数据结构,还需要加上数据结构HyperLogLog、Geo。可是很多人不知道redis不仅有上面的几种数据结构,还内藏了内部的数据结构。即redis可以分为外部数据结构和内部数据结构。1.如何查看redis的...

2019-02-14 17:17:03

2019年最新Java面试真题,通往BATJ的必经之路!

前言跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽。切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来,期间也没有准备充分,到底是因为技术原因,影响自己的发展,偏移自己规划的轨迹,还是钱给少了,不受重视。准备不充分的面试,完全是浪费时间,更是对自己的不负责。今天给大家分享下整理的Java面试大纲,其中大部分都是面试过程中的面试题,可以对照这查漏补缺,当然了,这里所列...

2019-02-13 21:40:50

一文带你认识Spring事务

Spring事务管理我相信大家都用得很多,但可能仅仅局限于一个@Transactional注解或者在XML中配置事务相关的东西。不管怎么说,日常可能足够我们去用了。但作为程序员,无论是为了面试还是说更好把控自己写的代码,还是应该得多多了解一下Spring事务的一些细节。这里我抛出几个问题,看大家能不能瞬间答得上:如果嵌套调用含有事务的方法,在Spring事务管理中,这属于哪个知识点?我...

2019-01-31 14:31:33

【源码分析】HashMap源码再读

最近工作不是太忙,准备再读读一些源码,想来想去,还是先从JDK的源码读起吧,毕竟很久不去读了,很多东西都生疏了。当然,还是先从炙手可热的HashMap,每次读都会有一些收获。当然,JDK8对HashMap有一次优化一、一些参数我们首先看到的,应该是它的一些基本参数,这对于我们了解HashMap有一定的作用。他们分别是:参数 说明 capacity 容量,默认为16,最大...

2019-01-30 17:25:12

RabbitMQ消息可靠性分析和应用

RabbitMQ流程简介(带Exchange)    RabbitMQ使用一些机制来保证可靠性,如持久化、消费确认及发布确认等。    先看以下这个图:     P为生产者,X为中转站(Exchange),红色部分为消息队列,C1、C2为消费者。    整个流程分成三部分:第一,生产者生产消息,发送到中转站;第二,中转站按定义的规则转发消息到消息队列...

2019-01-28 15:18:53

Java工程师应该如何逆袭冲进BAT?

目录(1)80%Java工程师都有的迷茫(2)你的技术为啥十年八年都无法进步?(3)追求卓越,自己设立技术挑战(4)幻想一步登天?那只是你的黄粱美梦(5)不断提升自己,最后进入BAT(6)最后的寄语(1)80%Java工程师都有的迷茫这篇文章,跟大家聊一聊很多很多很多人问我的一个问题:中小公司的Java工程师应该如何规划准备,才能跳槽进入BAT这类一线互联网公司...

2019-01-27 20:36:31

SpringBoot入门——属性文件读取

一自定义属性  在application.properties文件中添加属性配置项 myapp.name=helloworld   可以使用@Value注解来读取,在之前的helloworld工程的控制器中添加属性并读取,如下@RestControllerpublicclassHelloController{@Value("${myapp.name}")...

2019-01-23 22:27:08

阿里p8程序员吐槽:新来应届生都开卡宴上班,我真的是不甘心啊!

现在程序员作为一个热门职位在如今互联网时代属于高薪职业,但是也仅仅是相对于其他行业,这不就有一个阿里p8看到自己带的实习生都开卡宴来上班,当时就震惊了,心里顿时五味杂陈起来,自己开的只是一破代步车,人与人的差距就是这么明显啊。 开着网友原贴如下,坐标杭州阿里,刚看小公司校招生开着卡宴来上班。。。我等p8还开破宝来。这样看起来好像是有点另类,教一个土豪赚钱?总之感觉怪怪的。 ...

2019-01-22 21:50:52

【分布式缓存系列】Redis实现分布式锁的正确姿势

一、前言  在我们日常工作中,除了Spring和Mybatis外,用到最多无外乎分布式缓存框架——Redis。但是很多工作很多年的朋友对Redis还处于一个最基础的使用和认识。所以我就像把自己对分布式缓存的一些理解和应用整理一个系列,希望可以帮助到大家加深对Redis的理解。本系列的文章思路先从Redis的应用开始。再解析Redis的内部实现原理。最后以经常会问到Redist相关的面试题为结尾...

2019-01-21 14:08:50

想要涨薪,这些坑你避开了

升职加薪永远都是职场人最为关注的话题。有人认为,会哭的孩子有奶吃,要时不时地向老板进言表现自己;也有人认为,只要认真努力,别人一定看得见,等时机成熟了,好运就会降临。其实,加薪与否并不取决于你是主动邀功还是被动等待,真正重要的是,当你拿出过去一阶段的成绩单放在老板面前时,他是否会认可你的努力。职场上,经常有些看不见的坑,让我们误以为会给自己带来升职加薪,实际上却拖了我们后腿,而那些一年内多...

2019-01-18 15:18:07

蚂蚁金服面试经验分享

从7月分开始,打算找工作,一个偶然的机会,拉勾上一个蚂蚁金服的师兄找到我,说要内推,在此感谢姚师兄,然后就开始了蚂蚁金服的面试之旅。把简历发过去之后,就收到了邮件通知,10个工作日联系我,请耐心等待。 阿里一面没过2天就接到一个杭州的座机,说要约我进行电话面试,效率还是挺高,然后当天晚上就进行了一面。下班后,吃了饭,专门找了一条人比较少的小路,到了7点,电话准时打过来了。还...

2019-01-17 19:48:37

Redis客户端连接以及持久化数据

一、介绍之前我们讲解了Redis的结构与指令,其实很简单,我也没有过多的讲解,这次我们讲解一下Redis连接客户端以及持久化方案。1、上文中我们针对redis的数据操作都是在服务器中使用命令执行的,当然这个也是非常安全的处理方式,那么在开发的阶段为了方便我们可是使用可视化界面连接redis,比如RedisDesktopManager这个软件等,方便我们快速的操作数据,下面的介绍也是依...

2019-01-17 14:39:09

Java架构闲谈

关注
奖章
  • 持之以恒
  • 勤写标兵Lv1