Wesley13 Wesley13
4年前
java枚举类型enum的使用
java枚举类型enum的使用最近跟同事讨论问题的时候,突然同事提到我们为什么java中定义的常量值不采用enmu枚举类型,而采用publicfinalstatic 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义。既然不明白就抽
Wesley13 Wesley13
4年前
java成员变量的初始化
类变量(static变量,不需要实例化对象也可以引用)实例变量(非static变量,需要实例化对象)局部变量(类的成员函数中的变量)初始化方式:构造函数初始化变量声明时初始化代码块初始化java自动初始化(在构造函数执行之前执行) java保证所有变量被使用之前都是经过初始化的(声明并且定义过,被赋值
Wesley13 Wesley13
4年前
java并发中CountDownLatch的使用
java并发中CountDownLatch的使用在java并发中,控制共享变量的访问非常重要,有时候我们也想控制并发线程的执行顺序,比如:等待所有线程都执行完毕之后再执行另外的线程,或者等所有线程都准备好了才开始所有线程的执行等。这个时候我们就可以使用到CountDownLatch。简单点讲,CountDownLatch存有一个放在QueuedS
Wesley13 Wesley13
4年前
Java四种引用类型
引用与对象每种编程语言都有自己操作内存中元素的方式,例如在C和C里是通过指针,而在Java中则是通过“引用”。在Java中一切都被视为了对象,但是我们操作的标识符实际上是对象的一个引用(reference)。//创建一个引用,引用可以独立存在,并不一定需要与一个对象关联Strings;
Wesley13 Wesley13
4年前
1. JDK 、 JRE 、JVM有什么区别和联系?
首先,我们分别对这三者进行阐述。JVM:英文名称(JavaVirtualMachine),就是我们耳熟能详的Java虚拟机。它只认识xxx.class这种类型的文件,它能够将class文件中的字节码指令进行识别并调用操作系统向上的API完成动作。所以说,jvm是Java能够跨平台的核心,具体的下文会详细说明。JRE:英文
Wesley13 Wesley13
4年前
Java多线程之线程安全队列Queue
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。
Wesley13 Wesley13
4年前
Java8的这些集合骚操作,你掌握了嘛?
Java8时Lambda表达式的出现,将行为作为参数传递进函数的函数式编程,大大简化了之前冗杂的写法。对于集合一类,我们来整理一下发生的变化吧。!Java8的这些集合骚操作,你掌握了嘛?(https://p6tt.byteimg.com/origin/dficimagehandler/e5ad919fe84f4ae7b7c8395f5
Stella981 Stella981
4年前
JSP运行原理和九大隐式对象
一、JSP的原理:JSP文件会在服务器端的JSP引擎作用下转化为一个Servlet类的Java源代码文件。紧接着,这个Servlet类会在Java编译器的作用下被编译成一个class文件,并装载到jvm解释执行。剩下的就等同于Servlet的处理过程了。由于JSP第一次访问时会翻译成servle
Wesley13 Wesley13
4年前
JDK中的Atomic包中的类及使用
引言Java从JDK1.5开始提供了java.util.concurrent.atomic包,方便程序员在多线程环境下,无锁的进行原子操作。原子变量的底层使用了处理器提供的原子指令,但是不同的CPU架构可能提供的原子指令不一样,也有可能需要某种形式的内部锁,所以该方法不能绝对保证线程不被阻塞。Atomic包介绍在JDK1
Stella981 Stella981
4年前
Kafka01
Kafka之生产者入门前言:  Kafka诞生至今,产生两个版本的生产者客户端:1是早期基于scala语言编写的客户端;2是随着Java用户的广泛涌入,kafka0.9版本开始退出Java版本的客户端;  一个基本生产者producer逻辑需要具备以下基本条件:配置Producer,创建生产者实例;