一、开源背景
随着移动互联网的高速发展,人们的生产生活也逐渐从 PC 电脑端转移到手机等移动端,各类移动 App 也如雨后春笋般产生。受限于代码的开发质量等原因, App 中或多或少的会存在安全漏洞或因开发设计不谨慎引入的违规收集个人信息等合规风险,带漏洞运行的 App 将严重威胁着网络及用户安全,合规问题则可能受到监管通报甚至存在下架处罚风险。
2025年10月13日
随着移动互联网的高速发展,人们的生产生活也逐渐从 PC 电脑端转移到手机等移动端,各类移动 App 也如雨后春笋般产生。受限于代码的开发质量等原因, App 中或多或少的会存在安全漏洞或因开发设计不谨慎引入的违规收集个人信息等合规风险,带漏洞运行的 App 将严重威胁着网络及用户安全,合规问题则可能受到监管通报甚至存在下架处罚风险。
2025年10月13日
在 Java 中的基本理念是 结构不佳的代码不能运行,发现错误的理想时期是在编译期间,因为你不用运行程序,只是凭借着对 Java 基本理念的理解就能发现问题。但是编译期并不能找出所有的问题,有一些 NullPointerException 和 ClassNotFoundException 在编译期找不到,这些异常是 RuntimeException 运行时异常,这些异常往往在运行时才能被发现。
2025年10月13日
这个反射其实算是一道初级升中级的面试题,也是初级必须了解,中级必须了解并熟练使用的知识技能。
接下来就开始聊聊吧。
反射就是在程序运行状态中,对于任何一个类,都能通过特定的方式方法获取到这个类的属性和方法,并且可以对这些属性、方法进行调用。
2025年10月13日
反射机制:所谓的反射机制就是java语言在运行时拥有一项自观的能力。通过这种能力可以彻底的了解自身的情况为下一步的动作做准备。下面具体介绍一下java的反射机制。这里你将颠覆原来对java的理解。
Java的反射机制的实现要借助于4个类:class,Constructor,Field,Method;其中class代表的时类对象,Constructor-类的构造器对象,Field-类的属性对象,Method-类的方法对象。通过这四个对象我们可以粗略的看到一个类的各个组成部分。
2025年10月13日
前面几节我们讲解了关于java8中String的特性,提到了字符串常量池在创建String对象的过程中所起到的关键作用,同时也提到了字符串字面量和StringTable的概念,以及使用java.lang.String#intern方法将字符串加入字符串常量池的用法。本节我们主要讲解下,如何直观的查看字符串字面量和JVM提供的有关StringTable的虚拟机参数。
2025年10月13日
在设计G1时会极力避免Full GC(以下简称FGC),但是总有一些特殊情况,如果当前并发回收的速度跟不上对象分配的速度,那么需要G1启动后备方案进行FGC。早期G1的FGC使用单线程的标记整理算法,后来为了充分发挥多核处理器的优势,JEP 307提案为G1的FGC设计了多线程标记整理算法,此时多线程的FGC的线程数量可以由-XX:ParallelGCThreads控制。
2025年10月13日
作为 Java 开发,你是不是也遇到过这种情况:面试时被问到 “什么是双亲委派机制”,只能磕磕绊绊说出 “父加载器先加载,父加载器加载不了子加载器再加载”,可面试官一追问 “为什么要设计双亲委派机制”“怎么打破双亲委派”,就瞬间大脑空白?其实不是你记性差,而是没从 “原理 + 场景” 的角度把这个知识点吃透。今天这篇文,就用你能听懂的大白话,把 Java 类加载的双亲委派机制拆得明明白白,从面试高频问题到实战场景,帮你一次掌握。
2025年10月13日
private final char value[];
public String() {
this.value = "".value;
}
public String(String original) {
this.value = original.value;
this.hash = original.hash;
}
public String(char value[]) {
this.value = Arrays.copyOf(value, value.length);
}
复制代码2025年10月13日
依照Java的文档, Java中的字符内部是以UTF-16编码方式表示的,最小值是 \u0000 (0),最大值是\uffff(65535), 也就是一个字符以2个字节来表示,难道Java最多只能表示 65535个字符?
char: The char data type is a single 16-bit Unicode character. It has a minimum value of '\u0000' (or 0) and a maximum value of '\uffff' (or 65,535 inclusive).