随笔分类 - JAVA
摘要:先看一下常用数据类型的数值范围(32位系统) 字节 类型 范围 长度 | 字节 | 类型 | 范围 | 长度 | | | | | | | 一字节(28) | char | -128 ~ 127 | 3 | | 一字节(28) | unsigned char | 0 ~ 255 | 3 | | 二字节
阅读全文
摘要:1. 面试题 08.01. 三步问题 1.1. 问题分析 1.1.1. 深度遍历 1.1.1.1. 代码实现 1.1.2. 数学解法-找规律 1.1.2.1. 实现 1.2. 输出样例: 1. 面试题 08.01. 三步问题 三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3
阅读全文
摘要:动态规划是一种算法技巧,基本思想是:如果一个问题的解,可以拆分成重复多个步骤的子问题,解决当前的问题后,到达一种状态,后一个子问题的求解是建立在现有状态的基础上,最后在每个子问题的最优解的基础上,得出整体的最优解。 《数据结构与算法-Java》这本书提到,动态规划是将递归算法改写为非递归算法,把非递
阅读全文
摘要:前序遍历是二叉树遍历方法的一种,和中序遍历、后续遍历是二叉树最常见的遍历方式。 适用场景 前序遍历适用于目录现实、组织结构图显示等。 遍历顺序 前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。 递归法 按照遍历顺序递归即可,
阅读全文
摘要:快慢指针即使用一快一慢两个指针,对链表进行遍历。利用两个指针的速度差,如2倍速-用于求中间指针或循环链表;恒定n个差值,用于寻找倒数第n个指针。 1. 环形链表 如果快指针到达NULL,说明链表以NULL结尾,不存在环。如果快指针追上慢指针,则表示有环。 public boolean hasCycl
阅读全文
摘要:今日线上突发一个问题,应用假死,不接受http请求,排查日志,发现有大量的 The last packet successfully received from 异常。 首先排查数据库和链接池配置 <bean id="dataSource" class="org.apache.tomcat.jdbc
阅读全文
摘要:XmlBeanFactory虽然在Spring 3.1之后标记为@Deprecated,具体用法改为 1 XmlBeanFactory factory = new XmlBeanFactory( new ClassPathResource("knights.xml")); 2 //替换为 3 Def
阅读全文
摘要:接上期Urule开源版系列4——Core包核心接口之规则解析过程 之前源码到了Parser,这期详细解析下RuleSetParser的解析过程 1.主流程 特殊处理一个属性 循环处理元素 当元素名称是规则时,调用ruleParser 当元素名称是循环规则时,调用loopRuleParser 当元素名
阅读全文
摘要:解题思路 典型的递归调用 1 11 21 1211 111221 循环调用前一次的结果,进行计数。当n=1时,递归结束,返回1. 代码 class Solution { public String countAndSay(int n) { if (n == 1) { return "1"; } St
阅读全文
摘要:解题思路 杨辉三角的规律就是: 每一行的第一个数和最后一个数是1 每一行中间的数字,row[i][j]=row[i-1][j-1]+row[i-1][j]; 初始化条件,第一行只有一个1. 代码 class Solution { public List<List<Integer>> generate
阅读全文
摘要:问题:创建类或接口时,要添加自定义的默认注释,比如版本,时间等。每个类修改显然不符合程序员的思路,有没有办法通过定义模板来实现? 使用Idea模板 Idea可听过创建类模板来实现。 功能路径:Setting → Editor → File and Code Template → Class 修改,右
阅读全文
摘要:Urule运行规则文件,是如何进行的,通过一个请求doTest来探一下 com.bstek.urule.console.servlet.respackage.PackageServletHandler.doTest()方法执行测试规则,接受3个参数: data-测试数据;files- 规则文件名称及
阅读全文
摘要:之前提到了,urule开源版的组件关系 依赖组件 先分析下core包的依赖树,通过执行mvn dependency:tree 得到: 可以看到,对外部组件的依赖其实不多,核心用到了一个叫做antlr的组件,antlr其实是一种预发解析器,用于表达式执行。 相比较之下,console的依赖就多了一些,
阅读全文
摘要:Maven的pom.xml中添加了javadoc 插件,原来写的代码,由于代码的注释写了一些非标准标记,导致报错。 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar (atta
阅读全文
摘要:Mybatis集成dbcp做数据库链接池,进行查询时,触发一个异常: java.lang.AbstractMethodError: Method org/apache/commons/dbcp/DelegatingResultSet.isClosed()Z is abstract at org.ap
阅读全文
摘要:事情的起因 项目A中依赖了项目B提供的jar包,其中有一部分配置是从jar以xml形式引入的,xml中要求有类似数据库这样的profile的环境配置。会产生一个很奇怪的问题,通过最外层的application.properties文件定义的属性不能被正常解析。 目录结构: 项目A: - src/ma
阅读全文
摘要:1. 创建决策表接口: http://localhost:8080/urule/frame/createFile post FrameServletHandler.createFile 方法 参数: path: /demo/测试/决策表1.dt.xml type: dt.xml 2. 保存决策文件
阅读全文
摘要:这两天在测试一个Spring RMI接口的时候,出现了个奇怪的问题。Server端返回的数据,到了客户端出现了属性丢失的情况。 类继承体系 。客户端里面定义在ClassA中的属性全部为null。 分析问题: RMI过程中的数据有一个序列化和反序列化的过程,分析可能是由于序列化和反序列化的原因导致数据
阅读全文
摘要:Java的类型通配符,可以出现在类、方法上面。最常用的方式就是集合类,例如List,Set等类上面。 通配符类型 有泛型参数 List 有无类型标识 List 有通用的标识 List 边界通配符 List 边界通配符 List 本文主要讨论的是最后的关于边界的通配符类型。 看一个例子 有三个类,继承
阅读全文
摘要:有些时候会碰到这样的场景:java的功能里面要嵌入一个功能点,这个功能是通过是shell脚本实现的。这种时候就需要Java对脚本调用的支持了。 测试环境 Ubuntu16.04 i3 6100,12GB Hello World 来看一个基本的例子 解读Process java.lang.Proces
阅读全文