- Arthas jad(字节码文件反编译成源代码 ) Arthas jad(字节码文件反编译成源代码 )
- 使用ProGuard混淆JavaWeb项目代码在开发JavaWeb应用时,为了保护源代码不被轻易反编译和阅读,通常会采用代码混淆技术。ProGuard是一个广泛使用的免费工具,可以用来优化、缩小和混淆Java字节码。本文将详细介绍如何使用ProGuard对JavaWeb项目进行代码混淆。1. ProGuard简介ProGuard是一个Java类文件的过滤器,它可以删除无用的类、字段、方法和属... 使用ProGuard混淆JavaWeb项目代码在开发JavaWeb应用时,为了保护源代码不被轻易反编译和阅读,通常会采用代码混淆技术。ProGuard是一个广泛使用的免费工具,可以用来优化、缩小和混淆Java字节码。本文将详细介绍如何使用ProGuard对JavaWeb项目进行代码混淆。1. ProGuard简介ProGuard是一个Java类文件的过滤器,它可以删除无用的类、字段、方法和属...
- 探索虚拟线程:原理与实现介绍 (Introduction)Java 虚拟线程 (Virtual Threads) 是 Java 平台在 JDK 21 中正式发布的一项革命性新特性 (经过 JDK 19 和 20 的预览)。它们是一种轻量级的、由 JVM 管理的线程,旨在极大地简化编写高吞吐量并发应用,特别是那些涉及大量等待(如网络 I/O 或数据库查询)的应用。与传统的平台线程(即操作系统线... 探索虚拟线程:原理与实现介绍 (Introduction)Java 虚拟线程 (Virtual Threads) 是 Java 平台在 JDK 21 中正式发布的一项革命性新特性 (经过 JDK 19 和 20 的预览)。它们是一种轻量级的、由 JVM 管理的线程,旨在极大地简化编写高吞吐量并发应用,特别是那些涉及大量等待(如网络 I/O 或数据库查询)的应用。与传统的平台线程(即操作系统线...
- Arthas mc(Memory Compiler/内存编译器 ) Arthas mc(Memory Compiler/内存编译器 )
- 目录一:断开连接的本质二:四次挥手三:“三次握手”和“四次挥手”异同四:TCP连接状态转换五:滑动窗口六:流量控制一:断开连接的本质通过上一篇文章的学习,我们知道“三次握手”的目的和本质就是让通信双方能够保存对端的信息,当信息这个数据量过大的时候,就要引用数据结构。那么断开连接的本质就是把对端的信息从数据结构中进行删除,释放掉。二:四次挥手1:FIN2:过程梳理引入:与“三次握手”中“一定... 目录一:断开连接的本质二:四次挥手三:“三次握手”和“四次挥手”异同四:TCP连接状态转换五:滑动窗口六:流量控制一:断开连接的本质通过上一篇文章的学习,我们知道“三次握手”的目的和本质就是让通信双方能够保存对端的信息,当信息这个数据量过大的时候,就要引用数据结构。那么断开连接的本质就是把对端的信息从数据结构中进行删除,释放掉。二:四次挥手1:FIN2:过程梳理引入:与“三次握手”中“一定...
- 目录一:连接管理二:三次握手(重点)三:解决“后发先至”问题一:连接管理1:建立连接【JavaEE】——TCP回显服务器(万字长文超详细)-CSDN博客在之前的学习中,我们知道用下述的这个代码(构造方法),将客户端 和服务器的内核建立连接,服务器在调用accept方法拿到操作系统内核中的连接,从而达到应用程序层面上服务器和客户端的连接。注:这个方法不是很明白的可以点击上面那条链... 目录一:连接管理二:三次握手(重点)三:解决“后发先至”问题一:连接管理1:建立连接【JavaEE】——TCP回显服务器(万字长文超详细)-CSDN博客在之前的学习中,我们知道用下述的这个代码(构造方法),将客户端 和服务器的内核建立连接,服务器在调用accept方法拿到操作系统内核中的连接,从而达到应用程序层面上服务器和客户端的连接。注:这个方法不是很明白的可以点击上面那条链...
- 目录一:自定义协议二:xml方案三:json方案四:protobuffer方案五:传输层六:UDP协议七:校验和/检验和一:自定义协议程序员在调用操作系统提供的网络API写出来的代码都是属于应用层的(回顾五个层级:应用层,传输层,网络层,数据链路层,物理层),应用层自身就有许多已经创建好的协议,但多数情况下是需要程序员自定义协议的1:自定义协议主要约定好两方面的内容(1)交互哪些信息解释:... 目录一:自定义协议二:xml方案三:json方案四:protobuffer方案五:传输层六:UDP协议七:校验和/检验和一:自定义协议程序员在调用操作系统提供的网络API写出来的代码都是属于应用层的(回顾五个层级:应用层,传输层,网络层,数据链路层,物理层),应用层自身就有许多已经创建好的协议,但多数情况下是需要程序员自定义协议的1:自定义协议主要约定好两方面的内容(1)交互哪些信息解释:...
- 目录一:局域网二:局域网的连接方式二:广域网三:网络通信四:协议五:五元组六:协议分层七:封装(数据发送过程)八:分用(数据接收过程)九:经典交换机的封装分用十:经典路由器的封装分用一:局域网1:概念局域网Local Area Network 简称LAN局域网是本地,局部组建的一种私有网络二:局域网的连接方式1:网线直连2:集线器组建意识把一个网口扩展成多个,但扩展出来的多个网口彼此间会影... 目录一:局域网二:局域网的连接方式二:广域网三:网络通信四:协议五:五元组六:协议分层七:封装(数据发送过程)八:分用(数据接收过程)九:经典交换机的封装分用十:经典路由器的封装分用一:局域网1:概念局域网Local Area Network 简称LAN局域网是本地,局部组建的一种私有网络二:局域网的连接方式1:网线直连2:集线器组建意识把一个网口扩展成多个,但扩展出来的多个网口彼此间会影...
- 目录引入:一:Callable和FutureTask类二:ReentrantLock——可重入锁三:Semaphore——信号量四:CountDownLatch引入:通过之前的学习,我们了解到CAS本质上是JVM替我们封装好的,我们没有办法感知到在java.util.concurrent中存放了一些我们多线程编程时常用的类看下面的一些接口:是不是非常熟悉,我们把这个packet包简称为(J... 目录引入:一:Callable和FutureTask类二:ReentrantLock——可重入锁三:Semaphore——信号量四:CountDownLatch引入:通过之前的学习,我们了解到CAS本质上是JVM替我们封装好的,我们没有办法感知到在java.util.concurrent中存放了一些我们多线程编程时常用的类看下面的一些接口:是不是非常熟悉,我们把这个packet包简称为(J...
- 目录一:CAS指令二:原子类三:CAS是如何避免线程安全问题四:CAS中ABA问题一:CAS指令1:概念CAS是CPU中的一条特殊的指令,它的功能就是完成“比较和交换”2:伪代码例子说明伪代码:只能表示一种逻辑,并不能实现编译执行注:CAS指令一般只关注内存当中的值,寄存器当中的值是多少不打紧,用完就不要了3:优点CAS指令不涉及锁,也能保证线程的安全二:原子类1:引入在Java中:先是操... 目录一:CAS指令二:原子类三:CAS是如何避免线程安全问题四:CAS中ABA问题一:CAS指令1:概念CAS是CPU中的一条特殊的指令,它的功能就是完成“比较和交换”2:伪代码例子说明伪代码:只能表示一种逻辑,并不能实现编译执行注:CAS指令一般只关注内存当中的值,寄存器当中的值是多少不打紧,用完就不要了3:优点CAS指令不涉及锁,也能保证线程的安全二:原子类1:引入在Java中:先是操...
- 目录一:乐观锁和悲观锁二:轻量级锁和重量级锁三:自旋锁和挂起等待锁四:普通互斥锁和读写锁五:公平锁和非公平锁六:可重入锁和不可重入锁七:synchronized自适应阶段八:锁消除九:锁粗化一:乐观锁和悲观锁1:乐观锁在加锁过程中,预估发生锁冲突的概率小,降低加锁的工作量,加锁的效率就提高了,安全系数不高(可能会引发占用大量cpu资源的问题)2:悲观锁在加锁过程中,预估发生锁冲突的概率大,... 目录一:乐观锁和悲观锁二:轻量级锁和重量级锁三:自旋锁和挂起等待锁四:普通互斥锁和读写锁五:公平锁和非公平锁六:可重入锁和不可重入锁七:synchronized自适应阶段八:锁消除九:锁粗化一:乐观锁和悲观锁1:乐观锁在加锁过程中,预估发生锁冲突的概率小,降低加锁的工作量,加锁的效率就提高了,安全系数不高(可能会引发占用大量cpu资源的问题)2:悲观锁在加锁过程中,预估发生锁冲突的概率大,...
- 目录引入:问题引入一:解决方案二:ThreadPoolExecutor(标准库线程池)三:Executors(工厂类)四:通过代码实现简单的线程池引入:问题引入在之前的学习中,我们了解到,为了降低频繁创建和销毁进程所带来的巨大开销,我们引入了轻量级进程的概念(线程)现在若线程的数量进一步提升,那么线程的频繁创建和销毁所带来的资源消耗,我们也不能忽视了所以我们进行优化,引入了“池”的概念:这... 目录引入:问题引入一:解决方案二:ThreadPoolExecutor(标准库线程池)三:Executors(工厂类)四:通过代码实现简单的线程池引入:问题引入在之前的学习中,我们了解到,为了降低频繁创建和销毁进程所带来的巨大开销,我们引入了轻量级进程的概念(线程)现在若线程的数量进一步提升,那么线程的频繁创建和销毁所带来的资源消耗,我们也不能忽视了所以我们进行优化,引入了“池”的概念:这...
- 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:阻塞队列二:“生产者消费者模型”——包饺子三:“生产者消费者模型”——分布式系统四:自己实现一个阻塞队列一:阻塞队列1:概念对于一个满的队列,入队操作就会陷入阻塞,直到这个队列有元素出队后,才可以往队列里面加入元素。对于一个空的队列,出队操作就会陷入阻塞,直到这个队列有元素入队后,才可以对队... 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:阻塞队列二:“生产者消费者模型”——包饺子三:“生产者消费者模型”——分布式系统四:自己实现一个阻塞队列一:阻塞队列1:概念对于一个满的队列,入队操作就会陷入阻塞,直到这个队列有元素出队后,才可以往队列里面加入元素。对于一个空的队列,出队操作就会陷入阻塞,直到这个队列有元素入队后,才可以对队...
- 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:单例模式(singleton)二:“饿汉模式”三:“懒汉”模式四:“饿汉”模式线程安全问题五:“懒汉”模式的线程安全问题六:指令重排序问题一:单例模式(singleton)1:概念单例模式就是,在java进程中,要求指定的类,只能有一个对象我们通过一些特殊的技巧来确保,我们的实例(对象)只有... 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录一:单例模式(singleton)二:“饿汉模式”三:“懒汉”模式四:“饿汉”模式线程安全问题五:“懒汉”模式的线程安全问题六:指令重排序问题一:单例模式(singleton)1:概念单例模式就是,在java进程中,要求指定的类,只能有一个对象我们通过一些特殊的技巧来确保,我们的实例(对象)只有...
- 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录引子:一:情景引入二:线程饿死问题三:wait和notify引子:wait和notify与join的用途有些类似。wait(等待)notify(通知)机制通过引入wait和notify在应用层面上对多线程代码的执行顺序产生干预。此处干预并不影响到操作系统对线程的随机调度一:情景引入有四个滑稽老铁... 阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!目录引子:一:情景引入二:线程饿死问题三:wait和notify引子:wait和notify与join的用途有些类似。wait(等待)notify(通知)机制通过引入wait和notify在应用层面上对多线程代码的执行顺序产生干预。此处干预并不影响到操作系统对线程的随机调度一:情景引入有四个滑稽老铁...
上滑加载中
推荐直播
-
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中
热门标签