自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有梦才叫青春

有梦才会飞的更远

原创 DDD领域驱动设计之聚合

       小编在 2016 年初次接触领域驱动设计,可能因为之前没有留意,感觉它还不怎么被大家认可,实践 1 年多的时间以来,伴随着业务对微服务的渴求,也越来越多的看到有关微服务的文章里在提倡采用 DDD 领域驱动设计来实现模型设计,架构设计。领域驱动设计包括战略建模(即架构设计)和战术建模(...

2018-08-01 11:31:56

阅读数 1280

评论数 2

原创 乐观锁的两种实现方式

什么场景下需要使用锁? 在多节点部署或者多线程执行时,同一个时间可能有多个线程更新相同数据,产生冲突,这就是并发问题。这样的情况下会出现以下问题: 更新丢失:一个事务更新数据后,被另一个更新数据的事务覆盖。 脏读:一个事务读取另一个事物为提交的数据,即为脏读。 其次还有幻读。。 针对并发...

2017-08-01 23:25:54

阅读数 36192

评论数 6

原创 2017年年终总结

    2018年都过来一半了,遗漏的2017年的年度总结,还是想写一些,原因很简单,既然开始,就不要停留,过去的时光真的没办法再挽回,也违背了写博客的初衷,用文字整理生命,在美好的年华里有所思考,有所沉淀,也在未来的日子里不断成长。    2017年...

2018-07-10 16:06:14

阅读数 287

评论数 1

原创 创建线程池的一种方式

创建线程池保证为每个线程指定名称,并对线程池定制异常策略。 private final String name; private final Map<Integer, ExecutorService> executorServiceMap; pri...

2018-02-24 17:43:33

阅读数 235

评论数 0

原创 spring源码学习bean载入时的安全检测方式-threadlocal

SpringIOC容器启动后开启了BeanDefinition的Resource定位,载入和注册的三个过程,loadBeanDefinitions方法中提供了Resource的定位的三种方式,classpath,url,getResourceByPath,其次就是载入的过程,主要采用原始的IO的I...

2018-01-16 12:47:09

阅读数 285

评论数 4

原创 spring boot 集成spring security

最近在项目中使用spingboot开发,由于框架都是架构师搭建的,所以两个项目下来对spring boot的内部结构并不是很熟悉,所以拿系统的学习下spring boot的内容,学习的重点放在spring boot 如何做到特别方便的集成很多组件,让更多的基础开发人员实现傻瓜式开发,这是做技术人一...

2017-08-30 22:17:28

阅读数 369

评论数 2

原创 Collections.unmodifiableList()

Collections.unmodifiableList()-只读集合 public class Student { private String name; private ArrayList<String> courses; public Student(Str...

2017-06-30 18:09:04

阅读数 388

评论数 3

原创 solr进阶

      之前对solr只是简单的认识,这次从17年9月至18年2月对公司搜索业务进行了维护,伴随着各种业务的实现,对solr有了更为深入的认知,至此对solr做一些总结。      solr作为内存的数据库,面对复杂业务的查询借助solr进行处理,下面将从 创建索引,检索,排序等方面做概要总结...

2017-06-30 17:21:01

阅读数 335

评论数 2

转载 在微服务中使用领域事件

稍微回想一下计算机硬件的工作原理我们便不难发现,整个计算机的工作过程其实就是一个对事件的处理过程。当你点击鼠标、敲击键盘或者插上U盘时,计算机便以中断的形式处理各种外部事件。 在软件开发领域,事件驱动架构(Event Driven Architecture,EDA)早已被开发者用于各种实践,...

2017-04-20 16:54:38

阅读数 436

评论数 2

转载 Guava库学习:学习Guava EventBus(一)EventBus

摘要: 在软件开发过程中,对象信息的分享以及相互直接的协作是必须的,困难在于确保对象之间的沟通是有效完成的,而不是拥有成本高度耦合的组件。当对象对其他组件的责任有太多的细节时,它被认为是高度耦合的。当一个应用程序有高度的耦合,维护将变得非常具有挑战,任何变化都将带来涟漪效应。为了解决这一类的软件设...

2017-04-20 16:29:43

阅读数 338

评论数 2

原创 2016年年终总结

2016一个特别的年份,给了我一份特别的礼物。一个越来越可以独当一面的你,一直在磨炼中成长。       -------------------------------------------------------------------------生活篇-学会接受---------------...

2017-02-05 23:13:48

阅读数 281

评论数 7

原创 自定义堆栈,实现括号匹配

算法分析:判断算术表达式中 小括号,中括号,大括号的顺序是否正确匹配。   如:{ a + [ b +( c * a) / (d * e)] }  匹配正确                     { a + [ b +( c * a) / (d * e) }  匹配错误      使用...

2016-12-13 21:55:22

阅读数 920

评论数 8

原创 DDD设计

以领域专家的通用语言设计程序,Domain Drive Design,领域对象有 聚合根,聚合,实体,值对象,领域服务。

2016-11-03 20:58:01

阅读数 412

评论数 4

原创 cas深入理解

最近进一步学习和研究了单点登录的cas的运行机制,上一篇博客只是从很浅显的层面介绍过单点登录,这篇是小编对CAS有了又一次深入的研究后的总结;        CAS的包括两部分:CAS Server和CAS Client。        CAS Server 负责完成对用户的认证工作,需要独立...

2016-09-01 10:14:46

阅读数 467

评论数 4

原创 SolrCloud+zookeeper

什么是SolrCloud?          SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用Solr...

2016-07-22 16:02:43

阅读数 1925

评论数 3

原创 Nginx应用场景(二)反向代理,负载均衡

关于http服务器,我在以前的篇博客里有这样的介绍 《nginx+ftp实现图片的上传与访问》在这里通过ftp上传图片,nginx作为图片服务器,这样就可以通过http访问服务器中的图片。       下面来介绍下nginx实现反向代理,负载均衡:        先来张图介绍下什么是正向代理, ...

2016-07-22 15:33:30

阅读数 2922

评论数 4

原创 nginx应用场景

什么是nginx?        Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特...

2016-07-22 14:48:42

阅读数 5685

评论数 9

转载 log4j.properties 详解与配置步骤

一、log4j.properties 的使用详解 1.输出级别的种类 ERROR、WARN、INFO、DEBUG ERROR 为严重错误 主要是程序的错误 WARN 为一般警告,比如session丢失 INFO 为一般要显示的信息,比如登录登出 DEBUG 为程序的调试信息...

2016-07-21 21:42:11

阅读数 322

评论数 4

转载 java中转发和重定向的区别

一、调用方式 我们知道,在servlet中调用转发、重定向的语句如下: request.getRequestDispatcher("new.jsp").forward(request, response);   //转发到new.jsp response.se...

2016-07-21 09:25:21

阅读数 366

评论数 4

原创 java中solr的使用

solr在java程序中的应用   1.导入jar包    org.apache.solr solr-solrj  程序代码//增加索引库 @Test public void addDocument() throws Exception{ //创建连接 SolrSe...

2016-07-15 14:44:01

阅读数 4237

评论数 3

原创 全文检索solr

2016-07-15 11:54:27

阅读数 1436

评论数 5

原创 mybatis中定义mapper 出现bound statement (not found)

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): tgb.taotao.search.mapper.ItemMapper.getItemList  解决办法:将.properties,x...

2016-07-14 20:17:00

阅读数 5543

评论数 3

原创 使用redis对商城的首页添加缓存

1.redis服务:      String get(String key); String set(String key,String value); String hget(String hkey,String key); long hset(String hke...

2016-07-13 16:35:33

阅读数 3384

评论数 5

原创 js中文传值乱码

最近项目中遇到了中文乱码的问题,在这里记录下,也希望能给遇到类似问题的人提供一种解决问题的方式!     js代码     //获取当前学期名称 var myDate = new Date(); var year =myDate.getFullYear(); //获取完整的年份(4位...

2016-07-10 21:15:05

阅读数 547

评论数 3

原创 nginx+ftp实现图片的上传与访问

根据项目的开发要求,使用ftp实现上传图片,通过nginx搭建图片服务器,即对nginx的简单功能的一种应用。       关于vsftp和nginx的安装就不在这里详细演示,下面的代码是关于nginx.conf的配置,即将ftp上传的图片路径映射到nginx.conf中。          ...

2016-07-06 15:20:16

阅读数 17070

评论数 6

原创 java多线程(四)关键字volatile

关键字volatile的主要作用是使变量在多线程间可见。       解决异步死循环       如下代码       public class RunThread extends Thread { //volatile private boolean isRunning=true; ...

2016-06-22 21:18:06

阅读数 1102

评论数 3

原创 java多线程(三)-同步工具Semaphore

Semaphore也是一个线程同步的辅助类,可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个文件允许的并发访问数。 Semaphore的主要方法摘要:   void acquire():从此信号量获取一个许可,在提供一个许可前一...

2016-06-21 16:34:12

阅读数 601

评论数 4

原创 java多线程(二)可阻塞队列BlockingQueue

先看一个程序题目:一个程序产生16个日志对象,并且需要运行16秒才能打印完这些日志,请在程序中增加4个线程去调用parseLog方法来分头打印这16个日志对象,只需要在4秒内打印完这些日志对象。       利用阻塞队列的ArrayBlockingQueue来实现如下       public s...

2016-06-21 15:32:23

阅读数 616

评论数 3

原创 Java多线程(一)基本用法

1、概念及优点         进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在当代面向线程设计的计算机结构中,进程是线程的容器。         我们在Windows任务管理器的进程中看到的exe程序,这就是...

2016-06-20 19:20:34

阅读数 374

评论数 4

原创 Shiro的应用深入学习

上一篇中宏观上分享了Shiro的原理,今天将分享基于url的权限认证授权,以及Shiro的认证与授权的原理和流程       基于url的权限管理流程                                      优点:   使用基于url拦截的权限管理方式,实现起来比较简单,不依赖框...

2016-05-31 17:47:37

阅读数 2095

评论数 5

原创 安全框架-Shiro

什么是Shiro        Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。 Shiro能做什么         认证:验证用户来核实他们的身份         授权:对用户执行访问控制,如: 判断用户是否被分配了一个确定的安全角色;判断用户是...

2016-05-29 19:58:30

阅读数 1471

评论数 6

原创 CAS实现SSO单点登录

最近研究项目中用到的单点登录以及权限认证,通过视频进一步的学习来总结和分享。         什么是SSO?         单点登录( Single Sign-On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要 登录一次 就...

2016-05-26 10:50:23

阅读数 551

评论数 5

原创 Web Service学习与初步认识

概况:              Web Service 是一种跨变成语言和跨操作系统平台的运程调用规范,它不是框架,更不是一种技术,。        所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客...

2016-05-16 11:26:48

阅读数 321

评论数 3

原创 EJB及其基本分类

定义:             EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaB...

2016-04-30 16:35:58

阅读数 1688

评论数 9

原创 Mybatis学习与总结

这篇博客也是也中ORM框架,为什么要用ORM框架?我们来看下原生的jdbc程序问题:        1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能。         2、将sql语句硬编码到java代码中,如果sql语句修改,需要重...

2016-04-30 11:51:05

阅读数 449

评论数 5

原创 Hibernate-回顾与总结

ITOO项目中数据库操作层用到的东西很多,包括EclipseLink等ORM框架也包括sql,对Hibernate的了解曾学习过,但是深入认识是在最近的应用开发框架中,通过--Criteria 这一个一种比hql更面向对象的查询方式,让提醒自己再次的学习Hibernate。 定义:        ...

2016-04-29 10:51:02

阅读数 592

评论数 6

原创 选课系统之相信你的队友

itoo之选课 这项目已经基本落尾,在该项目中担任开发组长,看着项目一次次经历测试,内心还是收获满满的,总结下项目开发中的一些认识,以及自己的成长,再接再励。         交流:从锂电池项目,视频项目,考试项目,地铁安防项目,已完成的选课及成绩项目,正在进行的应用开发框架项目,参与任何一个项目...

2016-04-26 11:51:05

阅读数 547

评论数 8

原创 Java里的下载Excel模板上传Excel文件

由于项目的需要做过VB版的上传excel,vb.net,以及c#的上传excel,现在做Java项目也同样遇到了,为了解决异构系统或者整理原始数据时无法避免的会用到这个东东,所以这样的功能算是非常常见的。这篇博客将更深入的分享如何下载excel模板以及上传excel文件。这两天项目催的那个紧以及会...

2016-03-31 21:52:36

阅读数 4726

评论数 8

原创 Spring MVC之文件上传与下载

最近项目中需要上次传文档,下载文档,所以顺便的学习了下Spring MVC的上传,以及Ajax的updateFile。待续。。。

2016-03-31 21:47:33

阅读数 1500

评论数 4

原创 mysql 外键 常见的的两个错误 mysql createtable errno 121 150 错误

150错误: 类型不一致错误。 主要是因为主键和子键的数据类型不一致。 设置外键的时候,一定要主表和从表的引擎相同,并且外键的主键和子键的数据类型也完全相同,有一个比较容易错漏的地方是无符号设置,有时候主键设成无符号,子键没有设成无符号,即使数据类型相同,一样会导致错误不能建立外键,所以要注...

2016-03-21 17:25:34

阅读数 388

评论数 4

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