鹿‘s
码龄6年
关注
提问 私信
  • 博客:344,688
    344,688
    总访问量
  • 36
    原创
  • 2,223,673
    排名
  • 87
    粉丝
  • 0
    铁粉

个人简介:以技术为驱动,以结果为导向。欢迎加入我的技术QQ群:895244712

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖南省
  • 加入CSDN时间: 2018-09-25
博客简介:

lu‘s blog

博客描述:
以结果为导向,以技术为驱动。
查看详细资料
个人成就
  • 获得178次点赞
  • 内容获得33次评论
  • 获得835次收藏
创作历程
  • 54篇
    2018年
成就勋章
TA的专栏
  • Java
    54篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

互联网常用设计模式——通往架构师的第一步

什么是设计模式?Christopher Alexander 说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。简单来说就是:设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠...
原创
发布博客 2018.11.24 ·
663 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

数据结构与算法之二叉树

       前面我们介绍数组的数据结构,我们知道对于有序数组,查找很快,并介绍可以通过二分法查找,但是想要在有序数组中插入一个数据项,就必须先找到插入数据项的位置,然后将所有插入位置后面的数据项全部向后移动一位,来给新数据腾出空间,平均来讲要移动N/2次,这是很费时的。同理,删除数据也是。  然后我们介绍了另外一种数据结构——链表,链表的插入和删除很快,我们只需要改变一些引用值就行了,但是查...
原创
发布博客 2018.11.19 ·
354 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

深入理解Java中的volatile关键字

出处: <http://www.cnblogs.com/chengxiao/>内存可见性  volatile是Java提供的一种轻量级的同步机制,在并发编程中,它也扮演着比较重要的角色。同synchronized相比(synchronized通常称为重量级锁),volatile更轻量级,相比使用synchronized所带来的庞大开销,倘若能恰当的合理的使用volatile,自...
转载
发布博客 2018.11.19 ·
391 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

工作两年的程序员们应该懂的Java虚拟机工作原理

首先我想从宏观上介绍一下Java虚拟机的工作原理。从最初的我们编写的Java源文件(.java文件)是如何一步步执行的,如下图所示,首先Java源文件经过前端编译器(javac或ECJ)将.java文件编译为Java字节码文件,然后JRE加载Java字节码文件,载入系统分配给JVM的内存区,然后执行引擎解释或编译类文件,再由即时编译器将字节码转化为机器码。主要介绍下图中的类加载器和运行时数据区两个...
原创
发布博客 2018.11.19 ·
570 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Spring 、SpringMVC 、Struts2之间的区别

一、Spring与SpringMVC的区别:  spring是一个开源框架,是为了解决企业应用程序开发,功能如下:  功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能  范围:任何Java应用   Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。   1、轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可...
原创
发布博客 2018.11.19 ·
278 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ConcurrentHashMap实现原理及源码分析

本文出处: <http://www.cnblogs.com/chengxiao/>ConcurrentHashMap是Java并发包中提供的一个线程安全且高效的HashMap实现(若对HashMap的实现原理还不甚了解,可参考我的另一篇文章HashMap实现原理及源码分析),ConcurrentHashMap在并发编程的场景中使用频率非常之高,本文就来分析下ConcurrentHa...
转载
发布博客 2018.11.19 ·
198 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

看十年编程经验大神详解Spring IOC

      学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IOC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对Ioc的精彩讲解首先要分享的是Iteye的开涛这位技术牛人对...
原创
发布博客 2018.11.19 ·
241 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

怎么更好地理解Spring AOP

一.前言    在以前的项目中,很少去关注spring aop的具体实现与理论,只是简单了解了一下什么是aop具体怎么用,看到了一篇博文写得还不错,就转载来学习一下,博文地址:http://www.cnblogs.com/xrq730/p/4919025.htmlAOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Ori...
转载
发布博客 2018.11.19 ·
217 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL知识总结

本文是之前我学习MySQL笔记整合的。这篇文章理论偏多,对于其中比较比较难理解知识点写些Demo,权当个人理解。这个算是概要总结版,适合学习了mysql最后要点总结或者有其他数据库基础的看,不然一时间内容太多。一、SQL基础SQL语句分类1.DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。常用...
原创
发布博客 2018.11.19 ·
482 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Spring Bean详细讲解 什么是Bean?

什么是Bean?Spring Bean是被实例的,组装的及被Spring 容器管理的Java对象。Spring 容器会自动完成@bean对象的实例化。创建应用对象之间的协作关系的行为称为:装配(wiring),这就是依赖注入的本质。Spring 三种配置方案1.在XML中进行显示配置2.使用Java代码进行显示配置3.隐式的bean发现机制和自动装配推荐方式: 3>2...
原创
发布博客 2018.11.19 ·
99223 阅读 ·
76 点赞 ·
7 评论 ·
380 收藏

Web Api 基于Zookeeper的服务注册与发现

差异基于Nginx的服务提供和消费    基于zookeeper的服务注册和发现  zk的负载均衡是可以调控,nginx只是能调权重,其他需要可控的都需要自己写插件;但是nginx的吞吐量比zk大很多,可以根据业务选择用哪种方式。服务端注册1.创建WEB API 程序,使用NuGet下载ZookeeperNet安装包         2.WEB API ...
原创
发布博客 2018.11.18 ·
642 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java NIO 核心组件学习笔记

背景知识同步、异步、阻塞、非阻塞首先,这几个概念非常容易搞混淆,但NIO中又有涉及,所以总结一下。同步:API调用返回时调用者就知道操作的结果如何了(实际读取/写入了多少字节)。 异步:相对于同步,API调用返回时调用者不知道操作的结果,后面才会回调通知结果。 阻塞:当无数据可读,或者不能写入所有数据时,挂起当前线程等待。 非阻塞:读取时,可以读多少数据就读多少然后返回,写入...
转载
发布博客 2018.11.18 ·
173 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

浏览器缓存是什么?它的机制又是什么?

对于浏览器缓存,相信很多开发者对它真的是又爱又恨。一方面极大地提升了用户体验,而另一方面有时会因为读取了缓存而展示了“错误”的东西,而在开发过程中千方百计地想把缓存禁掉。那么浏览器缓存究竟是个什么样的神奇玩意呢?什么是浏览器缓存:简单来说,浏览器缓存就是把一个已经请求过的Web资源(如html页面,图片,js,数据等)拷贝一份副本储存在浏览器中。缓存会根据进来的请求保存输出内容的副本。当下...
原创
发布博客 2018.11.16 ·
8865 阅读 ·
15 点赞 ·
0 评论 ·
34 收藏

程序员,你怎么对待常见的数据一致性问题?

现象应用系统中的关键服务绝大部分都会是对数据库的依赖。 当多个进程同时操作同一个数据,会产生资源争抢,数据一致性的问题。如果只有一个数据库服务器,数据一致性问题也就不存在了。可是,随着系统访问量、数据量的不断增长,数据库出现多个服务器,又出现缓存服务,又要拆分数据库,还要分拆到不同的子应用等等。这样一来,数据一致性问题就会变得越来越突出。 举个栗子我们来看这样...
原创
发布博客 2018.11.16 ·
911 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【经典揭秘】集中式架构怎么升级为分布式架构?

前言由于历史原因,集中式架构多用于传统银行、电信等行业。主机资源集中在大型主机或小型机上。集中式架构下,包括操作系统,中间件,数据库等“基础软件” 均为闭源商用系统。集中式架构的典型案例是 IOE(IBM, Oracle,EMC)提供的计算设备、数据库技术和存储设备共同组成的系统。近年来,分布式架构在 Google、 Amazon、Facebook、阿里巴巴、腾讯等互联网公司广泛应用基础上...
原创
发布博客 2018.11.15 ·
493 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【经典揭秘】集中式架构怎么升级为分布式架构?

前言由于历史原因,集中式架构多用于传统银行、电信等行业。主机资源集中在大型主机或小型机上。集中式架构下,包括操作系统,中间件,数据库等“基础软件” 均为闭源商用系统。集中式架构的典型案例是 IOE(IBM, Oracle,EMC)提供的计算设备、数据库技术和存储设备共同组成的系统。近年来,分布式架构在 Google、 Amazon、Facebook、阿里巴巴、腾讯等互联网公司广泛应用基础上...
原创
发布博客 2018.11.15 ·
493 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

大型网站架构之分布式消息队列——RabbitMQ

Message Broker与AMQP简介Message Broker是一种消息验证、传输、路由的架构模式,其设计目标主要应用于下面这些场景:消息路由到一个或多个目的地 消息转化为其他的表现方式 执行消息的聚集、消息的分解,并将结果发送到他们的目的地,然后重新组合相应返回给消息用户 调用Web服务来检索数据 响应事件或错误 使用发布-订阅模式来提供内容或基于主题的消息路由AMQ...
原创
发布博客 2018.11.15 ·
440 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

传统行业程序员的深度焦虑?——快来互联网行业吧!

前言不少在传统行业摸爬滚打的程序员越来越焦虑了,有些甚至睡不着觉。为什么?传统行业的程序员们每天进行的都是业务代码的编写,接触不到更新更好的技术;公司的效益并不好,如未达到目标收益,只能进行“瘦身”,技术人员也很恐慌;看到BAT等互联网企业飞速发展,程序员的待遇也水涨船高,难免眼红,但是如何转型却一头雾水。下面就几个方面和大家谈谈传统行业的技术人员如何转型互联网。传统行业和互联网行...
原创
发布博客 2018.11.14 ·
2561 阅读 ·
1 点赞 ·
0 评论 ·
10 收藏

明天面试?吓得我赶紧手写了一个Spring

引言几乎每个面试的程序员都会碰到Spring相关的面试问题,或浅或深。你都是如何回答面试官的问题的?——我不知道,我一般会通过手写一个Spring来加深自己的印象。目标人见人爱的Spring已然不仅仅只是一个框架了。如今,Spring已然成为了一个生态。但深入了解Spring的却寥寥无几。这里,我带大家一起来看看,我是如何手写Spring的。我将结合对Spring十多年的研究经验,用不...
原创
发布博客 2018.10.29 ·
191 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

程序员只钻研技术其实是很蠢的

前言程序员一门心思钻研技术其实是一件很蠢的事情。因为大部分人并不是那1%的天才,也完全没办法做到十年如一日地钻研技术,至于光靠兴趣驱动,未免太过理想。正文那么,如果我们没有足够的信念和能力可以走出一条自己的技术路,那么总有一天会遇到真正的“35岁中年危机”,如果你等到30岁才意识到问题,或许已经为时已晚。为了避免“脱发”“加班”和“焦虑”,以下是我给大家总结的几条建议:...
原创
发布博客 2018.10.29 ·
658 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多