- 博客(42)
- 收藏
- 关注
原创 mybatis中使用枚举值表示常量
枚举类${@枚举类全限定名@枚举对象.属性的get方法()}内部枚举类${@外部类全限定名$枚举类名@枚举对象.属性的get方法()}
2019-12-16 20:09:55 565
原创 spring单测时出现卡住不动的情况
报错:Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory...root of factory hierarchy解决方案:设置JVM参数即可:
2019-09-06 15:59:18 1163
原创 git操作遇见fatal: Exiting because of unfinished merge.错误
解决方案:将git add .添加到缓存的文件commit即可或者将修改文件放弃直接reset
2019-08-29 21:08:51 6253
原创 maven项目编译时出现java.lang.OutOfMemoryError: GC overhead limit exceeded
在maven项目编译的时候可能出现内存异常报错信息:系统资源不足。有关详细信息, 请参阅以下堆栈跟踪。java.lang.OutOfMemoryError: GC overhead limit exceeded at com.sun.tools.javac.file.ZipFileIndex$ZipDirectory.readEntry(ZipFileIndex.java:669)...
2019-08-29 11:01:27 2994
原创 maven项目中pom.xml文件中<project>标签报错
报错信息:java.lang.StackOverflowError less... (Ctrl+F1)Inspection info: Inspects a Maven model for resolution problems.java.lang.StackOverflowError报错截图:解决方案:pom.xml中依赖的包有问题,采用排除法排除相关依赖包即可...
2019-08-28 21:42:05 3124 2
原创 IDEA或单测运行报Command line is too long解法
这个问题很简单,直接修改项目下 .idea\workspace.xml,找到标签<component name="PropertiesComponent">, 在标签里第一行加一行<property name="dynamic.classpath" value="true" />...
2019-08-28 11:16:59 269
原创 JVM之java内存区域与内存溢出异常
前言:之前也研究过JVM好久了,但是一直没有写博客,而是都是自己做的笔记,现在开始慢慢从笔记上总结下然后输出一些博客吧,也算是重新温故下知识点运行时数据区域:java虚拟机在执行Java程序时将其所管理的内存划分为若干不同的数据区域,包括:堆 栈 方法区 程序计数器PC 本地方法栈程序计数器:程序计数器是一块较小的内存空间,它可以看做当前线程正在执行的字节码的行号指示...
2019-08-25 19:45:13 122
原创 Mybatis源码学习之路三反射模块核心类Reflector类详解
前言:Reflector是Mybatis中反射模块的基础,每个Reflector对象都对应一个类,而Reflector中缓存了反射操作需要使用的类的原信息本片博客详解了下Reflector中各个方法是如何将属性中所需的信息进行填充的,代码中都写入的比较详细的注释Reflector类解析:类成员变量解析://对应的Class类型private final Class<?...
2019-08-17 21:37:27 255
原创 Mybatis源码学习之路二解析器模块
一 前言Mybatis在初始化过程中处理mybatis-config.xml核心配置文件时,使用的是DOM解析方式,并结合使用XPath解析XML配置文件 Mybatis对XML解析功能进行了封装,由解析器模块提供支持,其中核心类为XPathParser,它封装了XPath、Document以及EntityResolver等二 基础知识XML解析常见的三种方式: DOM(Docume...
2019-08-13 21:47:48 166
原创 Mybatis源码学习之路一
一、前言工作三年了,各种开发框架也用的十分熟练。现在学习的时候渐渐也不满足使用上,所以开始涉猎源码,也是希望自己的技术能力能更近一步,自己想法也是从Mybatis框架源码开始,在博客上记录下,和大家一步进步二、ORM框架传统JDBC常见的步骤: 注册数据库驱动类 通过DriverManager打开数据库连接 通过连接创建相应的Statement 通过Statement执行相...
2019-08-11 22:42:11 216
原创 智能客服通信模块实现方式
一、前言不知不觉来到新公司已经快半年,经历了智能客服项目从刚开线时什么都不确定,到现在系统基本稳定并且扛过了大促时的高峰流量,这其中经历了很多艰辛,但是也的确收获了很多。特别是刚开始从原有阿里云客服流量全切我们系统时,很多问题都爆发了出来,由于是我负责核心通信模块的开发,自然也是由我去跟踪线上问题并解决。也是跳过了很多坑,在这里总结一下吧二、原有的通信架构在我没来之前,其实项目已经启动了...
2019-08-04 15:30:29 432
原创 Elasticsearch实战系列(八)--ES常见操作
查询ES下所有的索引 curl '192.168.160.128:9200/_cat/indices' 删除指定的索引 curl -XDELETE '192.168.160.128:9200/index1' 删除指定的多个索引 curl -XDELETE '192.168.160.128:9200/index1,index2' 删除所有索引 curl -XDELETE '...
2019-07-28 22:30:32 181
原创 Elasticsearch实战系列(七)--ES中字段的定义
一、字段的类型核心类型 字符串text和keyword 数值 日期 布尔 其它类型 核心类型派生的复杂类型数组 嵌套类型,它允许在文档中包含其它文档 字符串text和keyword 其中text分词用于全文检索,而keyword不分词用于聚合和排序 数值类型 可以是浮点数、也可以是非浮点数。如果不需要小数,可以选择byte、short、int或者lon...
2019-07-18 23:59:29 2836
原创 Elasticsearch实战系列(六)--ES的基本配置
一、ES配置文件ES配置相关的三个文件 elasticsearch.yml文件配置ES相关设置 jvm.option文件配置ES所运行的Java虚拟机即JVM log4j2.properties文件用于配置日志选项 ES日志记录通过3类文件组织 主要日志:放置综合信息,比如新的节点假如集群 慢搜索日志:默认情况下,如果一个查询花费的时间多于半秒,将进行记录 慢索引日志...
2019-07-10 21:13:08 341
原创 Elasticsearch实战系列(五)--搜索数据
一、前言搜索是ElasticSearch的终极目标,通常我们使用GET请求携带搜索条件进行搜索 curl '192.168.160.128:9200/testindex/testtype/_search?q=name:zhangsan' 其中: name为指定的字段,若直接q=zhangsan则表示查询所有字段,即_all字段 若需要指定结果数,可以使...
2019-07-10 16:47:47 171
原创 Elasticsearch实战系列(四)--索引数据简述
一、索引数据的方式直接使用cURL和REST API,发送json文档给ES进行索引,将会返回JSON应答 案例 curl -H "Content-Type: application/json" -XPUT '192.168.160.128:9200/testindex/testtype/1?pretty' -d '{"name":"zhangsan","age":"25"}'...
2019-07-10 14:39:07 450
原创 Elasticsearch实战系列(三)--CentOS7下安装ES
一、步骤使用wget命令获取es的tar包 解压该tar包 运行bin目录下的elasticserach脚本二、问题root账号不能执行elasticsearch脚本问题,解决方案 创建一个账户,并将解压后的目录所有人设置为该用户 切换到该用户进行启动ES 启动报错: ERROR: [4] bootstrap checks failed [1]: ma...
2019-07-10 00:24:27 101
原创 Mac下VmWare Fusion虚拟机设置静态IP
一、查看Mac下两个虚拟网卡vmnet1和vmnet8的地址vmnet1网卡用于主机间通讯 vmnet8网卡用于nat通讯 命令:ifconfig二、查看Centos7系统中默认路由由于Vmware Fusion安装Centos7后默认采用dhcp通讯 此时可以采用route -n查看默认路由,我这里路由为192.168.1.2。网卡里面的网关和DNS都需要设置该IP三、修改网卡...
2019-07-09 23:17:35 1089
原创 Elasticsearch实战系列(二)--逻辑设计和物理设计
一 ES的逻辑设计什么是逻辑设计? 搜索应用应该注意的 ES的逻辑的设计是什么? 文档、类型、索引 用于索引和搜索的基本单位是文档。文档以类型来区分,类型包含若干文档。一个或多个类型存在于同一索引中 文档相当于行数据、类型相当于表、索引相当于数据库 如何确定ES中的某篇文档? 索引-类型-ID,其中id是一个字符串,并没有限制。 什么是文档? ES中索引和搜索...
2019-07-04 23:32:58 428
原创 Elasticsearch实战系列(一)---ES简介
1.什么是搜索引擎,能解决什么样的问题?快速的返回搜索结果或者相应的统计信息,即解决快速搜索的问题引擎可以快速的返回查询结果,而且这些结果都是相关的搜索引擎还能提供辅助搜索的功能,这些辅助功能包括识别错误输入,给出自动提示,并对结果进行分类2.什么是ES?ES是构建在Lucence基础之上的开源分布式搜素引擎,Lucene是个高性能的搜索引擎包,默认情况下将所有的数据全部进行索...
2019-07-04 16:14:38 386
原创 起始点
一 前言 今天是6月30号,自己工作也恰好三年了。这三年里经历过2份工作(最近刚换工作过了试用期),自己也顺利的从传统行业转战到互联网行业。说说自己的感想,并且给自己立点flag吧,毕竟未来的路还很长。二 现况 目前我们团队在做客服系统这一块,是一个新的团队。负责人挺nice的,一个经验丰富而且性格随和的资深工程师,觉得自己在这里可以学到很多(这也是为啥当初入职后有公司提供更...
2019-06-30 15:15:45 550
原创 java虚拟机运行时数据区域划分------java堆
Java虚拟在执行Java程序时会将其管理的内存划分为不同的数据区域,分别为: 虚拟机栈 堆 方法区 程序计数器 本地方法栈 对于大多数应用来说,堆是java虚拟机所管理内存最大的一块 生命周期:java堆在虚拟机启动的时候创建,被所有线程所共享 用途: java虚拟机规范中描述:所有的对象实例和数组都是在堆上分配内存,但是随着JIT即时编译的发展和逃逸分析技术的逐渐...
2018-09-02 17:51:41 115
原创 记一个问题
1.SSM框架在使用mybatis自己实现的二级缓存时出现错误Caused by: java.io.NotSerializableException: oracle.jdbc.driver.T4CConnection2.解决办法:采用ehcache作为二级缓存框架
2017-08-23 08:45:53 177
原创 XML学习笔记
序:很久没有用到XML了,很多东西都忘记了。最近重温了下,在这里记录下笔记。1.XML(Extensible Mark Language)(1)标准通用标记语言的子集(2)用于标记电子文件使其具有结构性的标记语言(3)适合万维网传输(4)标记数据,定义数据类型,允许用户自定义自己的标记语言的源语言2.设计宗旨(1)传输数据而非显示数据(2)XML仅仅为纯文本3.
2017-08-09 21:49:36 272
原创 jquery treeview初始化时收缩全部节点并显示指定节点
1.问题:treeview初始化时会默认展开所有节点,但是我需要初始化时只展开指定节点 项1 项1.1 项1.2 项1.3 项2 项2.1 项2.1.1 项2.1.2 项2.1.3 项
2017-07-17 15:14:01 3408 1
原创 java并发API中ThreadPoolExecutor类提供的执行所有任务和任一任务的2个方法整理
1.invokeAny(Collection> tasks):该方法接受一个任务列表作为参数,它运行任务列表中的任务,并返回第一个完成任务并且没有抛出异常的结果。重载方法invokeAny(Collection> tasks,long timeout, TimeUnit unit),该方法也执行所有任务,如果在给定的时间内某个任务已经完成,就返回i结果。2.invokeAll(Coll
2017-07-16 21:19:10 522
原创 java执行器框架执行任务并返回结果
1.java并发API提供了Callable接口和Future接口来实现执行任务并返回结果的功能2.callable接口:类似与runnable接口,该接口生命了call()方法,具体的操作逻辑定义在该方法中。该方法的返回值在Callable接口的泛型中进行定义。3.Future接口:该接口定义了相关方法来获取Callable对象产生的结果,并控制其状态。作用:
2017-07-16 15:02:27 366
原创 java线程执行器
1.简介:从Java5开始,java并发API提供了执行器框架(Executor Framwwork)。它围绕Executor接口,ExecutorService接口,以及实现类ThreadPoolExecutor进行展开。该机制分离了任务的创建和运行,我们只需要关注任务的创建,而不需要考虑线程的创建和执行。2.优势:(1)执行器使用了线程池来提高程序性能,线程重用的优点是减少了创建线
2017-07-16 14:17:21 296
原创 整理java7中几种常见同步辅助类-Exchanger
1.Exchanger1.1解释Exchanger类允许两个线程之间定义同步点,当2个线程都到达同步点时,它们交换数据结构1.2基本工作流程若使用其他的同步辅助类,第一个线程调用exchange()后会被Exchanger置入休眠,直到第二个线程到达同步点1.3常见方法exchange(V data,long time,TimeUnit uni)
2017-07-16 13:43:00 229
原创 整理java7中几种常见同步辅助类-Phaser
1.Phaser1.1解释phaser用于并发阶段任务的运行,适用于有并发任务且需要分解成多步执行。另外Phaser类的方法不需要进行异常处理,它们不响应中断异常。1.2基本工作流程Phaser在任务每一步结束的位置对线程进行同步,当所有线程都完成这一步时,才允许执行下一步1.3phaser的状态1.活跃态(active)2.终止态(termination)
2017-07-16 10:42:41 293
原创 java中操作Oracle clob数据出现的连接关闭问题
java.sql.SQLException: 关闭的连接 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) at oracle.jd
2017-07-07 19:31:46 3270
原创 整理java7中几种常见同步辅助类-CyclicBarrier
1.CyclicBarrier1.1解释CyclicBarrier常用于集合点的同步,它内部是一个计数器,这个计数器的值表示需要在集合点上进行同步的线程数。CyclicBarrier对象还有一个特殊的状态即损坏状态(Broken)。它相对于CountDownLatch有二个重要的改进:1.可以传入一个Runnable对象。当所有线程到达时,CyclicBarrier将Runnable对
2017-07-01 11:43:06 226
原创 整理java7中几种常见同步辅助类-CountDownLatch
1.CountDownLatch1.1解释CountDownLatch常用于等待多个并发事件的完成,它内部也是一个计数器,计数器的值就是线程要等待完成的操作的数目。计数器的初始值使用CountDownLatch对象初始化时传入的整数参数进行初始化。1.2基本工作流程当一个线程进入,遇到CountDownLatch的await()方法,该方法阻塞线程直至所有操作都完成,当某一个操
2017-07-01 11:18:10 282
原创 整理java7中几种常见同步辅助类-信号量
1.信号量(Semaphore)1.1解释信号量是一种计数器,用来保护一个或者多个共享资源的访问1.2基本工作流程若线程要访问一个共享资源,它需要先获取信号量,此时信号量会判断内部计数器是否大于0,若是,内部计数器减一。但若内部计数器等于0,信号量将线程置入休眠直至内部计数器大于0。1.3常见方法acquire():获取信号量,默认内部计数器减一acquireUnint
2017-07-01 11:09:07 264
原创 easyui accordion组件获取被选择Panel中的第一个元素
$('#easyuiAccordion').accordion({ onSelect:function (title,index) { var obj = $("#easyuiAccordion").accordion('getPanel',index); obj.context.firstElementChild.click();
2017-06-28 22:14:24 2067
原创 eclipse出现There are no resources that can be added or removed from the server
需要保证Tomcat中JRE运行环境和项目属性中facet中java版本一致window--->Server--->Runtime Environment--->选择相应Tomcat选择编辑:右击项目属性--->搜索facet:
2017-06-28 16:45:21 3938
原创 easui datagrid的formatter中返回linkButton的问题
在datagrid的formatter中直接返回return '修改'是不会生效的,解决办法一:1.format中返回的a标签制定class属性return 'easyui2.在datagrid中的onAfterRender事件中进行渲染$('#dataGridTable').datagrid("options").view.onAfterRender = function
2017-06-22 22:41:48 491
原创 记一个html问题
登陆js:function login(){ $.post('/home/login',getFormJson('loginForm'),function(data){ if(data.code == RETURN_CODE_SUCCESS){ layer.msg('登陆成功'); window.location.href =
2017-06-20 22:23:42 228
原创 ssm框架整合shiro框架未验证前filterChainDefinitions配置问题
刚开始ssm框架整合shiro时,登陆界面莫名报错,正确路径的js和css文件引入也无效。最后发现是shiro中filterChainDefinitions也要对请求的js和css设置anon,否则资源请求被限制 /home/toLogin=anon /home/login=anon
2017-06-15 22:46:41 429
原创 记:combotree中getValue和getText问题
$("#updateParentId").combotree({ url:'tree_data1.json', method:'get' }); $("#updateParentId").combotree('setValue','11'); alert($("#updateParentId").combotre
2017-06-08 22:36:58 3972
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人