- 博客(98)
- 资源 (52)
- 收藏
- 关注
原创 系统架构与高可用
前言简单聊聊博主的背景吧,博主是Java开发,刚毕业就来到这个刚创立的公司(当然是有一点背景的),公司开发人数从80来人到现在的430人,期间系统进行多次调整。而我除了写代码业务实现外,刚好有机会接触了一些类似架构、运维、以及新系统初期设计讨论的工作,这大大满足了我的好奇心,这是幸运的。我大部分的知识是从工作中学习到的,开始知识点是零散,喜欢做笔记,一旦遇到我们没有听过的技术名词或者业...
2018-05-21 16:21:48 4725 4
原创 关于个人能力提升
随着软件开发行业的发展逐渐成熟和人才的不断补充,个人提升的瓶颈不再仅仅关注技术,需要有意识的全面提升。起码超过80%的人注定并没有机会专攻技术路线,因此可能工作5年会达到职业瓶颈,有机会的情况下,要有意识的提升其他方面的能力。IT界总是需要一些大神去专注某些技术创新,但是结合自己的职业规划,做好自己定位。举个例子,相对于同龄人我的能力(并不意味着5星就是专家,仅作为概括自我短板评估):一、...
2019-05-17 12:56:47 3796 1
原创 Java项目框架搭建系列(Java学习路线)-博客提纲
前言:已经毕业两年,真是时间飞逝。其实当你在一间公司工作一两年之后,公司用到的开发框架的基本使用你应该都会了。你会根据一个现有项目A复制一下搭建出另外一个类似框架的项目B,然后在项目B上进行业务逻辑开发。如果你更努力一点,你可能有去摸索一些配置的作用,一些问题的排查会更有经验和自己的想法。如果你好奇心更强一点,可能会去了解一些框架的原理,各个框架之间是怎么相互协助工作的。自己能否从无到有将这些框架串
2017-07-21 15:41:46 22678 21
原创 【事务】<查询不到同一调用方法其它事务提交的更新>解决方案
最近遇到一个很棘手的问题,至今也解释不清楚原因,不过已经找到了解决方案。先来看看Propagation属性的值含义,@Transactional中Propagation属性有7个选项可供选择:Propagation.MANDATORY。当前方法必须在已经定义的Transaction中运行,如果没有已定义的Transaction则抛出异常。Propagation.NEST。如果没有已定义的Tran
2016-09-06 11:39:53 4673
原创 自写JQ控件-树状菜单控件[demo下载]
一个多月没有写博客了,最近也弄一个基于JQ的树状菜单控件,在此分享给大家。另外呢,通过这个例子分享一下怎么写JQ控件的。事实上工作中,也是经常遇到的,有些时候自己想实现一些前端效果,用网上一些插件吧,很强大,但是一些样式可能不是你想要的,改起来牵一发而动全身。这种情况自己写控件会好一些。【小宝鸽也是前端菜鸟,毕竟咱们算是专攻后台的,不规范的地方还望猿友指正】费话不多说,直接看看效果吧这效果图吧,说不
2016-07-26 23:17:30 5319
原创 B+树|MYSQL索引使用原则
MYSQL一直了解得都不多,之前写sql准备提交生产环境之前的时候,老员工帮我检查了下sql,让修改了一下存储引擎,当时我使用的是Myisam,后面改成InnoDB了。为什么要改成这样,之前都没有听过存储引擎,于是网上查了一下。事实上使用不同的存储引擎也是有很大区别的,下面猿友们可以了解一下。一、存储引擎的比较注:上面提到的B树索引并没有指出是B-Tree和B+Tree索引,但是B-树和B+树的定义
2016-06-19 11:10:58 12392 4
原创 Java对象锁和类锁全面解析(多线程synchronized关键字)
最近工作有用到一些多线程的东西,之前吧,有用到synchronized同步块,不过是别人怎么用就跟着用,并没有搞清楚锁的概念。最近也是遇到一些问题,不搞清楚锁的概念,很容易碰壁,甚至有些时候自己连用没用对都不知道。今天把一些疑惑都解开了,写篇文章分享给大家,文章还算比较全面。当然可能有小宝鸽理解得不够深入透彻的地方,如果说得不正确还望指出。看之前有必要跟某些猿友说一下,如果看一遍没有看明白呢,也没关
2016-06-17 15:51:28 56437 28
原创 FindBugs入门简介(eclipse安装使用实例)
前言:一般公司都会有一些开发规范,但是事实上,简单看那么一两遍并不能养成习惯,或者将这些规范记住。特别的,对于一些新手,写的代码往往会很糟糕。回头看看你一两年前写的代码就会知道,所谓的”糟糕“是什么一种感觉。使用一些检测工具,对代码质量的控制确有成效。FindBugs便是这一类不错的工具。一、FindBugs介绍FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式
2016-05-23 19:40:24 11729 1
原创 MyBatis批量新增和更新
之前有开发任务一个接口里面有大量的数据新增和更新操作,导致十分缓慢。使用了批量操作之后速度有明显提升,几乎百倍千倍的速度提升。博主之前统计过,通过普通接口一次数据库插入大概需要200ms,对于大量新增或更新操作的情况,数据库批量操作是十分有必要的。废话不多说,直接上代码。博主的resultMap如下:<resultMap id="BaseResultMap" type="com.luo.domain
2016-05-16 16:58:43 22530 3
原创 数据库查询优化——Mysql索引
小宝鸽工作一年了,也是第一次适用Mysql的索引。适用索引之后的速度的提升,让我惊叹不已。隔壁的老员工看到我的大惊小怪,平淡地回了一句“那肯定啊”。对于任何DBMS,索引都是进行优化的最主要的因素。对于少量的数据,没有合适的索引影响不是很大,但是,当随着数据量的增加,性能会急剧下降。小宝鸽试了一下,2.5万数据单表中,无索引:200ms-700ms,添加索引后10ms-15ms,适用redis缓存后
2016-05-16 12:37:47 16468 1
原创 Java多线程和线程池
一、Java自带线程池先看看Java自带线程池的例子,开启5个线程打印字符串List:package com.luo.test;import java.util.ArrayList;import java.util.List;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.ThreadPool
2016-05-12 21:28:53 12802
原创 商品搜索引擎资料整理
一、搜索引擎框架搜索引擎Solr和ElasticSearch了解:http://blog.csdn.net/u013142781/article/details/51224988Solr: 教程:http://blog.csdn.net/jediael_lu/article/category/2370109 书籍:Lucene In Action(第2版)中文版ElasticSearch:博客实
2016-05-12 18:09:01 11900
原创 到底什么是集群&分布式
对于楼主这样工作一年的菜鸟,是不是会看到一些文章标题带有“分布式”“集群”关键字,然后就觉得自己应该看不懂(如下图)。最近对这些概念进行了一定的了解,整理了一下思路,在这里分享给各位猿友。不足之处还望纠正,感谢。事实上,在这一年的工作中,对一些分布式和集群技术也有一些接触,只是研究得并不深入。比如分布式服务框架Dubbo、搜索引擎Elasticsearch。概念总是抽象的,配合实例会让你对概念的理解
2016-05-03 19:49:06 39145 12
原创 商品搜索——输入联想|智能提示探索
结合淘宝、京东、一号店输入联想得出如下猜测结果(当然,这些只是根据尝试的猜测,毕竟没有经验,不清楚具体实现,如果有做过这一块的猿友,希望可以评论指点下,非常感谢):(1)是否识别拼音?如果可以识别拼音,是否可以拼音纠错?拼音能识别拼音首字母? 淘宝、京东、一号店都可以识别拼音,如shouji,可以识别成手机。 淘宝、京东、一号店但是并不能进行拼音纠错,如输入souji并不能识别为手机。 对于首
2016-04-29 19:37:29 14015
原创 搜索引擎solr和elasticsearch
刚开始接触搜索引擎,网上收集了一些资料,在这里整理了一下分享给大家。一、关于搜索引擎搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表等。一个搜索引擎由搜索器 、索引器
2016-04-23 10:19:22 12545
原创 商品搜索引擎---分词(插件介绍与入门实例)
最近刚好在学习搜索引擎分词,有了解一些分词插件,在这里给各位猿友分享一下。本文主要介绍四个分词插件(ICTCLAS、IKAnalyzer、Ansj、Jcseg)和一种自己写算法实现的方式,以及一些词库的推荐。一、ICTCLAS1.1、介绍中文词法分析是中文信息处理的基础与关键。中国科学院计算技术研究所在多年研究工作积累的基础上,研制出了汉语词法分析系统ICTCLAS(Institute of Com
2016-04-18 20:01:36 14258
原创 商品搜索引擎---推荐系统设计
一、前言结合目前已存在的商品推荐设计(如淘宝、京东等),推荐系统主要包含系统推荐和个性化推荐两个模块。系统推荐: 根据大众行为的推荐引擎,对每个用户都给出同样的推荐,这些推荐可以是静态的由系统管理员人工设定的,或者基于系统所有用户的反馈统计计算出的当下比较流行的物品。个性化推荐:对不同的用户,根据他们的口味和喜好给出更加精确的推荐,这时,系统需要了解需推荐内容和用户的特质,或者基于社会化网络,通过找
2016-04-11 09:54:11 26151 16
原创 大道理很多人都懂,只是坚持不下去(浅谈坚持)
一、坚持的动力有这么一个故事:从前有一个风一样的男子(自带音乐背景的那种),名叫苟史云,大学的时候撩到一女神级女友。大四的一个月黑风高的晚上,女友跟他说出了分手,跟一个富二代跑了。那个富二代还对苟史云进行了百般羞辱,令其痛不欲生。他发誓,一定要成为一个比那个富二代更有钱的银,十年之后,他做到了…….咱们再来看看,一些著名的修真小说的主角,有些是父母双亡、有些是只有成神之后才能救出他的母亲…….咱们再
2016-04-11 09:27:17 6454 9
原创 商品搜索引擎--商品推荐
因为工作需要,最近有在学习商品搜索引擎的东西。会涉及到系统推荐、个性化推荐和排序推荐。排序推荐 比较偏向于 输入联想(类似于淘宝,我们输入手机,下面会提示推荐)。但是本文,重点介绍个性化推荐。本文比较偏向于理论设计,关于技术实现,后期如果合适,会将自己理解使用到的进行分享。涉及到公司保密部分,不便分享,望谅解。系统推荐: 据大众行为的推荐引擎,对每个用户都给出同样的推荐,这些推荐可以是静态的由系统管
2016-04-05 12:54:14 4935 3
原创 3月份感觉比较漫长,可能因为经历得比较多吧
1、差点跳槽了(之所以没有跳槽后面会详细道来)2、深刻认识到自己写的技术博客没有什么深度(原因何在?大部分不是因为工作经验不够)3、正式成为CSDN博客专家4、整理好后面需要细细阅读的书籍5、家里的琐碎事(细节自动给各位猿友自动过滤啦)
2016-04-05 10:02:00 5445 11
原创 Java Web前端到后台常用框架介绍
一、SpringMVChttp://blog.csdn.net/evankaka/article/details/45501811Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简
2016-03-18 11:44:16 33660 10
原创 JVM类加载原理学习笔记
(1)类的生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Unloading)七个阶段(2)当Java程序需要使用某个类时,JVM会确保这个类已经被加载、连接(验证、准备和解析)和初始化。(3)加载阶段:通过一个类的全限定名来获取此类的二进制字节流
2016-03-16 20:31:56 3152 1
原创 Java垃圾收集学习笔记
(1)除了释放不再被引用的对象,垃圾收集器还要处理堆碎块。请求分配新对象时可能不得不增大堆空间的大小,虽然可以使用的空闲空间是足够的,但是堆中没有没有连续的空间放得下新对象。可能会导致虚拟机产生不必要的”内存不足“错误。(2)使用垃圾收集堆,有一个潜在的缺陷就是加大程序的负担,可能影响程序的性能。因为虚拟机需要追踪哪些对象被正在执行的程序引用,还要动态释放垃圾对象。(3)程序可以调用System.g
2016-03-16 09:30:10 2673 3
原创 数据库面试常问的一些基本概念
1、超键、候选键、主键、外键超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。候选键:是最小超键,即没有冗余元素的超键。主键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。外键:在一个表中存在的另一个表的主键称此表的
2016-03-10 10:54:06 5242 4
原创 SQL实例整理
本文适合将w3school的SQL教程(http://www.w3school.com.cn/sql/sql_create_table.asp)都基本看过一遍的猿友阅读。说说博主的情况吧。毕业找工作之前确实有大概看过w3school的SQL教程,然后参加校园招聘,每次遇到一些SQL笔试题,立马懵逼了(大写的)。其实我那时候大概知道怎么写的,只是总是写不正确,或者是对一些特定的而且没有见过的场景的SQ
2016-03-09 21:42:21 22058 6
原创 Java内存管理
前一段时间粗略看了一下《深入Java虚拟机 第二版》,可能是因为工作才一年的原因吧,看着十分的吃力。毕竟如果具体到细节的话,Java虚拟机涉及的内容太多了。可能再过一两年去看会合适一些吧。不过看了一遍《深入Java虚拟机》再来理解Java内存管理会好很多。接下来一起学习下Java内存管理吧。请注意上图的这个:我们再来复习下进程与线程吧:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进
2016-03-08 21:36:06 11393 3
原创 Java经典设计模式之十一种行为型模式(附实例和详解)
Java经典设计模式共有21中,分为三大类:创建型模式(5种)、结构型模式(7种)和行为型模式(11种)。本文主要讲行为型模式,创建型模式和结构型模式可以看博主的另外两篇文章:Java经典设计模式之五大创建型模式(附实例和详解)、 Java经典设计模式之七大结构型模式(附实例和详解)。行为型模式细分为如下11种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模
2016-03-08 20:06:15 15098 1
原创 Java经典设计模式之七大结构型模式(附实例和详解)
博主在大三的时候有上过设计模式这一门课,但是当时很多都基本没有听懂,重点是也没有细听,因为觉得没什么卵用,硬是要搞那么复杂干嘛。因此设计模式建议工作半年以上的猿友阅读起来才会理解的比较深刻。当然,你没事做看看也是没有坏处的。总体来说设计模式分为三大类:创建型模式、结构型模式和行为型模式。博主的上一篇文章已经提到过创建型模式,此外该文章还有设计模式概况和设计模式的六大原则。设计模式的六大原则是设计模式
2016-03-07 17:53:53 25142 9
原创 Java经典设计模式之五大创建型模式(附实例和详解)
一、概况总体来说设计模式分为三大类:(1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。(2)结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。(3)行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。二、设计模式的六大原则1
2016-03-06 23:41:09 29918 1
原创 Java I/O学习(附实例和详解)
一、Java I/O类结构以及流的基本概念在阅读Java I/O的实例之前我们必须清楚一些概念,我们先看看Java I/O的类结构图:Java I/O主要以流的形式进行读写数据。流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。根据处理数据的数据类型的不同可以分为:字符流和
2016-03-06 18:55:56 6389 1
原创 关于跳槽,是我心浮气躁?还是我确实该离开了?
最近可能要跳槽了所以准备整理一下JVM、多线程、I/O、设计模式、内存管理以及使用过的一些框架知识点以应付笔试面试吧。即便不为面试,也是必须要整理并学习的。只是现在需要急促点罢了。原本想细细品味,现在只能粗糙阅读了。即便不能细细品味,这些东西的了解也要准备一两个月左右吧。说到跳槽,博主刚毕业不够一年就想着跳槽,似乎有点太心浮气躁了,然而其实博主还是一个比较慎重的人,此决定是经过深思熟虑的,原因有:(
2016-03-06 11:28:01 7132 56
原创 《Java多线程编程核心技术》推荐
写这篇博客主要是给猿友们推荐一本书《Java多线程编程核心技术》。之所以要推荐它,主要因为这本书写得十分通俗易懂,以实例贯穿整本书,使得原本抽象的概念,理解起来不再抽象。只要你有一点点Java基础,你就可以尝试去阅读它,相信定会收获甚大!博主之前网上找了很久都没pdf电子版的,只有不全的阅读版,这里博主提供免费清晰完整版供各位猿友下载: http://download.csdn.net/detai
2016-03-04 21:35:43 25421 32
原创 tomcat内存溢出解决,java.lang.OutOfMemoryError: PermGen space
今天遇到了一个java.lang.OutOfMemoryError: PermGen space异常问题,一直解决不了,根据网上修改了tomcat的配置文件,但是还是解决不了,最后是通过如下方式解决的,解决步骤如下:eclipse–》 window–》show view –》server–》双击图一将会跳转到图二界面–》双击图二的Open launch configuration将跳转到图三–》在
2016-03-02 15:44:12 4548
原创 java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener问题解决
今天搭建SSH项目的时候出现了如下错误:严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.context.ContextL
2016-03-01 16:57:50 4015 1
原创 开发人员系统功能设计常用办公软件分享
大多数开发人员随着经验的增长,会进入一个管理层的岗位(开发小组的组长,当然啦博主才毕业大半年,还不是开发组长,只是提前了解了一下分享给大家),需要负责软件系统的设计(系统功能设计和数据库设计)。然后将你的设计思路传递给其他同事(也是一个讨论并完善的过程),让他们协助编码完成软件的开发。在设计思路的传递时,图文结合表述会更加直观清晰些。下面博主分享三个软件,主要用于快速整理处系统功能图和数据库设计:X
2016-02-29 20:40:20 4791 2
原创 微信自定义菜单url默认80端口问题解决
微信自定义菜单url默认80端口的,但是有些服务器上可能配置了多个tomcat。或者是刚好你服务器上80端口被占用了。在这样的情况下,我们可以通过如下方式解决:首先安装apache,关于apache安装可以阅读博主的另外一篇文章: http://blog.csdn.net/u013142781/article/details/50753534接下了需要配置httpd.conf文件。假设你的微信自定
2016-02-29 15:24:53 4597
原创 Servlet再度学习
虽然Servlet已经使用很多了,但是一直都仅局限在其使用操作上。最近有空想对它进行一个相对全面的了解。下面是博主整理的一篇博文。一、Servlet简介Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servle
2016-02-28 10:44:26 2673 3
原创 JSP九大内置对象
虽然现在基本上使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的。像request、response、session这些对象,即便使用其他框架也是会经常用到的。因此十分有了解的必要。这些对象可以在JSP页面中调用,而不需要事先定义,这使得JSP编程更加的方便和快捷。其实这些内置对象都对应着某个Servlet类,在JSP被翻译成Servlet之
2016-02-27 18:51:46 28232 3
原创 linux下安装apache(httpd-2.4.3版本)各种坑
博主的linux是ubuntu 14.04.3。在安装apache最新版httpd-2.4.3的时候遇到各种坑。先提供安装apache httpd-2.4.3所需要的包,博主已经整理好,下载地址:里面包含了:apache 安装包:httpd-2.4.3.tar.gz 依赖的包:apr-1.4.6.tar.gz、apr-util-1.4.1.tar.gz、pcre-8.20.tar.bz2一开始没有
2016-02-27 00:53:03 7833 3
jsontest工程源码
2016-01-27
Redis+Spring实例
2016-01-14
Spring+EhCache实例源码
2016-01-12
微信开发获取地理位置实例(java)
2016-01-12
dubbo_provider_and_consumer
2015-12-25
Spirng+SpringMVC+Maven+Mybatis+MySQL实例
2015-12-25
《Java多线程编程核心技术》带书签目录 高清完整PDF版 下载
2016-03-04
apache httpd-2.4.3 安装所需的包
2016-02-27
shiro登录验证实例
2016-02-03
SpringMVC+BUI实现文件上传实例
2016-01-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人