- 博客(17)
- 收藏
- 关注
原创 Maven Exclude 源码编译,Maven Delete 本地Class
在源码编译期去掉某个java类的编译: <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <executions> <execution> <id>
2016-12-27 16:04:09
465
原创 Java 枚举反射,同属性枚举类型转换
public class EnumUtil { public static <T extends Enum<?>, S extends Enum<?>> T convertEnum(S source, Class<T> targetClass) { if (source instanceof Enum) { String so...
2016-12-14 17:10:28
1385
原创 Java资源加载相对路径和绝对路径
java加载资源的时候相对路径,就是相对本class资源文件的路径,比如:getResourceAsStream("../config.properties"),代表上一级目录下。 绝对路径就是在classPath的绝对路径下查找资源,比如:getResourceAsStream("/config.properties")就是在classpath+/config.properties位置查找...
2016-12-02 10:16:22
650
原创 Java自定义Class加载顺序
[size=medium] 思路一 :打破双亲加载 1、在Java中默认的Class加载顺序都是父类委托加载,但是有些时候需要自定义加载顺序比如OSGI和ali的Pandora。 2、父类委托加载的基本实现思路,loadClass中在parent中查找class,要是不存在parent则使用findBootstrapClassOrNull调用native方法,要是找不到,使用其中find...
2016-12-01 17:33:26
595
原创 Java SPI介绍
一、SPI的全名为Service Provider Interface,是JDK内置的一种机制,是一种动态服务发现的机制。 基本思路是ServiceLoader负责读取写死路径下的配置然后将其中的类加载进行执行,当然这种服务面对的是接口层次。 基本代码层次如下: core.spi.HelloInterface 内容: core.impl.LiMingHello core.impl....
2016-12-01 17:01:11
171
原创 分布式事务-2PC
[size=medium]一、ACID是事务的基本标准,最终的目的就是一致性和持久性,其中原子性和隔离性只是为了满足前面2条的手段;原子性的基本原则是对数据的操作要么全部生效,要么全部不生效;隔离性至少保证在同一批数据的范围内,操作是互斥或者串行的,也就是对相同数据A来说在事务N没有完成之前事务M是不能操作数据A的,要么事务M失败,要么等待N完成。 二、在分布式场景下要想满足原子性的要求,需...
2016-11-29 11:12:09
119
原创 Go语言反射实现Http Url与Method映射
最近使用Go语言,使用http server,做了一个简单Url到StructName/MethodName的简单映射。主要思路是将Url能够StructName/MethodName做个映射,只需在Struct中添加方法就可以添加了实现,比如localhost:9000\struct\a和localhost:9000\struct\b,若是struct需要添加可以定义新的Stru...
2016-11-24 17:01:04
628
原创 Sql使用记录
1、SQL LIKE 忽略大小写的方式 select * from TableA a where UPPER(a.name) like '%MAIL%' 2、Table Inner Join的使用 select a.name,b.name where TableA a join TableB b on a.condition = b.condition where a.filter...
2016-11-23 11:27:08
101
原创 Linux命令使用记录
1、grep查找多参数 grep -E "PID|JAVA" grep -e PID -e JAVA 2、查询进程 ps -aux ps -ef
2016-11-22 21:12:55
85
原创 JVM内存分布
一、最近遇到了引用申请机器规格扩大的问题 但是应用本身的JVM参数调整不太准确,导致要么资源使用率不高,要么Java进程很可能被Kill掉。 以8G内存的机器为例,比较合适的参数: -Xmx:5G 最大的堆内存 -Xms:5G最小的堆内存(直接开辟内存) -Xmn:1G新生代(本应用主要的使用时老年代,表现FullGC比较频繁) -XX:MaxPermSize...
2016-11-22 20:50:35
115
原创 go test单个文件或者单个函数
1、测试单个文件 go test -v file_test.go 2、测试单个文件内单个测试用例 go test -v file_test.go -test.run TestFunc
2016-11-19 13:53:11
1790
原创 字符编码
最早没有使用的是ASCII,用7位表示128个字符:大小写字母、标点、控制符号,这对早期的操作系统是完全足够的,但是随着各国语言的加入这些字符就远远不够了。 最简单的方式就是增加位数,Unicode顺应而出。我们可以将一个符文序列表示为一个int32序列,这种编码方式叫UTF-32,这种方式比较统一,但是大部分数据使用的ACSII就够了这样就很浪费存储空间。 ...
2016-11-13 14:13:23
116
原创 四层负载均衡
四层负载均衡指的是在即在OSI第4层工作,就是TCP层,一般使用的LVS的IP负载均衡;每个LVS中的负载均衡服务器都有一个IP一般称为VIP,而用户对服务请求必须基于对此VIP进行访问, 当用户的请求到达VIP如何分配到RealServer上的,此处有3中实现分别是分别是NAT、TUN和DR: NAT: 即(Virtual Server via Network A...
2016-11-03 17:54:41
353
原创 任务幂等
最近在做一个业务流系统,部署在分布式环境下,使用到分布式调度系统,一是为了在系统宕机,系统发布的时候任务能够在可用的机器上重启重新;二是任务需要重试,等接口执行失败之后需要设置调度系统的间隔时间在业务集群上重启启动任务(业务的线程和进程都可能发生变化),因为业务流中的业务接口都是有影响或者不幂等比如关闭应用,这条命令就不能重复执行。 这就要求每个重试/重启单元是幂等,我的思...
2016-07-15 17:04:29
307
原创 sublime添加eclipse快捷键
[size=large]已经习惯eclipse的快捷键 参考[url]http://blog.icoloma.com/2011/10/eclipse-shortcuts-for-sublime-text-2.html[/url] 将sublime的快捷键设置成eclipse常用的。 方法:在Preferences -> Key bindings - User中输入[/size] [cod...
2015-11-22 11:46:42
173
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人