Java
文章平均质量分 69
榴月~
自强,弘毅,求是,拓新
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sychronized锁
sychronized 关键字能成为锁的原因,是因为它提供了**内置锁(Intrinsic Lock)**机制,用于线程同步,确保同一时刻只有一个线程能够访问被标记为 synchronized 的代码块或方法。在这个例子中,synchronized 确保了多个线程对 increment 方法的访问是互斥的,避免了数据竞争。锁住的是当前类的 Class 对象,适用于所有线程对类级别资源的同步。锁住的是当前实例对象 (this),即每个对象有独立的锁。只锁住代码块,不影响其他非同步代码。原创 2024-11-15 18:27:36 · 390 阅读 · 0 评论 -
java部分关键字---添加中
java部分关键字原创 2024-10-10 11:52:49 · 275 阅读 · 0 评论 -
Java多if-else或switch-case转换为表驱动优化
解决多if-else,switch-case的方式原创 2021-12-07 22:54:37 · 1215 阅读 · 0 评论 -
Java 内部类包含静态内部类(Static Nested Class)、非静态内部类(Inner Class)
在 Java 中,内部类可以分为静态内部类(Static Nested Class)和非静态内部类(Inner Class)。它们之间的主要区别如下:1. 定义和语法区别:静态内部类:使用 static 关键字修饰。语法:class OuterClass { static class StaticNestedClass { /* ... */ } }非静态内部类:不使用 static 关键字修饰。语法:class OuterClass { class InnerClass { /原创 2024-09-11 11:12:27 · 589 阅读 · 0 评论 -
Java 中的多态、重载和重写
重写是子类对继承自父类的方法进行修改,使其表现出不同的行为。它是运行时多态的一部分。重写的前提是方法名称、参数列表和返回类型必须一致,且不能降低方法的访问权限。重载指同一类中多个方法有相同的名称,但参数列表不同(参数类型或数量)。它是编译时多态,通过方法签名的差异,编译器可以选择在何时调用哪个方法。多态允许父类引用指向子类对象,并在运行时决定调用哪个类的方法。它使代码更具灵活性和可扩展性。是重载方法,根据传入参数类型不同调用相应的方法。引用调用时,根据实际对象的类型决定调用的是。原创 2024-09-10 12:08:58 · 588 阅读 · 0 评论 -
java class default 关键字
接口的默认方法是否被执行,取决于实现类是否重写了该方法以及在运行时如何调用它。如果实现类没有重写默认方法,并且调用了这个方法,那么默认方法才会被执行。原创 2024-08-16 13:06:33 · 640 阅读 · 0 评论 -
关于JNI的相关面试题
关于JNI(Java Native Interface)的面试题,可以涵盖多个方面,包括JNI的基本概念、工作原理、使用场景、常见问题及解决方案等。原创 2024-08-04 13:41:07 · 1331 阅读 · 0 评论 -
JNI开发
静态注册是指通过JNI生成的头文件中的函数名称来实现Java方法与本地实现的绑定。函数名称遵循特定的命名规则,以确保Java虚拟机能够正确地找到对应的本地实现。动态注册允许开发者在本地库加载时,以编程的方式将Java方法与本地实现关联。与静态注册不同,动态注册不要求本地函数名遵循特定命名规则。在JNI中,方法签名是用于描述Java方法参数和返回类型的字符串,与Java通信则包括调用Java方法、访问Java字段、处理Java数组、异常处理和字符串操作等方面。原创 2024-08-04 13:28:06 · 857 阅读 · 0 评论 -
在Java中使用JNI调用本地方法的完整实例
JNI原创 2024-08-04 11:23:45 · 1522 阅读 · 0 评论 -
本地方法详解
(Native Methods)是指那些由Java程序调用,但其实现是用非Java语言(如C、C++等)编写的方法。它们通常用于访问操作系统底层的功能或进行高效的计算,这些是Java本身不能直接实现的。原创 2024-08-04 11:20:29 · 980 阅读 · 0 评论 -
java之hashCode() 方法和 equals(Object obj) 方法之间的关系
开放寻址法(Open Addressing)和链地址法(Chaining,也称为分离链接法)是两种解决哈希表中哈希冲突的主要方法。原创 2024-08-01 17:24:23 · 1030 阅读 · 0 评论 -
java代理模式
java代理模式原创 2024-07-20 16:21:14 · 487 阅读 · 0 评论 -
JMM面面观
JMM是Java并发编程中的重要概念,它定义了多线程环境中变量访问的规则,确保了程序的原子性、可见性和有序性。通过理解JMM,我们可以更好地编写并发程序,避免常见的并发问题。原创 2024-07-18 16:51:02 · 349 阅读 · 0 评论 -
IO操作Dex文件加密,APK加固示例
通过上面的示例,我们实现了Dex文件的加密与解密,并在应用启动时动态加载加密的Dex文件。通过代码混淆和资源文件加密,我们可以进一步提升APK的安全性。这些措施可以有效地保护应用程序不被逆向工程和破解。原创 2024-07-17 14:17:33 · 746 阅读 · 0 评论 -
Java的IO体系
Java 的 I/O (输入/输出) 系统提供了丰富的类库,用于处理数据的读写操作。Java 的 I/O 系统主要分为两大类:字节流和字符流。字节流用于处理原始的字节数据,而字符流则专门用于处理字符数据。以下是 Java I/O 的主要类和接口。原创 2024-07-17 14:06:26 · 607 阅读 · 0 评论 -
java反射
因此,在大多数情况下,我们可以将反射和反射机制视为同一概念的不同表述方式。它们共同构成了Java语言中一种强大的动态特性,使得程序能够在运行时灵活地检查和修改自身的结构和行为。在实际编程中,掌握反射和反射机制的使用对于开发高度灵活和动态的程序具有重要意义。原创 2024-07-16 17:29:42 · 1431 阅读 · 0 评论 -
java的File文件操作
Java 提供了丰富的文件操作类和方法,使得文件和目录的创建、读取、写入、删除等操作变得简单易用。原创 2024-07-17 14:03:59 · 372 阅读 · 0 评论 -
Java的IO体系
Java 的 I/O (输入/输出) 系统提供了丰富的类库,用于处理数据的读写操作。Java 的 I/O 系统主要分为两大类:字节流和字符流。字节流用于处理原始的字节数据,而字符流则专门用于处理字符数据。以下是 Java I/O 的主要类和接口。原创 2024-07-17 14:14:49 · 568 阅读 · 0 评论 -
java序列化与反系列化,serializable原理,Parcelable接口原理解析,Json,XML
Java的序列化和反序列化是用于对象的持久化和传输的重要机制。原创 2024-07-17 10:55:51 · 957 阅读 · 0 评论 -
原子操作类的正确使用实战
原子操作类提供了一种高效、线程安全的方式来操作共享变量,避免了传统锁机制的开销和复杂性。了解 CAS 原理:理解底层的 CAS 操作,有助于更好地使用原子操作类。选择合适的类:根据具体需求选择合适的原子操作类,如LongAdder等。注意 ABA 问题:在某些场景下,需要考虑 ABA 问题,可以使用来解决。性能考虑:在高并发场景下,使用LongAdder或可能比AtomicLong更合适。通过合理使用原子操作类,可以编写出高效且线程安全的并发程序。原创 2024-07-18 09:54:33 · 619 阅读 · 0 评论 -
Map之TreeMap的使用
treeMap原创 2021-12-20 23:31:24 · 169 阅读 · 0 评论 -
HashMap获取<key,value>值---利用foreach和迭代器
目录一、使用迭代器第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getValue(); }效率高第二种: Map map = new H原创 2020-09-28 00:04:15 · 794 阅读 · 0 评论 -
Java如何对一个对象进行深拷贝?
在Java语言里,当我们需要拷贝一个对象时,有两种类型的拷贝:浅拷贝与深拷贝。浅拷贝只是拷贝了源对象的地址,所以源对象的值发生变化时,拷贝对象的值也会发生变化。而深拷贝则是拷贝了源对象的所有值,所以即使源对象的值发生变化时,拷贝对象的值也不会改变。如下图描述:了解了浅拷贝和深拷贝的区别之后,本篇博客将教大家几种深拷贝的方法。拷贝对象首先,我们定义一下需要拷贝的简单对象。/**用户...转载 2020-03-16 18:19:03 · 172 阅读 · 0 评论 -
Java入门-第六章继承和嵌入类-读书笔记
第六章继承:嵌入类:指在其他类的内部定义的类,包含嵌入类的类可称为外围类。嵌入类可细分为静态成员类、非静态成员类、局部类和匿名类4种。6.1 继承直接超类直接子类6.1.1 extends短语通常把一个类A称为另一个类C的子类,是指满足下面条件之一者:类A是类C的直接子类。存在一个类B,类A是类B的子类,类B是类C的子类。在类的定义中,如果缺省extends短语,则obje...原创 2020-02-20 12:39:20 · 317 阅读 · 0 评论 -
Java入门-第五章字符串和包装类-String类-读书笔记
String类的软件接口原创 2020-02-20 12:39:39 · 233 阅读 · 0 评论 -
Java入门-第4章类和对象-枚举类型-读书笔记
第4章4.8枚举类型:特殊的类类型,用于表示一组不变的常量。关键字Enum。隐含扩展java.lang.Enum抽象类,是Obiect类的直接子类。4.8.1 基本的枚举类型及使用1、每个枚举常量代表该枚举类型的一个实例,这些实例在枚举类型装入并初始化时自动创建。2、与普通类一样,每一个枚举类型编译后会产生一个.class文件。3、使用格式<枚举类型名>.<枚举常...原创 2020-02-20 12:39:52 · 225 阅读 · 0 评论 -
Java函数笔记
Java中的substring()用法String str = “Hello Java World!”;Method1:substring(int beginIndex)返回从起始位置(beginIndex)至字符串末尾的字符串str.substring(2);//return “llo Java World!”; Method2:substring(int be...原创 2020-02-20 12:40:43 · 152 阅读 · 0 评论
分享