自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 mybatis #{}与${}的区别

默认情况下,使用#{},mybatis会产生preparedStatment语句中,并且安全的设置PreparedStastement参数,这个过程中mybatis会进行必要的安全检查和转义。#相当于对数据加上双引号,$相当于直接显示数据

2017-07-27 17:45:02 236

原创 spring-boot与mybatis结合

1.先建立一个spring-boot项目    项目结构如下 :       其中controller,service,dao,domain,utils(工具包)包为一般项目,   aspect,exception,handle,perprotites包是我自己建立的,请选择忽略。   mybatis中的Mapper放在了resources包下与配置文件共同放在resourc

2017-07-25 15:20:02 324

原创 spring boot

1.spring boot目录结构文件分析          Srcmain:java:springbootApplicatiion.java:spring boot应用程序的启动引导类  resourse:  application:spring boot 属性配置文件test:                         xxxApplicationTest

2017-07-24 14:38:13 252

原创 悲观锁和相比synchronized,ReentrantLock增加了一些高级功能,主要有以下3项:等待可 中断、可实现公平锁,以及锁可以绑定多个条件

悲观锁与乐观锁  1.概念解析乐观锁与悲观锁不是指具体的什么类型的锁,而是指看待并发同步的角度。悲观锁认为对于同一个数据的并发操作,一定是会发生修改的,哪怕没有修改,也会认为修改。因此对于同一个数据的并发操作,悲观锁采取加锁的形式。悲观的认为,不加锁的并发操作一定会出问题。乐观锁则认为对于同一个数据的并发操作,是不会发生修改的。在更新数据的时候,会采用尝试更新,不断

2017-07-21 16:02:44 2074

原创 第一次上线总结

由于是刚开始的实习生,因此基本上出懵懂无知的状态。  为了不让自己忘记昨天的步骤,所以在这里回想总结一下。   1.首先我的写的代码是基于另一个项目(B)存在的,因此需要在B项目上修改洗个model和新加了一个枚举,这就需要建立自己的分支,并将修改后的结果,提交到自己的远程分支,*****一定要注意自己提交的有没有误操作啥的******,进行拉取,查看用mvn进行编译, m

2017-07-21 10:13:35 298

原创 @RequestMapping 和@RequestParam

1.@RequestParam A) 常用来处理简单类型的绑定,通过Request.getParameter() 获取的String可直接转换为简单类型的情况( String--> 简单类型的转换操作由ConversionService配置的转换器来完成);因为使用request.getParameter()方式获取参数,所以可以处理get 方式中queryString的值,也可以处理

2017-07-20 17:31:44 387

原创 ioc以及Aop涉及到的设计模式

我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入,和AOP,面向切面编程,这两个是Spring的灵魂。主要用到的设计模式有工厂模式和代理模式。IOC就是典型的工厂模式,通过sessionfactory去注入实例。AOP就是典型的代理模式的体现。用过spring的朋友都知道spring的强大和高深,都觉得深不可测,其实当你真正花些时间

2017-07-20 17:29:50 1959

原创 spring ioc原理解析

首先,我先对之前所看案例进行一个总结:               1.spring是一个容器框架,可以配置各种bean,并且可以维护bean与bean的关系,当我们需要使用某个bean的时候,我们可以getBean(id),时候用即可,IOC(inverse of control )控制反转:所谓控制反转,就是把创建对象(bean),和维护对象(bean)的关系的权利从程

2017-07-20 17:28:58 244

原创 spring aop原理解析

1.aop( aspect oriented programming ) 面向切面(方面)编程,是对所有对象或者是一类对象编程,核心是( 在不增加代码的基础上, 还增加新功能 )2.aop原理+案例编程说明:步骤:定义接口编写对象(被代理对象=目标对象)编写通知(前置通知目标方法调用前调用)在beans.xml文件配置配置 被代理对象=目标对

2017-07-20 17:27:13 254

原创 单例模式的线程安全问题

面试的时候,常常会被问到这样一个问题:请您写出一个单例模式(Singleton Pattern)吧。     单例的目的是为了保证运行时Singleton类只有唯一的一个实例,最常用的地方比如拿到数据库的连接,Spring的中创建BeanFactory这些开销比较大的操作,而这些操作都是调用他们的方法来执行某个特定的动作。     很容易,顺手写一个《Java与模式》中的第一个例子: 

2017-07-20 17:25:02 254

转载 truncate,drop和delete的区别

drop、truncate和delete的区别(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。   TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。(2)表和索引所占

2017-07-20 17:22:58 337

原创 mysql事务

首先简单说下事务  一、什么是数据库事务所谓数据库事务是指针对数据库的某一组操作要么全部成功,要么全部失败。二、数据库事务的四个特性1.原子性事务的原子性指的是,事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据改操作要全部执行,要么全部不执行。这种特性称为原子性。  事务的原子性要求,如果把一个事务看作是一个程序,它要么完整的被执行,要么完全执行

2017-07-20 17:20:43 692

原创 ThreadLocal

一、概述    ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制,

2017-07-20 17:18:46 173

原创 String StringBuffer StringBuffer的区别

String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常

2017-07-20 17:17:34 333

原创 mysql主从数据库

1 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是实时的业务数据库,从数据库的作用和使用场合一般有几个:一是作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作;二是可在从数据库作备份、数据统计等工作,这样不影响主数据库的性能;2 读写分离,是指读与写分别使用不同的数据库,当然一般是在不同服务器上的;在同一台服务器上的读写环境,估计只

2017-07-20 16:15:09 173

原创 jvm浅析

jvm的区域划分--------运行时数据区通常包括这几个部分:程序计数器(Program Counter Register)、Java栈(VM Stack)、本地方法栈(Native Method Stack)、方法区(Method Area)、堆(Heap)。1.程序计数器:线程私有,占有空间比较小。2.虚拟机栈:线程私有的,生命周期与线程相同,用于存贮局部变量表,

2017-07-18 11:57:49 243

转载 java 并发包

Java集合及concurrent并发包总结1.集合包    集合包最常用的有Collection和Map两个接口的实现类,Colleciton用于存放多个单对象,Map用于存放Key-Value形式的键值对。  Collection中最常用的又分为两种类型的接口:List和Set,两者最明显的差别为List支持放入重复的元素,而Set不支持。List最

2017-07-18 10:40:43 275

转载 jdk 1.8的一些新特性

此篇介绍了9个比较主要的,未完待续.......一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:复制代码代码如下:interface Formula {    double calculate(int a);    def

2017-07-18 10:36:07 329

转载 解决hashmap线程啊安全问题的三个解决方案

三种解决方案推荐第三种解法,第二种效率太低一般情况下直接抛弃1.Hashtable替换HashMapHashtable 是同步的,但由迭代器返回的 Iterator 和由所有 Hashtable 的“collection 视图方法”返回的 Collection 的 listIterator 方法都是快速失败的:在创建 Iterator 之后,如果从结构上对 Hashtable

2017-07-18 10:33:07 697

转载 关于hashmap线程安全问题产生的浅析

从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable

2017-07-17 16:42:57 387

原创 maven resources profiles

在maven中实现多环境的构建可移植性需要使用profile,通过不同的环境激活不同的profile来达到构建的可移植性。csc 筹款下的六个包awsdev  dev      local      本地环境online    网络环境preonline   内网     base:数据库基础连接配置4.1     profi

2017-07-17 16:40:15 190

原创 maven项目的流程及其解析

1.mvn complie     Maven 将会开始处理并显示直到编译阶段的构建生命周期的各个阶段。mvn siteMaven Site 插件一般用来创建新的报告文档、部署站点等。Maven 将会开始处理并显示直到 site 阶段的 site 生命周期的各个阶段。Maven - 插件什么是 Maven 插件?Maven 实际上是一个依赖插件执行的

2017-07-17 16:35:49 729

原创 maven pom.xml文件 简单解析

1.POM代表项目对象模型。它是 Maven 中工作的基本单位,这是一个 XML 文件。它始终保存在该项目基本目录中的 pom.xml 文件。POM 包含的项目是使用 Maven 来构建的,它用来包含各种配置信息。POM 也包含了目标和插件。在执行任务或目标时,Maven 会使用当前目录中的 POM。它读取POM得到所需要的配置信息,然后执行目标。部分的配置可以在 POM 使用如下:

2017-07-17 16:34:05 338

原创 maven常用命令以及下载的原理

1.maven分为三个资源库:本地资源库,中央存储库,远程存储库。现在,Maven的依赖库查询顺序更改为:在 Maven 本地资源库中搜索,如果没有找到,进入第 2 步,否则退出。在 Maven 中央存储库搜索,如果没有找到,进入第 3 步,否则退出。在java.net Maven的远程存储库搜索,如果没有找到,提示错误信息,否则退出。2.maven常用命令:

2017-07-17 16:31:14 540

原创 maven生命周期以及简单流程

流程表: 此篇为理论  命令未多涉及阶段处理描述准备资源资源复制资源复制可以进行定制编译执行编译源代码编译在此阶段完成包装打包创建JAR/WAR包如在 pom.xml 中定义提及的包安装安装这一阶段在本地/远程Maven仓库安装程序包 Maven有以下三种标准

2017-07-17 16:29:47 338

原创 git 两种情况的

写在前面的注意事项:使用命令git push -u origin master第一次推送master分支的所有内容;此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,

2017-07-17 16:19:03 251

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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