1 Java架构闲谈

尚未进行身份认证

暂无相关描述

等级
TA的排名 4w+

我是如何成为Java阿里P6架构师的成长路径图

现阶段很多人被表象迷惑,感觉Java的开发人员并不好找工作。一部分人就误以为市场饱和了,却没考虑到是自身能力不足,而且他们在学习的过程中往往是这样的:对知识点不会筛选,盲目买书看视频,资料堆积如山,什么都不管先学了再说;指望把一本书啃透、一套视频看完,多敲敲写一些就能搞定;什么都学,感觉什么都会,但是在做项目的时候一头雾水;听别人说哪个好就学哪个,盲目跟风;各种乱七八糟的...

2019-08-12 15:36:02

消息队列的消费语义和投递语义

引言所谓的消费语义,指的就是如下三种情况如何保证消息最多消费一次 如何保证消息至少消费一次 如何保证消息恰好消费一次其实类似还有一个投递语义如何保证消息最多投递一次 如何保证消息至少投递一次 如何保证消息恰好投递一次说句实在话,其实还是老问题,只是换了一种问法!OK,开始我们的正文正文我们先做如下约定Producer代表生产者 Consumer代表消费者 ...

2019-06-19 14:44:15

手动实现 SpringMVC

先看整体架构因为我们这个MVC框架要依赖IOC/DI容器,所以我们在pom文件里要将自己的Spring框架引入进来。实现MVC的整体功能首先我们定义两个MVC专用的注解,RequestMapping用来做url匹配,RequestParam做参数转换:packagecom.paul.annotation;importjava.lan...

2019-06-17 17:23:36

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

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。