![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java干货
文章平均质量分 76
分析各种java技术
向上的狼
目前大四, 自学编程,非计算机专业,在这里分享我的学习路程.
展开
-
【Java 干货教程】Java实现分页的几种方式详解
无论是自我学习中,还是在工作中,固然会遇到与前端搭配实现分页的功能,发现有几种方式,特此记录一下。原创 2024-01-11 15:53:54 · 15600 阅读 · 2 评论 -
【Java 干货教程】Java方法引用详解
Java方法引用是Java 8引入的一项重要特性,它提供了一种简洁、可读性高的方式来直接引用已经存在的方法。方法引用使得代码更加简洁、易懂,同时提高了代码的可维护性和重用性。本文将详细介绍Java方法引用的概念、语法和使用方法,并提供一些示例代码。原创 2024-01-08 14:09:48 · 2288 阅读 · 0 评论 -
【Java干货教程】Stream流详解
【Java干货教程】Stream流详解原创 2024-01-04 16:00:58 · 2710 阅读 · 0 评论 -
【Java干货教程】JSON,JSONObject,JSONArray类详解
【Java干货教程】JSON,JSONObject,JSONArray类详解原创 2023-12-27 10:16:50 · 5785 阅读 · 1 评论 -
【Java干货教程】Java中BigInteger类的使用方法详解
【Java干货教程】Java中BigInteger类的使用方法详解原创 2023-12-25 15:33:32 · 881 阅读 · 0 评论 -
new一个ObjectInputStream为什么会出现java.io.EOFException
new一个ObjectInputStream为什么会出现java.io.EOFException原创 2023-05-29 21:07:42 · 991 阅读 · 0 评论 -
private static final Long serialVersionUID= 1L详解
private static final Long serialVersionUID= 1L详解原创 2023-02-14 15:01:19 · 7602 阅读 · 2 评论 -
多线程中守护线程的使用
多线程中守护线程的使用原创 2022-09-08 20:42:33 · 1728 阅读 · 0 评论 -
多线程中sleep()和interrupt()的结合使用
多线程中sleep()和interrupt()的结合使用原创 2022-09-08 20:21:51 · 575 阅读 · 0 评论 -
Java中时间类Date和Calendar的基本知识
Java中时间类Date和Calendar的基本知识原创 2022-09-03 16:29:52 · 640 阅读 · 0 评论 -
【Java干货教程】Java中Lambda表达式详解
Java中Lambda表达式详解原创 2022-08-08 10:44:13 · 3044 阅读 · 0 评论 -
Java中@FunctionalInterface注解详解
Java中@FunctionalInterface注解详解转载 2022-08-07 17:13:34 · 5215 阅读 · 0 评论 -
Java中的排序接口Comparable和比较器Comparator详解
Java中的排序接口Comparable和比较器Comparator详解原创 2022-08-07 11:47:23 · 10001 阅读 · 2 评论 -
JAVA基础-网络编程概述及应用(示例代码)
一、网络编程入门1.1、网络编程概述 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统 网络编程 在网络通信协议下,不同计算机上运行的程序,可以进行数据传输1.2、网络编程三要素 IP地址 要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个..转载 2022-05-04 20:46:07 · 527 阅读 · 0 评论 -
最全Java锁详解:独享锁/共享锁+公平锁/非公平锁+乐观锁/悲观锁
最全Java锁详解:独享锁/共享锁+公平锁/非公平锁+乐观锁/悲观锁转载 2022-05-01 23:24:54 · 774 阅读 · 0 评论 -
int类型和Integer类型数据的比较
int类型和Integer类型数据的比较原创 2022-05-01 22:37:59 · 4009 阅读 · 0 评论 -
原子操作类AtomicInteger详解
原子操作类AtomicInteger详解转载 2022-04-29 13:39:13 · 438 阅读 · 0 评论 -
锁与CAS详解
一. 悲观锁与乐观锁乐观锁和悲观锁问题,是出现频率比较高的面试题。本文将由浅入深,逐步介绍它们的基本概念、实现方式(含实例)、适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官。乐观锁和悲观锁是两种思想,主要是解决并发场景下的数据争夺的问题。乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如果别人修改了数据则放弃操作,否则执行操作。 悲观锁:悲观锁在操作数据时比较悲观,认转载 2022-04-29 11:47:25 · 445 阅读 · 0 评论 -
Java中的Condition详解
一、Condition简介任意一个Java对象,都拥有一组监视器方法(定义在Object类中),主要包括wait,notify,notifyAll方法,这些方法与synchornized关键字相配合,可以实现等待/通知模式。Condition接口也提供了类似的Object的监视器方法,与Lock配合可以实现等待/通知模式。但是这两者在使用方式以及功能上还是有差别的。Condition定义了等待/通知两种类型的方法,当前线程调用这些方法时,需要提前获取到Condition对象关联的锁。Co转载 2022-04-29 11:13:59 · 18396 阅读 · 0 评论 -
Java中的Lock详解
简介java.util.concurrent.locks.Lock 是一个类似于synchronized 块的线程同步机制。但是 Lock比 synchronized 块更加灵活。Lock是个接口,有个实现类是ReentrantLock。Lock和syncronized的区别原创 2022-04-28 19:57:45 · 27337 阅读 · 8 评论 -
Java内存模型JMM概述
Java内存模型JMM概述原创 2022-04-28 13:13:52 · 238 阅读 · 0 评论 -
深入理解并发编程的3大特性(原子性、有序性、可见性)
深入理解并发编程的3大特性(原子性、有序性、可见性)转载 2022-04-28 10:43:13 · 698 阅读 · 0 评论 -
Java volatile关键字详解
一、简介volatile是Java提供的一种轻量级的同步机制。Java语言包含两种内在的同步机制:同步块(或方法)和volatile变量,相比于synchronized (synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调度。但是volatile变量的同步性较差(有时它更简单并且开销更低),而且其使用也更容易出错。二、并发编程的3个基本概念1.原子性定义:即一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。原创 2022-04-24 14:24:57 · 1747 阅读 · 0 评论 -
java阻塞队列BlockingQueue讲解---生产者消费者模型
java阻塞队列BlockingQueue讲解---生产者消费者模型转载 2022-04-22 11:32:58 · 2616 阅读 · 4 评论 -
java实现生产者消费者模式
一: 什么是生产者消费者模型 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力。简单来说: 生产者消费者模型就是指,在一个系统中,存在两种角色,一个为生产者,一个为消费者,通过一个缓冲区(仓库)进行通信,生产者将生产的产品放入仓库,消费...原创 2022-04-22 10:01:43 · 7885 阅读 · 1 评论 -
包装类中的缓存设计(享元模式:Flyweight Pattern)
包装类中的缓存设计(享元模式:Flyweight Pattern)转载 2022-04-09 14:37:00 · 447 阅读 · 0 评论 -
今天讲讲java中的抽象类到底有什么作用?
java中的抽象类到底有什么作用原创 2022-04-04 14:13:35 · 11093 阅读 · 0 评论 -
java泛型详解
一: 什么是泛型1.背景:JAVA推出泛型以前,程序员可以构建一个元素类型为Object的集合,该集合能够存储任意的数据类型对象,而在使用该集合的过程中,需要程序员明确知道存储每个元素的数据类型,否则很容易引发ClassCastException异常。2.概念:Java泛型(generics)是JDK5中引入的一个新特性,泛型提供了编译时类型安全监测机制,该机制允许我们在编译时检测到非法的类型数据结构.泛型的本质就是参数化类型,也就是所操作的数据类型被指定为一个参数。3.好处:原创 2021-11-19 19:28:21 · 1093 阅读 · 0 评论 -
java中基本数据类型跟Object的关系
Java中基本数据类型和Object之间的关系我知道大家是不是都听说过Object是所有类型的基类, 但是这句话其实并不是正确的, 因为java中基本数据类型跟Object是没有任何关系的.这里举一个例子这里在进行调用swap方法时, 是不能直接将int类型传给swap(Object obj)方法的, 因为Object其实跟基本数据类型没有一点关系, 这个时候a就发现我们类型不匹配, 所以就自动包装成了Integer类型了, 这个时候就能跟Object产生联系了, 才能成功调用swap方法了原创 2021-11-15 19:30:07 · 1303 阅读 · 1 评论 -
Java IO流详讲
前言流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作。用来进行输入输出操作的流就称为IO流。换句话说,IO流就是以流的方式进行输入输出一、File1.File类的概述和构造方法通过如上的图相信对文件打的相关应用已经有了初步的认识,因为封装的不是真正存在的文件,仅仅是一个路径名而已,所以没有那个路径的文件也可以写,不会报错,将来是把不存在的转换为具体存在的。原创 2021-11-13 10:23:33 · 232 阅读 · 0 评论 -
java:反射机制详讲
一、什么是反射:(1)Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到class对象之后,再通过class对象进行反编译,从而获取对象的各种信息。(2)Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期知道运行的对象是谁。二、反射的原理:下图是类的正常加载过转载 2021-11-09 20:56:42 · 407 阅读 · 1 评论 -
java自定义注解详解
一: 注解的概念1.1 注解的官方定义首先看看官方对注解的描述:An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotated. Annotations have no direct effect on the operation of the code they an转载 2021-11-09 14:17:36 · 1940 阅读 · 4 评论 -
java: 详解java中的集合框架
一、Java集合框架概述(1)图解集合可以看作是一种容器,用来存储对象信息。所有集合类都位于java.util包下,但支持多线程的集合类位于java.util.concurrent包下。上图中淡绿色背景覆盖的是集合体系中常用的实现类,分别是ArrayList、LinkedList、ArrayQueue、HashSet、TreeSet、HashMap、TreeMap等实现类。(2)数组与集合的区别1)数组长度不可变化, 集合类用于保存数量不确定的数据.2)数组元素既可以是基本.转载 2021-11-01 17:17:40 · 966 阅读 · 0 评论 -
Java:详解Java中的异常(Error与Exception)
一、 异常机制的概述 异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。程序错误分为三种:1.编译错误;2.运行时错误;3.逻辑错误。(1)编译错误是因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置,这个也是大家在刚接触编程语言最常遇到的问题。 (2)运行时错误是因为程序在执行时,运行环境发现了不能执行的操作。 (3)...转载 2021-10-28 17:38:18 · 11187 阅读 · 6 评论 -
聊聊java的各种内部类
一、成员内部类public class OutClass { private int age = 1; private static int staticAge = 2; private static void test(){ System.out.println("静态的test"); } class Inner{ public void show(){ System.out.println(age);转载 2021-09-29 18:42:48 · 154 阅读 · 0 评论 -
java中的增强for循环的原理和可能会踩得坑
在JAVA中,遍历集合和数组一般有以下三种形式:for (int i = 0; i < list.size(); i++) { System.out.print(list.get(i) + ",");}Iterator iterator = list.iterator();while (iterator.hasNext()) { System.out.print(iterator.next() + ",");}for (Integer i : list) { Sy原创 2021-09-28 21:11:52 · 250 阅读 · 0 评论 -
三目运算符使用的一些注意事项, 三目运算符中的一些“潜规则“
三目运算符格式:expression1 ? expression2 : expression3注意事项:1. java虚拟机在编译三目运算时是以 “?” 和 “:” 来判断各位置的代码充当的结构。“?”前作为一部分,“?”和“:”中间作为一部分,“:”后作为一部分 。表达式一:int temp = 0 < 1 ? c = c + 1 : d = d + 1;错误,编译无法通过。Java虚拟机把上式看成了int temp = (0<1?c=c+1:d)=d+1,并没有把d=d+原创 2021-09-28 20:12:16 · 1703 阅读 · 0 评论 -
聊聊如何理解Java的一次编译,到处运行?
代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。——《深入理解Java虚拟机》程序语言分为机器语言、汇编语言和高级语言,历史的发展演变也是从机器语言到高级语言的过程。现在几乎没有程序员的工作是编写机器语言,都是使用高级语言如C、Java来编程。计算机只能识别和执行仅含0和1的机器语言,所以我们使用高级语言编写的程序必须经过编译器变成机器语言才能被处理器执行。程序从源代码到运行的三个阶段为:编码——编译——运行。编译的过程(Compile)编译就是使用.转载 2021-07-31 16:40:57 · 721 阅读 · 0 评论 -
聊聊什么是编译型语言和解释型语言?以及Java是什么语言?
一: 高级语言和机器语言语言分为3类计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。而这种转换的方式有两种:1.编译2.解释由此高级语言也分为编译型语言和解释型语言。编译型语言使用专门的编译器,针转载 2021-07-31 16:23:42 · 228 阅读 · 0 评论 -
聊聊Java程序对类的使用方式
一: Java程序对类的使用方式可分为两种1: 主动使用2:被动使用所有的Java虚拟机实现必须在每个类或接口被Java程序“首次主动使用”时才初始化他们(初始化就会执行一次)二: 主动使用(七种)1; 创建类的实例2:访问某个类或接口的静态变量,或者对该静态变量赋值3: 调用类的静态方法5: 初始化一个类的子类4: 反射(如Class.forName("com.softeem.Student")6: Java虚拟机启动时被标明为启动类的类(Java Test)..原创 2021-07-30 11:28:50 · 161 阅读 · 0 评论