编程语言:Java
通过Java字节码发现有趣的内幕之String篇(二)
AI + 网络安全商业案例白皮书,快来下载!” 1、字面量相加 首先来看两个字面量字符串相加发生了什么情况,Java 代码: package com.jaffa.test.string; public class StringOptTest {
通过Java字节码发现有趣的内幕之String篇(一)
AI + 网络安全商业案例白皮书,快来下载!” 很多时候我们在编写 Java 代码时,判断和猜测代码问题时主要是通过运行结果来得到答案,本博文主要是想通过 Java 字节码的方式来进一步求证我们已知的东西。这里没有对 Java 字节码知识ࣽ
Java error: Comparison method violates its general contract
I saw many questions about this, and tried to solve the problem, but after one hour of googling and a lots of trial & error, I still can't fix it. I hope some of you catch the problem. This is...
你的Java代码对JIT编译友好么?
你的Java代码对JIT编译友好么?
利用btrace在线监控java程序状态
下载地址:https://kenai.com/projects/btrace/downloads/directory/releases/ 选择版本进行下载,这里下载的是release-1.2.4 /btrace-bin.zip 这两天在调试程序时,发现一个比较好用的工具-btrace。
关于Java你可能不知道的10件事
? Chinese translations for classic IT resources. Contribute to oldratlee/translations development by creating an account on GitHub.
Java Auto-Unboxing Gotcha. Beware!
What do you think that the following code snippet will print? Object o = true ? new Integer(1) : new Double(2.0); System.out.println(o); Yes! It will print: 1.0 What? 1.0? But I have assigned an In…
Java 多线程线程池分析
线程是独立执行的调用序列,可以共享系统资源和访问对象资源。在Java中,可以通过继承Thread类或实现Runnable接口来创建线程。推荐使用Runnable接口来创建线程,因为它可以避免单继承的限制,并且更加灵活。在给出的代码示例中,通过创建Thread对象并重写run()方法,实现了自定义的线程逻辑。通过调用start()方法来启动线程。在run()方法中,通过Thread.currentThread().getName()可以获取当前线程的名称。
Java一些小Tips
这篇文章介绍了Java中的一个有趣应用,利用反射技术改变不可变字符串的值。当程序运行时,会在String池中寻找字符串常量的引用,然后改变引用对应的值。在示例代码中,将"Immutable String"的值改变为"Change Now!",所以打印的结果是"Change Now!"。这个特性利用了反射的原理,展示了字符串的可变性。
What is the difference between Class.this and this in Java
There are two ways to reference the instance of a class within that class. For example: class Person { String name; public void setName(String name) { this.name = name; } public void