编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

Java编程

java多线程有几种实现方法?
Java编程

java多线程有几种实现方法?

阅读(2613)

Java中实现多线程有以下几种方法: 继承Thread类 创建一个新的类,继承Thread类,然后重写run()方法。在该类的对象上调用start()方法来启动线程。例如: class MyThread extends Thread { @Override public void run() { // 任务代码 } } public class Main { public static void main(String[] args) { MyT...

Java编程中的CAS是什么意思?
Java编程

Java编程中的CAS是什么意思?

阅读(3307)

在Java编程中,CAS是一个缩写,意思是Compare-and-Swap(比较和交换)。这是一种用于实现并发算法中的原子操作,用于在多线程环境下无锁地更新共享数据。CAS操作在Java中主要通过java.util.concurrent.atomic包中的原子类实现,例如AtomicInteger、AtomicLong等。 CAS操作的基本思想是:比较当前值和预期值,如果相等,则使用新值替换当前值。...

AtomicInteger详解
Java编程

AtomicInteger详解

阅读(3435)

AtomicInteger 是 Java 提供的一个原子类,位于 java.util.concurrent.atomic 包中。它是一个整数(int),提供了一些线程安全的原子操作,如加法、减法、自增、自减等。由于采用了原子操作,AtomicInteger 是线程安全的。其内部使用了非阻塞算法和硬件级别的原子操作实现,因此相比于使用 synchronized 同步锁,性能更高。 以下是一些 Atomic...

原子操作是什么意思?什么是原子操作
Java编程

原子操作是什么意思?什么是原子操作

阅读(3541)

原子操作是指在执行过程中不会被中断的操作,要么执行成功,要么不执行,不会出现执行了一半的情况。在多线程环境下,原子操作可以保证操作的原子性,即多个线程同时执行原子操作时,不会出现线程安全问题。 Java中的原子操作通常是通过CAS(Compare-And-Swap)操作来实现的。CAS操作是一种基于硬件的原子性操作,它通过比较内存中的值和预期...

selenium报错java.io.IOException: Invalid Status code=403 text=Forbidden
Java编程

selenium报错java.io.IOException: Invalid Status code=403 text=Forbidden

阅读(3314)

最近升级了 Chrome 浏览器,在使用 selenium 的时候,突然报错了,具体报错如下: java.io.IOException: Invalid Status code=403 text=Forbidden at org.asynchttpclient.netty.handler.WebSocketHandler.abort(WebSocketHandler.java:92) at org.asynchttpclient.netty.handler.WebSocketHandler.handleRead(WebSocketHandler.java:118) ...

什么是jvm
Java编程

什么是jvm

阅读(2793)

JVM(Java Virtual Machine)是Java语言的核心,是Java平台的基础之一。它是一个虚拟的计算机,在其中运行Java字节码(Java bytecode)。Java字节码是Java源代码编译后生成的中间代码,由JVM解释执行。 JVM提供了Java应用程序与操作系统之间的中间层,使得Java程序可以跨平台运行,无需考虑底层操作系统和硬件的差异。JVM还提供了垃圾回收机制...

java主线程结束,子线程还能运行么?
Java编程

java主线程结束,子线程还能运行么?

阅读(5900)

Java主线程结束后,子线程仍然可以继续运行。这是因为在Java程序中,主线程只是一个普通的线程,与其他线程没有本质区别。当主线程结束时,JVM并不会立即退出,而是会等待所有非守护线程(包括子线程)结束后才会退出。 如果子线程是非守护线程,且没有被显式地停止或者中断,那么它将继续运行直到完成其任务或者发生异常。如果子线程是守护线...

《Java核心技术(java core)》 正则
Java编程

《Java核心技术(java core)》 正则 "\\PL+"是什么意思?

阅读(2462)

在Java核心技术卷 卷2 第一章 Java SE 8 的流库的第3页,有这样一段代码: List<String> words = Arrays.asList(contents.split("\\PL+")); 我们来看下 \\PL+ 的意义,这个正则的意思应该就是以非字母分隔符。 小写p是property的意思,表示Unicode属性,用于Unicode正表达式的前缀。 中括号内的P表示Unicode字符集七个字符属性之一:标...

如何下载java技术核心(java core)示例代码
Java编程

如何下载java技术核心(java core)示例代码

阅读(2635)

最近,在复盘java的基础知识,用的是《Java核心技术(Java Core)》这本书,需要下载其示例代码,比如:alice30.txt、crsto10.txt。 在图书的目录页,其实是有介绍如何下载示例代码的,如下图所示: 我们来到网址:https://horstmann.com/corejava/ 下拉到:Further Information,可以看到Download Code字样,我们下载对应的Java核心技术的版...