自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梦想从这里开始

千里之行,始于足下

转载 多线程和队列的通俗理解

我们先不要用专业的角度来看多线程。 先来回忆一下,现实生活中,自己曾经一个人做的事,和多个人同时做的事。     假如现在某百货商场做一个抢购活动,限时限量的。那么就意味着你抢得越多就越占便宜,至少可以这样去理解。     那么如果你一个人去抢的话,你只有两只手,抢得...

2017-12-29 16:00:20 5686 0

转载 日志打印

为什么需要日志 因为项目上线后不允许你调试,你只能通过Log来分析问题。项目出问题时,你要能拿出Log证明自己负责的部分没有问题,如果是自己的问题,要从Log里快速找出错误原因。如果没有从Log里找出错误原因,那一定是一件很悲催的事情,特别是在bug不容易重现的情况下。 哪些地方打日志 打...

2017-11-13 11:16:56 3482 0

转载 理解Maven中的SNAPSHOT版本和正式版本

Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制。在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个属性构成的,分别是groupId、artifactId以及version。这三个属性可以唯一确定一...

2017-10-23 22:22:53 425 0

转载 Spring AOP在函数接口调用性能分析及其日志处理方面的应用

面向切面编程可以实现在不修改原来代码的情况下,增加我们所需的业务处理逻辑,比如:添加日志。本文AOP实例是基于Aspect Around注解实现的,我们需要在调用API函数的时候,统计函数调用的具体信息,包括:函数签名,传入参数,函数处理时间,异常信息拦截等, @Around是可以同时在所拦截方法...

2017-10-13 13:49:32 532 0

转载 重构的那些事儿

几天前的一次上线,脑残手抖不小心写了bug,虽然组里的老大没有说什么,但心里面很是难过。同事说我之所以写虫子是因为我讨厌if/else,这个习惯不好。的确,if/else可以帮助我们很方便的写出流程控制代码,简洁明了,这个条件做什么,那个条件做什么,说得很清楚。说真的,我从来不反对if/else,...

2017-10-13 11:14:18 294 0

转载 线程池

不论你是否关注,Java Web应用都或多或少的使用了线程池来处理请求。线程池的实现细节可能会被忽视,但是有关于线程池的使用和调优迟早是需要了解的。本文主要介绍Java线程池的使用和如何正确的配置线程池。 单线程 我们先从基础开始。无论使用哪种应用服务器或者框架(如Tomcat、Jet...

2017-09-14 16:54:18 205 0

转载 数据库工具——Navicat Premium使用技巧

Navicat Premium 常用功能讲解 Navicat Premium 常用功能讲解 1.快捷键  1.1. F8 快速回到当前对象列表  1.2. Ctrl + q 打开查询界面  1.3. Ctrl + d 快速修改当前的表结构  1.4. Ctrl ...

2017-09-14 16:08:39 446 0

转载 代码评审需要注意的项目规范

贾言 验幻空越重, 命循频异长。 依轮线日简, 接偶正分壮。 言欢空月虫, 明勋品宜昌。 依伦先日贱, 洁偶正粉妆。 贾言 架构师说, 用20个字描述代码评审的内容, 自省也省人。由于是一字...

2017-08-28 09:37:53 1021 0

转载 软件架构模式转载

软件架构模式转载 概要介绍 最近一两年,转载文章越来越少了,之所以转载这篇文章,是因为看这篇文章,弄明白了我的一些问题。所以梳理了一下,结合了几篇文章。 架构模式可以帮助你定义程序的基本特征和行为。例如一些架构模式很自然让程序成为大规模(scalable)的程序。有些模式让程序变...

2017-08-11 14:50:21 241 0

转载 分布式一致性解决

前言 目前的应用系统,不管是企业级应用还是互联网应用,最终数据的一致性是每个应用系统都要面临的问题,随着分布式的逐渐普及,数据一致性更加艰难,但是也很难有银弹的解决方案,也并不是引入特定的中间件或者特定的开源框架能够解决的,更多的还是看业务场景,根据场景来给出解决方案。根据笔者最近几年的...

2017-08-11 14:33:22 270 0

转载 如何分析mysql的查询语句

在项目中,有时候时间紧,我们往往比较关注功能,对于性能关注度没有那么高,书写的SQL能够支持功能即可,但是在线上运行过程中,会出现各种问题,sql太慢,这时候我们的第一反应是是不是没走索引,于是找到DBA说加个索引,但是其实有了索引查询未必快,具体问题需要具体分析,对于查询,我们可以自己通过exp...

2017-08-11 13:49:30 345 0

转载 项目管理

参加工作已经两年多了,加上实习的时间差不多快三年了,中间做过很多项目,但是成功的不多,PM,也就是所谓的项目经理做过很多次,有业务项目,有技术驱动项目,有大型跨团队项目,有了一些感悟,大概几个月前在团队内部做过一个分享,最近刚刚忙完双十一,就把之前的PPT简单翻译一下放出来吧。     ​ ...

2017-08-11 10:53:25 280 0

原创 JAVA数组去除重复数据

前一段时间被面试问到:如果一个数组中有重复元素,用什么方法可以去重?一时间会想到用一种方法,但是后来查阅资料后发现,有好多方法可以实现,现在就总结一下,比较简单的几种。 一.用List集合实现 int[] str = {5, 6, 6, 6, 8, 8, 7,4}; List ...

2017-08-02 22:33:25 343 0

转载 Cglib代理

CGLIB和我们的java的动态代理是有区别的,CGLIB是代理的类,而我们的java动态代理是代理的对象   首先我们先说一个"好像"和我们要讲的东西不相干的东西.(其实很重要的,能带你拐一个小的弯.) 首先有两个类,子类和父类,父类和子类有相同的方法,当我们调用父类的...

2017-07-18 17:41:12 186 0

转载 NIO入门

我们在写java程序的时候,为了进行优化,把全部的精力用在了处理效率上,但是对IO的关注却很少。这也可能是由以前java早期时JVM在解释字节码时速度慢,运行速率大大低于本地编译代码,因此以前往往忽视了IO的优化。 但是现在JVM在运行时优化已前进了一大步,现在的java应用程序更多的是受I...

2017-07-17 14:54:00 187 0

转载 Zookeeper入门

zookeeper可谓是目前使用最广泛的分布式组件了。其功能和职责单一,但却非常重要。 在现今这个年代,介绍zookeeper的书和文章可谓多如牛毛,本人不才,试图通过自己的理解来介绍zookeeper,希望通过一个初学者的视角来学习zookeeper,以期让人更加深入和平稳的理解zooke...

2017-07-17 14:26:35 184 0

转载 Spring学习总结之高级装配

1.  profile profile可以决定bean在什么环境下才被装配(开发环境、测试环境、线上环境等) @Profile(“dev”)可以用在class之前,也可以用在类之前(Spring3.2),表示类或者方法返回类只有在dev环境激活时才被创建;也可以在XML文件中配置。 ...

2017-07-17 13:51:38 182 0

原创 zookeeper在dubbo中的作用

流程: 1.服务提供者启动时向/dubbo/com.foo.BarService/providers目录下写下URL 2.服务消费者启动时订阅/duubo/com.foo.BarService/providers目录下的URL,并向/dubbo/com.foo.BarService/consu...

2017-07-17 11:14:33 699 0

转载 自己写一个java.lang.reflect.Proxy代理的实现

Java设计模式9:代理模式一文中,讲到了动态代理,动态代理里面用到了一个类就是java.lang.reflect.Proxy,这个类是根据代理内容为传入的接口生成代理用的。本文就自己写一个Proxy类出来,功能和java.lang.reflect.Proxy一样,传入接口、代理内容,生成代理。 ...

2017-07-16 10:51:06 254 0

转载 java泛型

Java泛型是JDK5引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用的时候使用具体的类型来替换。泛型最主要的应用是在JDK5中的新集合类框架中。对于泛型概念的引入,开发社区的观点是褒贬不一。从好的方面上说,泛型的引入可以解决之前的集...

2017-07-14 11:18:33 185 0

转载 动态绑定 vs 静态绑定

动态绑定(又名后期绑定) 动态绑定是指编译器在编译阶段不知道要调用哪个方法,直到运行时才能确定。让我们用个例子来解释。譬如我们有一个叫作’SuperClass’的父类,还有一个继承它的子类’SubClass’。现在SuperClass引用也可以赋给SubClass类型的对象。如果SuperC...

2017-07-14 10:03:50 134 0

转载 什么是静态(static)?什么是静态方法,静态变量,静态块和静态类?

static是Java中的一个关键字,我们不能声明普通外层类或者包为静态的。static用于下面四种情况。 静态变量:我们可以将类级别的变量声明为static。静态变量是属于类的,而不是属于类创建的对象或实例。因为静态变量被类的所有实例共用,所以非线程安全的。通常静态变量还和关键字final...

2017-07-14 09:55:01 434 0

转载 String类不可变性的好处

String是所有语言中最常用的一个类。我们知道在Java中,String是不可变的、final的。Java在运行时也保存了一个字符串池(String pool),这使得String成为了一个特别的类。 String类不可变性的好处 只有当字符串是不可变的,字符串池才有可能实现。字符串...

2017-07-14 09:47:44 809 0

转载 深入理解Java中的final关键字

Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到final是如...

2017-07-14 09:39:46 118 0

转载 TKmybatis的框架介绍和原理分析及Mybatis新特性演示

tkmybatis是在mybatis框架的基础上提供了很多工具,让开发更加高效,下面来看看这个框架的基本使用,后面会对相关源码进行分析,感兴趣的同学可以看一下,挺不错的一个工具 实现对员工表的增删改查的代码  Java的dao层接口 public interface WorkerMapper...

2017-07-13 16:05:46 484 0

转载 使用IntelliJ IDEA查看类的继承关系图形

最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟。 这次利用了IDEA的diagram,结果一目了然,也是好用到炸裂,就此分享。 1、查看图形形式的继承链 在你想查看的...

2017-07-06 11:07:58 20555 3

转载 使用git和github进行协同开发流程

目录 前言仓库(Repository) 源仓库开发者仓库 分支(Branch) 永久性分支暂时性分支 工作流(workflow)总结参考资料 前言 (本文假设各位已经对基本git的基本概念、操作有一定的理解,如无相关git知识,可以参考Pro Git这本书进行相关...

2017-06-24 20:16:29 463 0

转载 Git的核心概念

版本控制系统 Git 是目前世界上最优秀的分布式版本控制系统。版本控制系统是能够随着时间的推进记录一系列文件的变化以便于你以后想要的退回到某个版本的系统。版本控制系统分为三大类:本地版本控制系统,集中式版本控制系统和分布式版本控制系统 本地版本控制(Local Version Co...

2017-06-24 17:19:08 268 0

转载 搜索引擎solr和elasticsearch

刚开始接触搜索引擎,网上收集了一些资料,在这里整理了一下分享给大家。 一、关于搜索引擎 搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户...

2017-06-02 14:40:06 282 0

转载 Linux的五个查找命令

最近,我在学习Linux,下面是一些笔记。 使用电脑的时候,经常需要查找文件。 在Linux中,有很多方法可以做到这一点。国外网站LinuxHaxor总结了五条命令,你可以看看自己知道几条。大多数程序员,可能经常使用其中的2到3条,对这5条命令都很熟悉的人应该是不多的。 1. find ...

2017-04-06 23:25:30 202 0

转载 jQuery设计思想

jQuery是目前使用最广泛的javascript函数库。 据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库。微软公司甚至把jQuery作为他们的官方库。 对于网页开发者来说,学会jQuery是必要的。因为它让你了解业界最通用的技术,为将来学习更高级的库打下基础...

2017-04-06 23:19:03 280 0

转载 js 回调

回调概念 理解一个新东西,很有必须去理解下它的概念,因为这是最简洁明了,前人总结的。 A callback is a function that is passed as an argument to another function and is executed after its...

2017-04-06 22:08:53 240 0

转载 Javascript异步编程的4种方法

你可能知道,Javascript语言的执行环境是"单线程"(single thread)。 所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。 这种模式的好处是实现起来...

2017-04-06 21:59:02 162 0

转载 理解数据结构

理解数据结构 最近在学习各种数据结构,于是就在想,为什么我们需要数据结构呢? 为什么要设计这么多数据结构?数据结构到底解决了我们什么样的问题? 我们提到 数据结构 时,一般是指计算机科学中的一个概念, 但是从本质上讲,数据结构应该是指对数据的一种组织方式。既然如此,我们没必要非在计...

2017-04-04 23:16:03 152 0

转载 深入理解计算系统」从Hello World开始

从 hello world 开始 Table of Contents 1 程序源文件2 程序源文件是什么3 程序被编译4 程序运行 4.1 读取命令4.2 读取指令内容4.3 执行过程 5 进程 5.1 进程切换5.2 虚拟地址空间 1 程序源文件 ...

2017-04-04 23:08:27 247 0

转载 Git

CVS和Subversion有很多不同的地方。但如果将这两者和git比较,那么git看起来就像孙权的碧眼,有一些怪异。 git的作者是Linus Torvald。对,就是写Linux Kernel的那个Linus Torvald。Linus在贡献了最初的Linux Kernel源代码之后,一直领...

2017-03-15 22:26:50 232 0

转载 Spring并发访问的线程安全性问题(高度总结)

下面的记录对spring中并发的总结。理论分析参考Spring中Singleton模式的线程安全,建议先看 spring中的并发访问题: 我们知道在一般情况下,只有无状态的Bean才可以在多线程环境下共享,在Spring中,绝大部分Bean都可以声明为singleton作用域。 那么对于...

2017-03-11 23:54:02 16673 2

转载 Spring 并发访问的线程安全性问题

首先对于Spring的IOC来说,对象是由Spring来帮我们管理,也就是在Spring启动的时候,在Spring容器中,由Spring给我们创建的,Spring会帮我们维护,一般都是单例的,也就是一个对象。  spring生成对象默认是单例的。通过scope属性可以更改为多例。  第...

2017-03-11 23:49:44 311 0

转载 理解Mysql的索引与优化

转自:http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html 写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存...

2017-03-11 23:32:35 168 0

转载 servlet/filter/listener/interceptor区别与联系

由于最近两个月工作比较清闲,个人也比较“上进”,利用工作空余时间,也继续学习了一下,某天突然想起struts2和struts1的区别的时候,发现为什么struts1要用servlet,而struts2要用filter呢?一时又发现,servlet和filter有什么区别呢?于是看了看web.xml...

2017-03-11 23:22:07 205 0

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