`
文章列表
我们的消息交换系统要有一个向 OPENFIRE 发送数据的接口,做为我们系统消息传入软交换系统的入口。看了不少源码,总结出有三个解决方案: 1、增加一个 module,启动一个 WEBSERVICE 接口,然后向 internal component 里增加一个子域名 ...
最近电话面了个大公司,具体就不说是哪儿啦,电话面试了大概一个小时,都是算法题,面得不太好,主要是电话面,没有用笔什么的。每道题不记效率都可以给个解答方案,但人家要求时间复杂度比较高。我在对方提示下可以把大方面说出来。估计去这个公司复面是没戏了。 回去后把第一题题做出来了。下面是题目: 题目描述 给定一个整数序列,判断其中有多少个数,等于数列中其他两个数的和。 比如,对于数列1 2 3 4, 这个问题的答案就是2, 因为3 = 2 + 1, 4 = 1 + 3。 下面是我的代码 Base.java -- 这个类只是为了打日志用的 public class ...
昨天发了第一题,今天发第二题。这个题目在一个网络竞赛中有,当时因为时间没做出来,没想到面试又遇到了。 看来平时对问题的深入钻研还是非常有用的。我当时要在赛后再好好钻研一下,没准就面试通过了。 下面看题目: 给一个整数数组A={a1,a2,…an}, 将这个数组首尾相接连成一个环状,它的一个子序列是指这个数组连续的一段,比如a2,a3…ak,或者an,a1…ai。请从这个环上选取两个不重叠的非空子序列,使这两个子序列中的所有数字之和最大。 例如: 1,-1,1,0 结果为2 1,-3,-1,2,-1 结果为2 下面是解题代码,Base类的代码在上一篇博客中可以找到: ...
这道是个概率题: 题目: 给你一组整数链表,链表长度不定,让你随机取里面的 N 个数据,链表长度大于 N,保证 N 个数被从链表中等概率获得,不能计算链表长度并且只能遍历链表一次 这题我一开始也没有思路,经过面试官的提醒,说可以用置换的方法来解,于是解答出了解法:把链表前 N 个数先放进数组,然后取每 N + 1 个数,然后取一个 N + 1 的随机数,如果小于 N,则在取出的 N 个数中换出去第(N + 1) % N个数。这样一个一个按此算法一直到链表结束。 实际我最后一步取模的方法不对,应该是随机换出去一个。 下面算算随机换出去是否是等概率的。选出的前N个数被选中概率都为 N ...
对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们也可以通过下面的测试代码来验证这一点: public class InitialOrderTest { // 静态变量 public static String staticField = "静态变量"; // 变量 public String field = "变量"; // 静态初始化块 static { System.out.println(staticField); System.out.println ...
Java 位 运 算 符  位 运 算 符 用 来 对 二 进 制 位 进 行 操 作 ,Java中 提 供 了 如 下所 示 的 位 运 算符 : 位 运 算 符 (>>,<<,>>>,&,|,^,~ ) ,位 运 算 符 中 ,除 ~ 以 外 ,其 余 均 为 二 元 运 算 符 。 操 作 数 只 能 为 整 型 和 字 符 型 数 据 。  1. 基础知识 补码  所有的整数类型(除了char 类型之外)都是有符号的整数。这意味着他们既能表示正数,又能表示负数。 Java使 用 补 码 来 表 示 二 进 制 数 ,在 补 码 表 示 中 ,最 高 位 为 符号 ...
Race Condition引起的性能问题 Race Condition(也叫做资源竞争),是多线程编程中比较头疼的问题。特别是Java多线程模型当中,经常会因为多个线程同时访问相同的共享数据,而造成数据的不一致性。为了解决这个问题,通常来说需要加上同步标志“synchronized”,来保证数据的串行访问。但是“synchronized”是个性能杀手,过多的使用会导致性能下降,特别是扩展性下降,使得你的系统不能使用多个CPU资源。  这是我们在性能测试中经常遇见的问题。 可是上个星期我却遇见了相反的情况:因为缺少同步标志也同样会使性能受影响。 那是一个ERP系统,运行在我们的T20 ...
Global site tag (gtag.js) - Google Analytics