- 博客(24)
- 收藏
- 关注
转载 命令行中使用java命令执行main方法,自定义文件相对路径所对应的绝对路径
平常在项目中会分模块进行开发,读写文件时使用的都是绝对路径,测试程序也是使用idea直接执行程序。在学习jetty源码时,由于需要在start模块中启动项目,但需要动态加载依赖的其他模块,此时代码中使用的是相对路径,在使用idea启动程序的时候,可以正常执行,但在命令行中使用java命令启动程序时,总是会报java.lang.ClassNotFoundException,分析原因见下:...
2017-02-08 17:15:00
923
转载 String对象intern方法的分析和理解
以下测试结果都是在HotSpot JDK1.7中运行的源码:public class Intern{ public static void main(String[] args){ String str1 = new StringBuilder("计算机").append("系统").toString(); System.out....
2016-04-27 22:40:00
181
转载 StackOverflowError的分析和理解
1. 在java虚拟机规范中,定义了在虚拟机栈和本地方法栈中会产生StackOverflowError2. 虚拟机栈和本地方法栈一般就是我们说的java内存管理中的栈3. 虚拟机栈和本地方法栈是线程之间的独立内存,每一个线程在创建时,java虚拟机都会给该线程分配一块独立的内存区域,一般将此内存区域划分为虚拟机栈,本地方法栈,程序计数器4. 虚拟机栈中存储了方法执行时相关信息...
2016-04-26 10:26:00
217
转载 linux下expect的简单使用
expect 可以模拟用户行为做一些shell操作, 如ssh登陆远程服务器, 模拟用户执行ssh命令, 输入密码, 并在远程服务器上操作等模拟用户开启或重启nginx进程代码: 1 #!/usr/bin/expect -f 2 set n [exec ps -ef | grep nginx | grep -v grep | wc -l] #执行shell命令并将结果赋值...
2016-01-19 10:04:00
191
转载 业务逻辑导致事务执行时间长产生脏读脏数据问题
订单处理步骤:1. 订单平台在支付完成后,会通过消息系统通知业态处理订单2.业态处理完成订单后,如果此时已经到了订单完成的步骤则会通过消息系统通知订单平台订单完成3. 订单平台处理订单完成后续逻辑业务场景:1. 保洁订单属于后定价订单,在支付完成后订单状态就已经完成2. 订单平台在处理支付的时候发消息给保洁业态,告诉业态订单支付完成,但此时订单平台数据库事务还没...
2016-01-15 20:57:00
337
转载 使用java原生的javax.jws包实现简单的webservice server和client
server:接口: 1 package com.mrlu.webService; 2 3 import javax.jws.WebParam; 4 import javax.jws.WebService; 5 6 /** 7 * Created by stefan on 16-1-11. 8 */ 9 @WebService10 ...
2016-01-11 18:05:00
1739
转载 mybatis forEach标签item影响其他标签判断的问题
mapper.xml文件中,多个标签中存在属性中使用同名变量,若前边的标签修改了变量的值,则前边的标签可能会影响后边的标签(一般是forEache标签影响后边标签),示例: 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapp...
2016-01-09 15:11:00
528
转载 mybatis缓存介绍
原文地址:http://www.cnblogs.com/selene/p/4638648.html一级缓存示例: 1 public static void main(String[] args){ 2 String resource = "mybatis-config.xml"; 3 try { 4 Rea...
2016-01-08 19:09:00
36
转载 关于mybatis解析plugin及plugin使用的理解
mybatis支持插件来插入自定制的处理过程,所有的plugin都需实现Interceptor接口,自定制的处理过程可以在Executor,ParameterHandler,ResultSetHandler,StatementHandler四个处理过程中插入,原理是在使用这四中类型处理数据的时候使用的都是经过plugin处理过的代理对象。同一个处理过程支持配置多个plugin,则plug...
2016-01-08 18:31:00
122
转载 mybatis配置文件解析原理简略时序图
配置文件解析主要用到XMLConfigBuilder(解析mybatis-config.xml) --> XMLMapperBuilder(解析mapper.xml) --> XMLStatementBuilder(解析mapper.xml中cache, resultMap等配置信息,包括处理sql语句中的include标签) -->XMLScriptBuilder(...
2016-01-07 18:16:00
69
转载 mybatis使用笔记
1. mapper.xml配置文件中,只要调用到了insert方法,不管name为不为空都会执行到preparedStatement.update()方法,如果name为null,此时就会报Query is Empty的异常1 <insert id="insert">2 <if test="name != null">3...
2016-01-05 17:47:00
56
转载 Mybatis执行过程简介
以下是使用mybatis默认设置PreparedStatement执行insert的简略时序图,省略了XMLConfigBuilder.parse()的解析细节,缓存和事务等的使用,可以和源码对照着看XMLConfigBuilder:解析mybatis配置文件 XMLMapperBuilder: 解析mapper配置文件 XMLStatementBuilder: 解析...
2016-01-05 16:35:00
66
转载 关于MySQL提供的Last_insert_id()函数使用的理解
Last_insert_id()是MYSQL提供的返回当前客户端最后一个insert或update查询中设置为AUTO_INCREMENT列的值Last_insert_id()不受其他客户端影响,所以是线程安全的,当前客户端只能拿到当前客户端的最新值,不需加锁处理mybatis解析配置文件,执行SQL,转换结果的过程:SqlSessionBuilder --> SqlS...
2016-01-04 22:40:00
111
转载 关于mybatis中mapper文件resultMap中collection和association的使用
mybatis mapper配置文件结果集映射resultMap中collection属性(一对多关系结果集映射)和association属性(多对一关系结果集映射)理解:collection的使用有两种resultMap和select,必须手动指定一种association的使用和collection使用类似,只是right join需换成left join1. 实体类:...
2015-12-31 18:23:00
279
转载 Mysql 四中事务隔离级别
原文地址: http://www.cnblogs.com/zhoujinyi/p/3437475.html1.Read Uncommitted 可能发生脏读2.Read Committed 可能发生不可重复读3.Repeatable Read 可能发生幻读(一般是默认行为)4.Serializable脏读: 事务未提交之前,其他事务能查到当前事务修改的记录...
2015-12-31 15:29:00
53
转载 mysql查看表结构信息
原文地址:http://my.oschina.net/zimingforever/blog/64145需求背景是给一个表名然后给出相应的表结构信息及索引信息常用的命令有如下:1. desc tableName;desc employees.employees;2. show columns from tableName;show COLUMNS from emplo...
2015-12-30 19:06:00
147
转载 关于ThreadLocal类的理解
在多线程的环境下,共享资源的访问就变得不安全了,ThreadLocal类可以保证每个线程使用的都是共享资源的一个副本,从而保证线程之间的资源都是独立的,确保资源的线程安全源码片段(带官方注释): 1 /** 2 * Returns the current thread's "initial value" for this 3 * thread-lo...
2015-12-29 20:55:00
48
转载 关于PreparedStatement原理的理解
详细介绍:https://www.zybuluo.com/stefanlu/note/254899参考链接:http://www.xuebuyuan.com/2021136.html代码: 1 public class Main { 2 public static void main(String[] args){ 3 Connection...
2015-12-28 16:27:00
183
转载 多线程中使用ExcetorService的理解
java.util.concurrent包里提供了关于多线程操作的类,平常用的比较多的是ExecutorService及其实现类(如ThreadPoolExecutor等),Executor,Executors,Future,Callable等1. ExecutorService(继承自Executor)接口:提供了一些异步的多线程操作方法,如execute(), submit(),...
2015-12-23 20:47:00
345
转载 关于JS中数组splice,concat的用法和AngularJs中filter的补充知识
一 JS数组相关操作 1. splice函数,可做插入,删除,替换操作 1 <script> 2 "use strict" 3 var arr = ['z3']; 4 arr.splice(1,0,'l4'); 5 alert(arr); //z3,l4 6 arr.splice(1,1,'w5')...
2015-12-22 17:58:00
161
转载 使用cglib和JAVA反射实现AOP操作数据库增删改查的简单功能
对mybatis理解的还不是特别深刻,只会简单的使用,实现这个功能跟平常使用spring+mybatis时的DAO操作有点类似,spring+mybatis具体内部实现还不清楚,后续要继续学习代码:1. 实体类: 1 package com.mrlu.concurrency.domain; 2 3 /** 4 * Created by stefan on ...
2015-12-21 20:52:00
125
转载 ubuntu下使用python实现将截图上传到七牛服务器,并将七牛生成的外部链接添加的剪切板的功能...
目的:在使用markdown来记录文档时,不必每次都将截图存到文档中,只需将图片链接存放到文档中,此时就想到了需要使用云服务器和自动上传文件的功能OS: Ubuntu 15.10version 0.1:工具:截图工具shutter, 剪切板操作工具: xsel源代码: 1 #!/usr/bin/python 2 import time ##时间模块,使用时间...
2015-12-20 17:45:00
176
转载 关于JDK动态代理和CGLIB动态代理
1.代理模式一句话总结:为其他对象提供一种代理以控制对这个对象的访问。千篇一律的介绍:代理模式是常用的java设计模式,他的特征是代理类与委托类(或目标类)有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托...
2015-12-19 16:25:00
119
转载 关于MySQL中存储类型为Float,使用jdbc查询时丢失精度,或者自动四舍五入的问题...
一. mysql表结构:member_price列的数据类型是float(20,2)(注: 表示最多20位浮点数,精度为2位)插入记录:INSERT INTO `member_price` (`id`, `data_type`, `month`, `member_count`, `member_price`, `create_at`) VALUES ('1', '1...
2015-12-18 19:33:00
482
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人