java
文章平均质量分 56
wait_for_eva
longer
展开
-
es-dsl
DSL原子查询查询全部GET /{index}{ "query":{ "match_all":{} }}match# 简写GET /{index}/_search{ "query":{ "match":{ "{field}":"ABCD" } }}# 全GET /{index}/_search{ "query":{ "match":{原创 2021-03-08 23:21:34 · 199 阅读 · 0 评论 -
simple-bytebuddy
操作对象// 这个对象作为操作工具起点ByteBuddy byteBuddy = new ByteBuddy();环境设置byteBuddy.with(new NamingStrategy() { private final String genericPrefix = "com.godme.bytebuddy."; public String subclass(TypeDescription.Generic generic) {原创 2021-03-04 17:22:18 · 153 阅读 · 1 评论 -
java-hash
对象比较两个对象,是否相等上述命题是否正确呢?其实问题本身就存在问题两个对象指向的是同一个实体两个对象确定是不同实体,但是实体之间存在比较关系对于不等判断太简单,而对于相等这个话题,需要深究。硬相等如果两个对象确定是同一个,这个时候可以称得上是相等的:自身必然是自身。这种所谓的相等其实是指定对象的身份验证,属于一种物理上的相等。软相等这是一种普遍的、常态的比较方式,正如同一个牌子,同一个型号这种说法。在大多时候,即使是不同的事物,我们也需要它相等,这时候需要的是逻辑上的相等。原创 2021-04-22 17:50:03 · 110 阅读 · 0 评论 -
java-synchronized层次
缺点什么思考还是吃饭,这是一个问题。一个坑位一个人,的确不能你拉我身上,我拉你兜里。对于存在多个独立的操作者对公共资源的操作的问题,为了维持秩序,也为了公共财产的安全,应该需要那么一种东西来保证对于公共资源,每次只能够有唯一一个操作者操作这时候,就应该有一个凭证,它让拥有的操作,未拥有的等待;贴切一点,就把它称为了锁,有了锁就拥有了操作权,想要操作,就需要先获取锁。阴阳颠倒对于多锁导致的死锁问题这里不赘述,主要讨论锁和资源的主次地位的变化。锁怎么来的,大概是这样了;更混乱的问题原创 2021-04-21 01:20:50 · 121 阅读 · 0 评论 -
java-apollo控制日志级别
@Configurationpublic class LoggerLevelUpdater { private static final String PREFIX = "logger.level."; private static final String DEFAULT_LEVEL = "WARN"; private static final String NAMESPACE = "application"; @Autowired Loggi原创 2021-03-08 13:56:33 · 220 阅读 · 0 评论 -
java-字节码例子
IDEA工具工具配置快捷键设置主要是我菜单实在找不到externel tool,只能直接用快捷键了。简单例子指令格式index command [<operand1> <operand2> ...]fielddescriptionindex编号,简单当作地址command操作命令operand操作数简单例子1 public static void main(String[] args) { int原创 2021-03-01 19:59:54 · 389 阅读 · 0 评论 -
java-简单字节码指令
类型指令opcodebyteshortintlongfloatdoublecharreferenceTipushbipushsipushTconsticonstlconstfconstdconstaconstTloadiloadlloadfloaddloadaloadTstoreistorelstorefstoredstoreastoreTinciincTaloa原创 2021-03-01 15:34:32 · 166 阅读 · 0 评论 -
java-间接引用
@TOC引用的必要一个文件实现一个复杂功能的时代已经过去了,甚至一个工程实现一个项目都逐渐被淘汰。限于层级的划分、项目的管理、功能的扩展等因素,在程序的设计之初,就有了引用的概念。使用既定的方式,去使用已经完成的功能或者对象。部门间的流转、模块间的导入都是如此,仅仅关注于自身的逻辑管理,而其他部分只关注接口。诸多的编程语言中,基本的共同点,就是包、模块的引入。Go语言中,方法间存在两种引用:值传递和引用传递。一个大对象,占据内存为S,如果是值传递,经过n个操作方法,内存占用为(n+1)原创 2020-06-26 16:41:25 · 928 阅读 · 0 评论 -
drools-agent
加载 public static KnowledgeBase getAgentBase(){ // 资源管理配置,静态工厂方式进行获取 ResourceChangeScannerConfiguration resourceConfig = ResourceFactory.getResourceChangeScannerService().newResourceChange...原创 2018-09-14 16:50:32 · 328 阅读 · 0 评论 -
java-编译
主角编译的主角是JavaFileObject,就是它,把源码变成了class。从名字就可以看出来,它是java的文件对象,作为桥梁,完成java到class的转化。不过管事是SimpleJavaFileObject,完成更具体的工作,也留下了插手的余地。public class FileObject extends SimpleJavaFileObject { private St...原创 2018-11-02 16:15:43 · 194 阅读 · 0 评论 -
ArryList
数组复制复制层级让另一个事物,具备另一个事物的相同属性,这就叫做拷贝,或者说复制。要理解程序中的拷贝,首先要明白名称和内存的这两个部分。 Objectnamememory一般来说,我们通过name去操作body,但是全部的信息都是在body中。浅拷贝浅拷贝,所谓的浅,指的是不私有,这种拷贝,没有独立的自我空间。 Objectnamebodycopy实体并没有发生变化。pub...原创 2019-04-20 17:47:15 · 718 阅读 · 0 评论 -
HashMap简单理解
基本信息存储容器transient Node<K,V>[] table;存储容器是基本的数组形式,依据ArrayList一样的方式,我们可以进行扩容。存储类型 static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K ke...原创 2019-04-20 22:19:32 · 113 阅读 · 0 评论 -
树简单描述
二叉树特征父节点值左子节点右子节点左子节点值小于当前节点值右子节点值大于当前节点值影响根节点不合理,会形成线性节点链,变成单边线性节点树。平衡二叉树特征维持二叉树基本特征插入时涉及树结构调整,维持树均衡影响左右子树整体平衡注重平衡,数据过多时维护开销增多,代价大。B树特征不涉及具体严格定义,仅粗略描述子节点增多节点值增多通过...原创 2019-04-21 17:08:20 · 187 阅读 · 0 评论 -
反射
获取类对象对象获取 Student student = new Student(); Class clazz = student.getClass();类获取 Class clazz = Student.class;类名获取 Class clazz = Class.forName("Student");试验类public class Student { p...原创 2019-04-21 19:49:40 · 94 阅读 · 0 评论 -
反射小例子
基本类型判断手动判断 public static boolean isPrimitive(Object obj){ if( obj instanceof Boolean || obj instanceof Byte || obj instanceof Short || obj instanceof C...原创 2019-04-23 00:45:14 · 92 阅读 · 0 评论 -
drools-changeSet
基本形式<change-set xmlns='http://drools.org/drools-5.0/change-set' xmlns:xs='http://www.w3.org/2001/XMLSchema-instance' xs:schemaLocation='http://drools.org/drools-5.0/change-setchange-set-5.0.xs...原创 2018-09-14 15:55:29 · 277 阅读 · 0 评论 -
静态方法获取调用类
场景 静态方法,必然是总集办法。 比如工厂类?公共的静态方法?比如打印日志什么的。 静态方法共有的一个特性,那就是提供方法给别人调用,且十分方便(抛开静态的开销的话)。 但是,唯一的弊端就是不由自主。因为调用的地方很多,静态方法很难做到自己的上下文管理。 比如打印日志,打在外面吧,没有详细信息,打在内部吧,又不知道谁调用了。 逻辑的具体实...原创 2018-09-07 17:21:45 · 3266 阅读 · 1 评论 -
drools-自成一派
变量drlpackage com.sample import com.sample.Person;import com.sample.Pet;import java.util.ArrayList;import java.text.SimpleDateFormat;import java.util.Date;// 设置全局变量,需外部传入// 局部变量就不说了,哪都有用着...原创 2018-08-30 14:46:12 · 467 阅读 · 0 评论 -
JVM类加载和静态存储
静态的,那就是最优先的修饰当中,总有几个骚东西如果说public,protected,default(friendly,就是没有修饰符啦)定义的是访问权限范围的话static定义的就是优先级了想要创建对象,先查户口,看看老爹(继承父类),再看看老妈(接口)追到老祖宗,查遍户口本了,才开始到你创建对象可不是构造方法开头的,如果你这么以为,那就错了操作语句不原创 2017-12-23 19:01:27 · 467 阅读 · 0 评论 -
折弯它的流,再挂个钩
不管牛不牛,菜不菜,文件流那都是会接触到的现在来说说比较普遍的三种流stdin:标准输入流stdout:标准输出流stderr:标准错误流这三种,操作系统都需要它,linux,Mac,windows...至于文件流,也是一样的东西,只不过构造和连接对象上有所区别用eclipse的话输入流:从控制台读取,进入程序输出流:程序内数据读取,控制台输出原创 2017-12-23 20:32:07 · 232 阅读 · 0 评论 -
java读取配置文件properties乱码问题
常见用法public static void main(String[] args) throws FileNotFoundException, IOException { Properties prop = new Properties(); prop.load(new FileInputStream(new File("filename"))); }通常没有严格规范的时候,...原创 2018-08-06 10:31:10 · 7327 阅读 · 2 评论 -
有则改之无则插入duplicate
场景 数据库中常用的莫过于增(insert), 删(delete), 改(update), 查(select)。 不过,业务方面偏重是必然的:用户激增:insert 垃圾数据:delete 频繁变化:update 判断依据:select但是,场景并不是一成不变的,现实情况常有一些特殊的需求。比如,有则修改,无则增加。办法针对这种要求,拆分成简单逻辑只不过...原创 2018-08-10 14:37:28 · 242 阅读 · 0 评论 -
drools-属性筛选
条件连接默认连接// 逗号分隔,相当于并列条件,必须同时满足Person(name == "godme", age > 18)手动关联// 对象真值用and, or;属性关联用 &&, || ;// 其实都可以,但是推荐区分使用,划分明了Person((name == "godme" && age > 25) || gender...原创 2018-08-27 11:40:46 · 546 阅读 · 0 评论 -
drools-安装
下载http://download.jboss.org/drools/release/该有的,不该有的,这个目录都有具体版本随便选择记住这两个,后面用,其他的目前用不上安装选择的文件和目录要注意区分勾选要安装的东西运行时安装完成以后,可以再配置中看到此时,即使创建工程,会提示找不到runTime,需要进行指定安装点开菜...原创 2018-08-23 14:53:05 · 1026 阅读 · 1 评论 -
drools-加载流程
package com.sample;import java.util.Arrays;import org.drools.KnowledgeBase;import org.drools.KnowledgeBaseFactory;import org.drools.builder.KnowledgeBuilder;import org.drools.builder.Knowledge...原创 2018-08-30 19:50:24 · 692 阅读 · 0 评论 -
drools-数据提取和属性筛选
beanpackage com.sample;public class Person { private String name; private int age; private Gender gender; public String getName() { return name; } public void setName(String name) { thi...原创 2018-08-23 15:59:33 · 3808 阅读 · 0 评论 -
drools-语句的理解
package com.sample import com.sample.Person;import com.sample.Pet;rule "find" when /* drools所谓的规则,在于两点 1. 操作条件 0. 入口条件 1. 操作对象 2. 对象操作 */ ...原创 2018-08-23 18:43:46 · 353 阅读 · 0 评论 -
drools-规则属性
结构package com.godme.rules; // packageimport com.godme.Person; // importglobal Person person; // globalfunction func(){} // functionquery // queryrule "ruleNa...原创 2018-08-28 17:18:11 · 1516 阅读 · 0 评论 -
drools-对象增删改查
容器 这东西现在也大致有个了解了,不讲究细节,大致来看也就是 规则 + 数据 好比算法 + 数据 = 程序,抛去执行流程,规则也就是固定的算法,所以 drools = rule + fact 如果说程序要有一个运行环境,那么,drools也需要有一个环境来执行这个操作 这个容器(环境)中,有rule和fact 从代码执行顺序,...原创 2018-08-28 19:01:00 · 2237 阅读 · 0 评论 -
drools-定时器
drlpackage com.sample;import java.text.SimpleDateFormat;import java.util.Date;global java.text.SimpleDateFormat fmt;rule "timer" // 定时器的两种类别 // 1. java.util.Timer // 1. 定时执行 // 2. 重复...原创 2018-08-31 18:56:51 · 1323 阅读 · 9 评论 -
drools-对象筛选扩展
类型判断 // int age // 查询时条件不分类型,一般直接匹配到自动识别 Person(name=="godme",age==88) // 类型不对会尝试强制转换,转换成功后继续操作 Person(name=="godme",age=="88") // 类型强转失败,直接报错 Person(name=="godme",age...原创 2018-09-01 14:44:30 · 1271 阅读 · 0 评论 -
多线程
最近在看java并发方面的一点知识,看了几个博客好蛮好的,收集一下: java并发可以看看这个infoq上的资料本篇博客转自这里:第一部分来看一下线程池的框架图,如下: 1、Executor任务提交接口与Executors工具类...转载 2018-09-04 20:50:45 · 113 阅读 · 0 评论 -
final...?
final?finally?finalize?几个同胞兄弟的作用却是迥异按照一般的学习顺序的话final:用来标识一个段子绝孙的家伙1. 标记对象:标记的东西可以是类,对象,反正是可以调用的东西2. 标记作用:被标记也就被阉割了,断子绝孙;类不再可以被继承,变量不再可以换内容3. 标记用途: 1. 个体独立:想要一些不想被修改的东西?保持自己的个性?那就是它了,好原创 2017-12-23 17:49:03 · 134 阅读 · 0 评论