java
JAVA搬砖
不断地努力学习,才能把握机会
展开
-
dubbo项目实战
一、案例说明相信有很多小伙伴都知道,dubbo是一个分布式、高性能、透明化的RPC服务框架,提供服务自动注册、自动发现等高效服务治理方案,dubbo的中文文档也是非常全面的,如下图所示:二、Dubbo基础介绍与环境搭建 1.Dubbo基础介绍 Dubbo管理架构的变化如图:通过dubbo监控中心和后台管理可以很好的监控dubbo服务,监控服务端服务和客户...原创 2019-04-08 20:40:27 · 920 阅读 · 0 评论 -
面试官们“爱不释手”的分布式系统架构到底是个什么鬼?
目录:一、什么是分布式系统?二、为什么要走分布式系统架构?三、系统如何进行拆分?四、分布式之后带来的技术挑战?一、什么是分布式系统? 在谈分布式系统架构前,我们先来看看,什么是分布式系统?假设原来我们有一个系统,代码量30多万行。现在拆分成20个小系统,每个小系统1万多行代码。原本代码之间都是直接基于Spring框架走JVM内存调用,现在拆开来,...原创 2019-06-13 14:15:36 · 100 阅读 · 0 评论 -
什么是分布式系统!以及分布式系统架构的优缺点!
现在的架构很多,各种各样的,如高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等,还有和这些架构相关的管理型的技术方法,如 DevOps、应用监控、自动化运维、SOA 服务治理、去 IOE 等等,还有很多。那什么是分布式系统?分布式系统是支持分布式处理的软件系统,是由通信网络互联的多处理机体系结构上执行任务的系统。包括分布式操作系统、分布式程序设计语言及...原创 2019-06-10 16:07:27 · 492 阅读 · 0 评论 -
《JAVA——帮你解决高并发秒杀》
【准备】首先我们要考虑的是为什么要解决高并发,高并发瓶颈出现在哪里,有了解过的朋友肯定知道是在数据库,因为在大量请求去操作数据库时会出现数据的错乱,超卖,系统崩溃,mysql死锁等现象。【思路】(一)、 页面静态化:就是将整个页面存储到redis中,下次访问时去读取redis中的页面值(二)、主要对整个网站的静态资源文件进行加...原创 2019-06-16 14:34:53 · 110 阅读 · 0 评论 -
离《“架构师”还有多远》——看完这篇文章你就会知道
一、如何定义架构师一个优秀的Java架构师,首先一定是一个出色的程序员,不编程的架构师的职业生涯是短暂的,得熟练使用各种框架,并知道它们实现的原理。有人谈到技术高手与架构师的区别就在于,架构师不光是着眼于现在,不仅仅局限于开发细节,比如如何调用,如何并发等等。而是跳出三界外,考虑一下面向未来问题和潜在风险的应对之道。作为一名卓越的程序员,熟练使用各种数据结构和算法,数组、哈希、链...原创 2019-06-20 22:29:00 · 363 阅读 · 1 评论 -
温柔的陷阱——《谁是代码界3%的王者?》
在Java代码界有些陷阱外表看起来是个青铜实际上是王者据说97%工程师会被“秒杀”不信?这有五道“基础题”堪称5个温柔的陷阱似是而非,雾里看花考验真功夫的时候到了!01这段代码输出的结果是:A: trueB: falseC: 由硬件指令决定02这段代码输出的结果是:...原创 2019-06-17 13:45:03 · 249 阅读 · 0 评论 -
微服务架构之旅——《走进SpringCloud》
近十年国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去”能用就行”这种很low的档次了,像618、双十一这样的活动 不断逼迫我们去突破软件系统的性能上限,传统的IT企业”能用就行”的开发思想已经不能满足互联网 高并发、大流量的性能要求 。系统架构 走向分布式 已经是服务器开发领域解决该问题唯一的出路,然而分布式系统由于天生的复杂度,并不像开发单体应用一样...原创 2019-06-21 15:20:03 · 159 阅读 · 0 评论 -
阿里P8大牛:教你如何定制JAVA程序员的学习及职业规划
1-3年Java程序员学习的非常重要的年份将影响你的职业生涯和工资水平的方向,这几年是至关重要的,如何从初级阶段转向高级阶段,这是一种技巧、一个难点、一个方向。但我们绝大部分工作的时间都是增删改查,开始前几年就是在为了达成增删改查而努力,大部分的程序员具备这种能力之后就开始相对安逸的状态了,开始觉得这项工作没什么技术含量,增删改查的功能如果对于简单的工程代码来讲就...原创 2019-06-17 16:27:40 · 154 阅读 · 0 评论 -
《1-5年的JAVA程序员该怎么规划自己的职业》看完你就知道了
很多小伙伴从一踏上JAVA程序员这条路开始,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!整日深陷在创造Bug和修改Bug的无限循环中,上班来得最早的是你,下班走得最晚的还是你,经常回家之后还得继续加班,偶尔遇上赶项目的时候还要在公司打地铺。但是过了几年之后却发现自己依然奋斗在开发的第一线,依然是开发团队中可有可...原创 2019-06-21 19:42:21 · 1072 阅读 · 0 评论 -
干货篇:一篇文章让你——《深入解析MySQL索引原理 》
概述最近一段时间重新深入研究了一遍MySQL的内容,今天主要分享分析MySQL索引原理,后续会输出一些关于MySQL方面的干货,希望各位小伙伴喜欢。一、什么是索引、为什么要建立索引?关于索引的理解,个人更加喜欢将其比喻为字典里面的目录,根据字典来进行查询的速度远大于每一页逐个逐个字排查的速度。索引主要用于快速找出在某个列中有特定值的行,倘若不使用索引,MySQ...原创 2019-06-26 15:39:49 · 279 阅读 · 0 评论 -
《一遍文章让你看懂的SpringCloud、错过你会后悔》
目前公司使用的 Spring Cloud 整个技术组件,基本包含了上面图中所包含的,不得不说,Spring Cloud 整个生态真的很强大,使用起来也很方便有效。后面有时间再针对每个组件进行使用解读,这篇文章主要说下 Spring Cloud 架构的链路图,顺便把自己的思路整理下来,以备查阅。阅读目录:一、 网关请求流程 二、Eureka 服务治理 三、...转载 2019-06-12 19:34:30 · 80 阅读 · 0 评论 -
Redis实战之限制操作频率
场景场景1留言功能限制,30秒 内只能评论 10次,超出次数不让能再评论,并提示:过于频繁场景2点赞功能限制,10秒 内只能点赞 10次,超出次数后不能再点赞,并禁止操作 1个小时,提示:过于频繁,被禁止操作1小时场景3上传记录功能,限制一天只能上传 100次,超出次数不让能再上传,并提示:超出今日上线抽离本质在业务开发的过程中,我们不断的参与各种业务场...转载 2019-06-12 17:06:07 · 359 阅读 · 0 评论 -
动图解析:《JAVA中的数据结构及原理》
编程好比是一辆汽车,而数据结构和算法是汽车内部的变速箱。一个开车的人不懂变速箱的原理也是能开车的,同理一个不懂数据结构和算法的人也能编程。但是如果一个开车的人懂变速箱的原理,比如降低速度来获得更大的牵引力,或者通过降低牵引力来获得更快的行驶速度。最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动态图来绘制数据流转过程。本篇文章主要基于jdk8, 可能会有些特性与jd...原创 2019-04-15 18:54:15 · 382 阅读 · 0 评论 -
【JavaScript 算法与数据结构】
README.mdJavaScript 算法与数据结构本仓库包含了多种基于 JavaScript 的算法与数据结构。每种算法和数据结构都有自己的 README 并提供相关说明以及进一步阅读和 YouTube 视频。数据结构数据结构是在计算机中组织和存储数据的一种特殊方式,它可以高效地访问和修改数据。更确切地说,数据结构是数据值的集合,它们之间的关系、函数或操作可以应用于数据...原创 2019-04-03 15:13:47 · 300 阅读 · 0 评论 -
Java后端技术栈,该如何深入学习?
Java,是现阶段中国互联网公司中,覆盖度最广的研发语言。很多人做Java开发4,5年后,都会感觉自己遇到瓶颈。感觉什么都会,又什么都不会,如何改变困境,因为在工作中太多被动是因为不懂底层原理。公司的工作节奏又比较快,难有机会学习架构原理,也没人教,所以这个时候,学习架构原理,扩展思维,对自己以后职业生涯尤为重要。同样公司的两个新人,一个新人一点就通,学东西很快,有的人,学东西很慢,也很痛...原创 2019-04-12 16:41:10 · 529 阅读 · 0 评论 -
【Java性能优化思路方向】
概述: Java是目前软件开发领域中使用最广泛的编程语言之一。Java应用程序在许多垂直领域(银行、电信、医疗保健等)中都有广泛使用。Refcard的目的是,帮助开发者通过专注于JVM内部,性能调整原则和最佳实践,以及利用现有监测和故障诊断工具,来提升应用程序在商业环境中的性能。它能以不同的方式定义“optimalperformance(最佳性能)”,但基本要素是:Java...原创 2019-04-03 16:37:02 · 876 阅读 · 0 评论 -
ThreadLocal用法及原理
与Synchonized的对照:ThreadLocal和Synchonized都用于解决多线程并发訪问。可是ThreadLocal与synchronized有本质的差别。synchronized是利用锁的机制,使变量或代码块在某一时该仅仅能被一个线程訪问。而ThreadLocal为每个线程都提供了变量的副本,使得每个线程在某一时间訪问到的并非同一个对象,这样就隔离了多个线程对数据的数据共享。而...转载 2019-04-09 17:14:11 · 163 阅读 · 0 评论 -
《成为顶级JAVA架构师的必备书籍》
一、技术类: JAVA、WEB、架构Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。今天将JAVA、WEB、架构相关的书籍做了一个整理,希望可以帮助大家,提升业务技能。《分布式Java应用——基础与实践》《深入分析Java Web技术内幕》《大型网站系统与Java中间件实践》《分布式服务框架原...原创 2019-04-13 20:12:38 · 3941 阅读 · 3 评论 -
深入解析:《JVM结构体系》
一个虚拟机是一个软件实现物理机。Java是在WORA(Write Once Run Anywhere)基础上开发的,它运行在虚拟机上。该编译器编译Java文件转换成一个Java 的.class文件,那么 的.class文件输入到JVM,它加载并执行类文件。以下是JVM的体系结构图:一、基础知识(一) JVM实例:JVM实例对应了一个独立运行的java程序,它是进程级别。...原创 2019-04-16 21:44:00 · 235 阅读 · 0 评论 -
该如何编写“高性能 Java 代码的实践”
介绍首先将介绍如何定义可度量的性能指标,然后看看有哪些工具可以用来度量和监控应用程序性能,以及确定性能瓶颈。我们还将看到一些常见的Java代码优化方法以及最佳编码实践。现在我们看看用于提升Java应用程序性能的JVM调优技巧和架构调整,性能优化是一个很宽泛的话题,本文只是对JVM调优相关的一些技巧。性能指标在开始优化应用程序的性能之前,我们需要理解诸如可扩展性、性能、可用性...原创 2019-04-14 20:09:39 · 184 阅读 · 0 评论 -
《迷茫中的我们该如何突破瓶颈——成长为一名架构师》
如何成长为一名架构师?架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。很多程序员想成为一名架构师,但是对于其中的技能掌握程度,以及编程功底的要求?设计能力的要求有哪些?我简要从以下6点经验来谈,从技能的角度抛砖引玉。一、编程基本...原创 2019-04-28 15:53:41 · 166 阅读 · 0 评论 -
《一遍文章让你快速了解JAVA---并发编程基础》
现代操作系统在运行一个程序时,会为其创建一个进程。例如,启动一个Java程序,操作系统就会创建一个Java进程。线程是现代操作系统调度的最小单元,也叫轻量级进程,在一个进程里可以创建多个线程,这些线程都拥有各自的计算器、堆栈和局部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切换,让使用者感觉到这些线程在同时执行。今天主要以两个方面让大家更快的了解并发编程!一、基本概念与方法...原创 2019-06-12 14:49:44 · 93 阅读 · 0 评论 -
Java高性能:干货分享——让你快速掌握《NIO》
一、概述NIO主要有三大核心部分:Channel(通道)、Buffer(缓冲区)、 Selector。NIO和传统IO(一下简称IO)之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的。 Java IO面向流意味着每次从流中读一个或多个字节,直至读取所有字节,它们没有被缓存在任何地方。此外,它不能前后移动流中的数据。如果需要前后移动从流中读取的数据,需...原创 2019-06-27 16:07:38 · 221 阅读 · 0 评论