java
文章平均质量分 88
代码小郭
主要从事JAVA后端开发
展开
-
JAVA技术-JVM入门,看这一篇就够了!
JVM(Java Virtual Machine,Java虚拟机),是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机平台(操作系统)上仿真模拟各种计算机功能来实现的。引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码class文件),就可以在多种平台上不加修改地运行。原创 2023-08-12 13:52:55 · 205 阅读 · 0 评论 -
JAVA技术-AQS基础知识
AbstractQueuedSynchronizer(简称AQS)是JAVA中一套实现锁机制的底层框架,Java中著名的JUC包的核心就是AQS框架。AQS框架内部维护一个FIFO类型的Node队列来控制多线程的竞争排队顺序,使用一个int类型的state变量来定义当前共享资源占用的状态,定义了若干同步状态获取和释放的方法来供开发者使用,开发者只需要继承AbstractQueuedSynchronizer类,然后实现其中的指定模板方法,就可以快速实现一套线程同步控制组件。原创 2023-08-03 20:42:07 · 343 阅读 · 0 评论 -
JAVA技术-并发编程工具类有哪些?
面试时经常会被问到:你了解哪些并发编程中的工具类?上面的问题如果你答不上,我赌十包辣条,你这次面试肯定凉凉了。原创 2023-08-02 17:00:01 · 117 阅读 · 0 评论 -
JAVA技术-ThreadLocal的简单用法
2分钟教会你使用ThreadLocal原创 2023-07-28 09:58:58 · 134 阅读 · 0 评论 -
JAVA异步编程神器-CompletableFuture入门
FutureTask的get()方法在Future计算完成之前会一直处于阻塞状态下,isDone()方法容易耗费CPU资源,对于真正的异步处理我们是希望能通过传入回调函数,在Future结束时自动调用该回调函数,这样,我们就不用等待结果。阻塞的方式和异步编程的设计理念相违背,而轮询的方式也会耗费CPU资源。因此JDK8中出现了一种新的工具类:CompletableFuture。原创 2023-07-27 16:46:20 · 311 阅读 · 0 评论 -
JAVA技术-synchronized关键字
在多线程并发编程中 synchronized 是历史很悠久的概念,它可以用于修饰实例方法、静态方法、代码块。当一个线程试图访问同步代码时必须首先获得锁,正常退出或者抛出异常时必须释放锁。由于会导致争用不到锁的线程进入阻塞状态,涉及到用户态和内核态的操作系统级别的切换动作,因此很多人都会称呼synchronized为重量级锁。但是,随着 Java SE 1.5以后 对 synchronized 进行了各种优化之后,有些情况下它就并不那么重了。原创 2023-07-25 10:28:40 · 248 阅读 · 0 评论 -
Java 的完整故事-从 1991 年到 2022 年
今天,Java已经发展为世界上最流行和最受欢迎的编程语言之一,每年有超过数以万计的人在学习Java或从事Java开发相关的工作。毋庸置疑,Java技术已经深入各行各业。附上TIOBE 2023年4月排行榜:你可能知道也可能不知道,Java已经有一个很长的历史了(将近30年)。Java的雏形诞生于1990年代初,最初是叫Oak(领导办公室外的一棵橡树),当时的目标是将其用于数字有线电视行业的程序架构,各种消费性电子产品例如机顶盒、智能电视等数字设备。人不能忘本,否则做人会很失败。原创 2023-07-23 22:01:54 · 207 阅读 · 0 评论 -
实用的代码轮子分享
分享好用的代码工具类原创 2023-07-22 16:59:03 · 137 阅读 · 0 评论 -
JAVA服务端通用数据导入导出组件V1.0
JAVA服务端通用数据导入导出组件V1.0 工作中经常会遇到对excel这类文件进行导入导出的业务需求, 这些需求其实从根本上看都是对excel的解析处理,因此我特地花了两天时间写了一套通用的导入导出工具组件,为以后实现这类需求提高效率。当前版本V1.0,源码地址:https://github.com/CodingGyd/project/tree/master/excel-utils原创 2017-12-03 12:04:08 · 2808 阅读 · 0 评论 -
HashMap的基础知识
HashMap是java集合框架中非常重要的一种类型,也是开发业务系统时最受欢迎的数据类型之一。原创 2023-07-19 09:46:05 · 111 阅读 · 0 评论 -
研发过程-提效工具(偷懒神器)
作为一名从业多年的业务CRUD工程师, 我发现在日常编码工作中的大部分时间都是在重复做一些CV操作,看似一直在忙碌,其实并没有给我带来太多成长。温水煮青蛙,会逐渐在就业市场上失去竞争力,最后的结果就是被更廉价的劳动力替代~ 一直在做重复CV操作,这应该就是大家自嘲码农的原因之一吧。你别不信,我认为大部分人都正在做这样的CV工作。 下面会持续记录一些解放个人生产力的神器,也是我目前在用的一些好用工具,推荐给大家。原创 2023-07-18 14:14:16 · 261 阅读 · 0 评论 -
JVM内存区域介绍
JVM内存区域介绍众所周知,对于C/C++程序员来说,他们即拥有内存管理上的最高权力, 也需要对一个对象从创建到消亡的整个生命周期负责到底。然而对于Java程序员来说,通常情况下我们无需对内存管理进行干预,底层虚拟机的垃圾回收机制和内存分配算法很好的管理了对象的创建和消亡过程。但是如果我们了解一些Java底层虚拟机内存分配机制,对解决程序内存方面遇到的一些异常是会有很大帮助的。原创 2018-01-20 18:02:12 · 270 阅读 · 0 评论 -
JAVA对象创建的过程
JVM对象创建的过程 对于java程序员来说,我们无时无刻不在创建和使用对象。使用new关键字即可快速创建一个对象,其实在new的背后,JVM为我们完成了很多事情。 JVM的字节码解释器在读取到NEW的指令时,会先去常量区定位对应类的符号引用, 并且检查符号引用指向的类的信息有没有被加载,解析和初始化过。如果没有则会先进行类的加载过程。 在对类的检查通过后, JVM会原创 2018-01-21 18:19:27 · 1057 阅读 · 0 评论