小编Mat*_* B.的帖子

使用Java创建内存泄漏

我刚接受采访,并被要求用Java 创建内存泄漏.
毋庸置疑,我觉得自己很傻,甚至不知道如何开始创建一个.

一个例子是什么?

java memory memory-leaks

3076
推荐指数
46
解决办法
62万
查看次数

什么是枚举,为什么它们有用?

今天我正在浏览这个网站上的一些问题,我发现提到了一个enum 单独使用模式的关于这种解决方案所谓的线程安全的好处.

我从来没有使用过enums,而且我已经用Java编程了好几年了.显然他们改变了很多.现在他们甚至在自己内部全力支持OOP.

现在为什么我应该在日常编程中使用枚举?

java enums

464
推荐指数
13
解决办法
28万
查看次数

Spring @Transactional - 隔离,传播

有人可以通过现实世界的例子解释注释中的隔离传播参数@Transactional.基本上何时以及为什么我应该选择更改其默认值.

java spring transactional isolation propagation

412
推荐指数
8
解决办法
25万
查看次数

IntelliJ IDEA从Java接口跳转到实现类

是否有一些快捷方式允许我在界面中创建方法后,选择并跳转到该接口的实现类?

java keyboard-shortcuts interface class intellij-idea

152
推荐指数
6
解决办法
9万
查看次数

如何在java中格式化1200到1.2k

我想将以下数字格式化为java旁边的数字:

1000 to 1k
5821 to 5.8k
10500 to 10k
101800 to 101k
2000000 to 2m
7800000 to 7.8m
92150000 to 92m
123200000 to 123m
Run Code Online (Sandbox Code Playgroud)

右边的数字是长整数,左边的数字是字符串.我应该如何处理这个问题.我已经为此做了很少的算法,但我认为可能已经发明了一些可以做得更好的事情,并且如果我开始处理数十亿和数万亿,则不需要额外的测试:)

其他要求:

  • 格式最多应包含4个字符
  • 以上意味着1.1k可以11.2k不行.相同的7.8m是可以的19.1m不是.小数点前只允许一位数具有小数点.小数点前的两位数表示小数点后的数字.
  • 不需要四舍五入.(附加k和m显示的数字更多是模拟量表,表示近似而不是精确的逻辑文章.因此,舍入与主要由于变量的性质无关,即使在查看缓存结果时也可以增加或减少几位数.)

java number-formatting

150
推荐指数
16
解决办法
5万
查看次数

给定一组参数,如何将这些参数发送到Ruby中的特定函数?

原谅初学者的问题,但是说我有一个数组:

a = [1,2,3]
Run Code Online (Sandbox Code Playgroud)

而某个功能; 让我们说它是一个实例函数:

class Ilike
  def turtles(*args)
    puts args.inspect
  end
end
Run Code Online (Sandbox Code Playgroud)

我如何调用Ilike.turtles,a就像我打电话一样(Ilike.new).turtles(1,2,3).

我很熟悉send,但这似乎并没有将数组转换为参数列表.

与我正在寻找的并行是Javascript apply,相当于call将数组转换为参数列表.

ruby arrays arguments function

66
推荐指数
1
解决办法
2万
查看次数

在Java中验证IPv4字符串

Bellow方法验证字符串是否正确IPv4地址如果有效则返回true.正确的正则表达式和优雅的任何改进将非常感激:

public static boolean validIP(String ip) {
    if (ip == null || ip.isEmpty()) return false;
    ip = ip.trim();
    if ((ip.length() < 6) & (ip.length() > 15)) return false;

    try {
        Pattern pattern = Pattern.compile("^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$");
        Matcher matcher = pattern.matcher(ip);
        return matcher.matches();
    } catch (PatternSyntaxException ex) {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

java string ip validation

45
推荐指数
8
解决办法
6万
查看次数

下个月的第一天用java Joda-Time

您将如何重写下面的方法,该方法将返回下个月的第一天,org.joda.time包装在Joda-Time中

public static Date firstDayOfNextMonth() {
    Calendar nowCal = Calendar.getInstance();
    int month = nowCal.get(Calendar.MONTH) + 1;
    int year = nowCal.get(Calendar.YEAR);

    Calendar cal = Calendar.getInstance();
    cal.clear();
    cal.set(Calendar.YEAR, year);
    cal.set(Calendar.MONTH, month);
    cal.set(Calendar.DAY_OF_MONTH, 1);
    Date dueDate = new Date(cal.getTimeInMillis());

    return dueDate;
}
Run Code Online (Sandbox Code Playgroud)

java calendar jodatime

40
推荐指数
4
解决办法
4万
查看次数

Java UDP打孔示例 - 通过防火墙连接

可以说我有两台电脑.

他们通过相互了解公共和私人IP ice4j.

一个客户端正在侦听,另一个发送一些字符串.

我想通过UPD打孔来看到这种情况:

Let A be the client requesting the connection

Let B be the client that is responding to the request

Let S be the ice4j STUN server that they contact to initiate the connection
--
A sends a connection request to S

S responds with B's IP and port info, and sends A's IP and port info to B

A sends a UDP packet to B, which B's router firewall drops but it still
punches …
Run Code Online (Sandbox Code Playgroud)

java networking stun hole-punching

35
推荐指数
4
解决办法
2万
查看次数

两台机器之间的JVM堆复制

在运行相同Java应用程序的同一网络中连接的两台可分离计算机如何通过在彼此之间同步堆来维持相同状态的基本原理是什么?

我相信Terracotta完成了这项任务,但我不知道一些伪代码会如何描述其核心功能.

我只是在寻找对这项技术的理解.

java heap replication jvm

30
推荐指数
2
解决办法
4457
查看次数