- 博客(38)
- 收藏
- 关注
原创 flyway在spring boot中的使用
flyway是什么可以参考其他资料,现在只研究下flyway在spring boot中的使用方法。首先需要引入flyway依赖,引入依赖后,spring-boot-autoconfigure会自动初始化flyway,把bean容器中的DataSource放入Flyway中,在初始化完成之后,在afterPropertiesSet中会自动执行flyway.migrate(),这样就实现了每次启动
2017-07-26 15:41:22 7112
原创 找不到org.apache.commons.pool2.impl.GenericObjectPoolConfig的解决方法
maven依赖版本不对,最好不要指定下级依赖的版本号,让上级依赖去自己选择最合适的version。GenericObjectPoolConfig没有找到是因为spring-data-redis版本太高,去掉指定的version即可。
2017-06-22 10:36:58 22319
原创 多租户设计-数据层的多租户支持
参考资料:浅析多租户在 Java 平台和某些 PaaS 上的实现多租户是什么可以参考上面文章,本文只讨论多租户实现方式的 数据层的多租户支持。数据层租户隔离方式:1 每个表上加租户的标识字段,查询时候带上标识的判断。 优缺点:代码侵入强,租户隔离级别较低,同时使用一个单表时容易出现性能问题;2 切换多数据库实例,为每一个租户创建一个数据库实例。 优缺点:租户隔离级别最
2017-06-12 14:32:28 6295
原创 mysql中文排序的N种方法
目标:mysql中实现中文排序方案1:修改mysql字符集及排序规则,字符集设置成gbk,排序规则设置成gbk_chinese_ci 缺点:字符集gbk不支持除中文、英文以外的其他语言,局限性大。方案2:在sql中对需要进行中文排序的字段进行转码成gbk,如 order by column_name =>order by convert(column_name using gb
2017-06-09 17:43:41 1181
转载 JVM底层又是如何实现synchronized的
目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug Lea。本文并不比较synchronized与Lock孰优孰劣,只是介绍二者的实现原理。数据同步需要依赖锁,那锁的同步又依赖谁?synchronized给出的答案是在软件层面依赖JVM,而Lock给出的方案是在硬件层面依赖特殊的CPU指令,大家
2017-05-22 16:36:46 291
原创 记录PostgreSQL数据库往MySQL数据库迁移的函数变化
记录PostgreSQL数据库往MySQL数据库迁移的函数变化#{telephone} = ANY(telephone_array) 替换成CONTAINS(telephone_array, #{telephone})age()函数替换成TIMESTAMPDIFF()数据库类型变化PGPoint类型-> x,yjson类型-> textarray类型-> text(
2017-05-05 17:01:37 614
原创 记录shiro的坑
Subject currentUser = SecurityUtils.getSubject();这个Subject是每个线程ThreadLocal副本,对于这个Subject的修改不会影响到其他线程获取到的Subject。如果想要传递全局变量,可以放入Subject.getSession()中。
2017-05-03 15:56:32 344
原创 是时候抛弃一些旧方法,使用新版jdk提供的方法
(1) object.equals("test"); object容易报空指针异常,推荐使用 "test".equals(object); JDK7 引入了 java.util.Objects#equals ,Objects.equals(o1,o2)已经处理了空指针。(2) 遍历Map时候有三种方式:1>keySet 其实keySet遍历了两次,一次是转为iterat
2017-04-17 12:10:16 781
原创 sql查询表中所有字段名称及类型
想要查询表的全部信息 : exec sp_help 'TABLE' 查询表中所有字段名称及类型:select name,TYPE_NAME(system_type_id)+'('+convert(varchar(100),max_length)+')' as type from sys.columns where object_id=object_id('TABLE')以上s
2016-11-08 10:05:31 4299
转载 Integer与int的种种比较你知道多少?
如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false?估计就有一部分人答不出来了,如果再问一下其他的,估计更多的人会头脑一片混乱。所以我对它们进行了总结,希望对大家有帮助。 首先看代
2016-11-04 11:25:23 269
原创 磁盘I/O工作机制
应用程序读写文件操作都是调用操作系统提供的接口。只要是系统调用就可能存在内核空间地址和用户空间地址切换的问题。这是操作系统为了保护系统本身安全,而将内核空间地址和用户空间地址隔离开了,这样会保证内核程序运行的安全性,但是也造成了数据从内核空间向用户空间复制的问题。 访问文件分为以下几种方式:1、 标准访问文件方式 是当应用程序调用read()接口时,操作系统会检查
2016-11-01 10:42:34 508
原创 ajax 在IE9浏览器下不发送请求的解决方法
ajax.form,在ie9下拒绝发送请求。从网上找了好多资料,大部分都是以下方法:针对 拒绝访问 是由于浏览器安全机制导致的,解决方法为点击IE浏览器的的“工具->Internet 选项->安全->自定义级别”将“其他”选项中的“通过域访问数据源”选中为“启用”或者“提示”,点击确定就可以了试了试,不可行。因为ajax.form在ie8下发送请求是成功的,所以修改IE
2016-10-27 16:40:25 12418
转载 Java关键字final、static使用总结
Java关键字final、static使用总结 一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final
2016-10-12 09:45:03 258
转载 JAVA开发全集
soap消息的分析和消息的创建和传递和处理@WebServicepublic interface IMyService { @WebResult(name="addResult") public int add(@WebParam(name="a")int a,@WebParam(name="b")int b); @WebResult(name="us
2016-09-23 16:16:20 18242
转载 Netty优雅退出机制和原理
转自:http://www.infoq.com/cn/articles/netty-elegant-exit-mechanism-and-principles?utm_campaign=rightbar_v2&utm_source=infoq&utm_medium=articles_link&utm_content=link_text1.进程的优雅退出1.1.Kill -9 PID
2016-09-08 09:01:06 12299 1
转载 Java 动态代理机制分析及扩展,第 1 部分
转载自https://www.ibm.com/developerworks/cn/java/j-lo-proxy1/代理:设计模式代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。图 1. 代理模式为了保持行为的一致性,代理类和委托类通
2016-09-07 17:30:22 257
转载 Java反射与动态代理
转载自:http://www.infoq.com/cn/articles/cf-java-reflection-dynamic-proxyJava的反射API与javax.lang.model不同的是,通过反射API可以获取程序在运行时刻的内部结构。反射API中提供的动态代理也是非常强大的功能,可以原生实现AOP中 的方法拦截功能。正如英文单词reflection的含义一样,使用反射A
2016-09-07 16:49:31 317
转载 我们应当怎样做需求分析
转自:http://fangang.iteye.com/blog/1345099又到新年了,日历又要从2011年翻到2012年了,这使我有太多的感慨,进而勾起了对太多往事的回忆。过去的10年,毫无疑问是中国软件业发展最快的10年。当我们刚刚毕业的时候,还在使用VB、PB开发一些简单的数据库应用,而现在却几乎看不到它们的踪影,换来的是诸如J2EE和.NET这样的大型web应用。而这期间,RUP、
2016-08-31 09:52:55 17305
转载 Dom4j解析和生成XML文档
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本人声明。否则将追究法律责任。作者:永恒の_☆ 地址:http://blog.csdn.net/chenghui0317/article/details/11486271一、前言 dom4j是一套非常优秀的java开源api,主要用于读写xml文档,具有性能优异、功能强大、和非常方便使用的特点。
2016-08-30 16:05:17 6196 1
转载 Java并发编程:深入剖析ThreadLocal
想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLocal的理解 二.深入解析ThreadLocal类 三.Thread
2016-08-30 15:09:48 343
转载 Java 理论与实践: 非阻塞算法简介
转载自 https://www.ibm.com/developerworks/cn/java/j-jtp04186/Java™ 5.0 第一次让使用 Java 语言开发非阻塞算法成为可能,java.util.concurrent 包充分地利用了这个功能。非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通过锁定派生,而是通过低级的原子性的硬件原生形式 —— 例如比较和交换。非阻塞算法
2016-07-25 17:41:11 322
转载 《深入浅出 Java Concurrency》—并发容器 ConcurrentMap
转自:http://www.blogjava.net/xylz/archive/2010/07/19/326527.html这一节开始正式进入并发容器的部分,来看看JDK 6带来了哪些并发容器。在JDK 1.4以下只有Vector和Hashtable是线程安全的集合(也称并发容器,Collections.synchronized*系列也可以看作是线程安全的实现)。从JDK 5开始增
2016-07-25 17:36:20 601
转载 什么是JNDI
JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。那么,JNDI到底起什么作用?要了解JNDI的作用,我们可以从“如果不用JNDI我们怎样做?用了JNDI后我们又将怎样做?”这个问题来探讨。
2016-07-13 10:10:20 440 1
转载 NIO
转载自 http://www.iteye.com/magazines/132-Java-NIOJava NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。本系列教程将有助于你学习和理解Java NIO。感谢并发编程网的翻译和投递。 (关注ITeye官微,随时随地查看最新开发资讯、技术文章。) Java NIO
2016-07-11 14:16:17 241
转载 哈希表
哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。 对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的速度明显比树快
2016-07-07 14:28:52 369
转载 谈Java中的hashcode方法
谈Java中的hashcode方法 浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:1public native int hashCode(); 根据这个方
2016-07-07 11:22:13 321
原创 什么是Java位运算符
Java的位运算符位操作是程序设计中对位模式按位或二进制数的一元和二元操作。Java中位运算符应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。位运算符作用在所有的位上,并且按位运算。下表列出了位运算符的基本运算,假设整数变量A的值为60和变量B的值为13:操作符描述例子
2016-07-04 10:50:34 376
转载 java数据结构-HashMap
一直以来似乎都有一个错觉,认为map跟其他的集合类一样继承自Collection,其实不然,Map和Collection在结构层次上是没有任何关系的,通过查看源码可以发现map所有操作都是基于key-value对,而不是单独的元素。下面以HashMap为例子,深入对Map的实现机制进行了解,在这个过程中,请打开jdk源码。Hash算法HashMap使用Hash算法,所以在解
2016-07-01 17:20:19 177
转载 栈内存、堆内存
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。
2016-07-01 17:15:00 232
原创 String,StringBuffer,StringBuilder区别
StringBuilder属于非线程安全,相对为轻量级StringBuffer属于线程安全,相对为较重量级StringBuffer属于线程安全,相对为重量级线程安全的概念: 网络编程中许多线程可能会同时运行一段代码。当每次运行结果和单独线程运行的结果是一样的,叫做线程安全。 为了达到线程安全的目的在一定程度上会降低程序的性能。所以在单线程中,StringBuilder的性能要比
2016-07-01 17:10:45 284
转载 Winform关闭方法的区别
1、Winform点击退出按钮,需要确认再退出:private void MainForm_FormClosing(object sender, FormClosingEventArgs e){if (MessageBox.Show("是否确认退出程序?", "退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == Di
2014-12-24 09:39:25 398
转载 SQL多表连接查询(详细实例)
本文主要列举两张和三张表来讲述多表连接查询。新建两张表:表1:student 截图如下:表2:course 截图如下:(此时这样建表只是为了演示连接SQL语句,当然实际开发中我们不会这样建表,实际开发中这两个表会有自己不同的主键。)一、外连接外连接可分为:左连接、右连接、完全外连接。1、左连接 left join 或 left outer joinSQ
2014-12-18 10:59:27 328
转载 C# DataTable的詳細用法
在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。 一、DataTable简介 (1)构造函数 DataTable() 不带参数初始化DataTable 类的新实例。 Dat
2014-12-17 15:17:09 270
转载 揭开Socket编程的面纱
对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP? TCP/IP(Transmi
2014-12-17 09:39:53 266
转载 SVN 各种标志的意义
黄色感叹号(有冲突):--这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交之前先提交了,这时你再提交就会被提示发生冲突,而不允许你提交,防止你的提交覆盖了别人的修改。要解决冲突,如果你确认你的修改是无效的,则用TSVN还原你的修改就行了;如果认为你的修改是正确的,别人的提交是无效的,那么用TSVN先标记为“解决冲突”,然后就可以提交了;如果你认为你的修
2014-12-08 17:10:37 2055
转载 SQL全国省市数据
select * from provinceselect * from CityCREATE TABLE Province(ProvinceID INT Primary Key ,Name nvarchar(50))CREATE TABLE City(CityID INT Primary Key ,ProvinceID INT ,Name nvarchar(50))INSE
2014-12-04 13:32:12 478
转载 asp.net验证码的实现
先建立一个asp.net窗体ValidateCode.aspx;不写任何东西。直接在后台ValidateCode.aspx.cs中写如下代码: protected void Page_Load(object sender, EventArgs e) { string validateCode = CreateV
2014-12-04 13:29:48 373
转载 省份及城市的下拉框实现
var where = new Array(35); function comefrom(loca,locacity) { this.loca = loca; this.locacity = locacity; } where[0]= new comefrom("请选择省份名","请选择城市名");where[1] = new comefrom("北京","|东城|西城|崇文|宣武|朝
2014-12-04 13:21:12 4044
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人