`
文章列表
在源码编译期去掉某个java类的编译: <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <executions> <execution> <id>default-compile</id> <phase>compile</phase> <goals> <goal>compile& ...
public class EnumUtil { public static <T extends Enum<?>, S extends Enum<?>> T convertEnum(S source, Class<T> targetClass) { if (source instanceof Enum) { String sourceEnum = ((Enum<?>) source).name(); try { return getEnumObject(sourceEnum, targetCla ...
java加载资源的时候相对路径,就是相对本class资源文件的路径,比如:getResourceAsStream("../config.properties"),代表上一级目录下。 绝对路径就是在classPath的绝对路径下查找资源,比如:getResourceAsStream("/config.properties")就是在classpath+/config.properties位置查找。 其中classpath可以用户自己去查看 System.out.println(System.getProperty("sun.boot.cla ...
思路一 :打破双亲加载 1、在Java中默认的Class加载顺序都是父类委托加载,但是有些时候需要自定义加载顺序比如OSGI和ali的Pandora。 2、父类委托加载的基本实现思路,loadClass中在parent中查找class,要是不存在parent则使用findBootstrapClassOrNull调用native方法,要是找不到,使用其中findClass去查找。 3、普通自定义classLoader只是继承loadClass方法,实现findClass做到自定义去加载自己位置或者自己实现的class。但是要想打破父类委托机制去自定义前后顺序去加载class就要完全自己去实现 ...
一、SPI的全名为Service Provider Interface,是JDK内置的一种机制,是一种动态服务发现的机制。 基本思路是ServiceLoader负责读取写死路径下的配置然后将其中的类加载进行执行,当然这种服务面对的是接口层次。 基本代码层次如下:  core.spi.HelloInterface 内容: core.impl.LiMingHello core.impl.WangChaoHello  Main 函数: package core; import java.util.ServiceLoader; import core.spi.HelloIn ...
一、ACID是事务的基本标准,最终的目的就是一致性和持久性,其中原子性和隔离性只是为了满足前面2条的手段;原子性的基本原则是对数据的操作要么全部生效,要么全部不生效;隔离性至少保证在同一批数据的范围内,操作 ...
      最近使用Go语言,使用http server,做了一个简单Url到StructName/MethodName的简单映射。主要思路是将Url能够StructName/MethodName做个映射,只需在Struct中添加方法就可以添加了实现,比如localhost:9000\struct\a和localhost:9000\struct\b,若是struct需要添加可以定义新的Struct然后将新的Struct注册进去就可以。 核心代码: type Server struct { allStruct map[string]*StructDefind } type St ...
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 = 'aFilter' and b.filter = 'bFilter'   内联是交集,外联是并集,左外联左全集
1、grep查找多参数       grep -E "PID|JAVA"       grep -e PID -e JAVA 2、查询进程       ps -aux       ps -ef
一、最近遇到了引用申请机器规格扩大的问题 但是应用本身的JVM参数调整不太准确,导致要么资源使用率不高,要么Java进程很可能被Kill掉。 以8G内存的机器为例,比较合适的参数: -Xmx:5G          最大的堆内存   -Xms:5G最小的堆内存(直接开辟内存) -Xmn:1G新生代(本应用主要的使用时老年代,表现FullGC比较频繁) -XX:MaxPermSize:256m 方法区 -XX:MaxDirectMemorySize:512m (jni里分配的内存,DirectByteBuffer分配的内存等等)     所以使用的内存 5G+256m+51 ...
1、测试单个文件 go test -v  file_test.go   2、测试单个文件内单个测试用例 go test -v file_test.go -test.run TestFunc    
       最早没有使用的是ASCII,用7位表示128个字符:大小写字母、标点、控制符号,这对早期的操作系统是完全足够的,但是随着各国语言的加入这些字符就远远不够了。        最简单的方式就是增加位数,Unicode顺应而出。我们可以将一个符文序列表示为一个int32序列,这种编码方式叫UTF-32,这种方式比较统一,但是大部分数据使用的ACSII就够了这样就很浪费存储空间。        更进一步采用变长字符表示这些字符,这就是UTF-8,基本思路就是使用额外的字段对解析方式做了区分。 0xxxxxxx (ASCII) 110xxxxx 10xxxxxx 128-204 ...
    四层负载均衡指的是在即在OSI第4层工作,就是TCP层,一般使用的LVS的IP负载均衡;每个LVS中的负载均衡服务器都有一个IP一般称为VIP,而用户对服务请求必须基于对此VIP进行访问,     当用户的请求到达VIP如何分配到RealServer上的,此处有3中实现分别是分别是NAT、TUN和DR:     NAT: 即(Virtual Server via Network Address Translation):     网络翻译技术实现虚拟服务器,当用户的请求到达VIP Server的时候,VIP Server根据一定的负载均衡策略,修改报文的目的IP和端口为Real ...
代码坏味道整理

在线Topic

1、DDD 领域驱动设计
Global site tag (gtag.js) - Google Analytics