源码 目录java jdk

0源码基础学习Spring源码系列(一)——Bean注入流程

通过本文,读者可以0源码基础的初步学习spring源码,并能够举一反三从此进入源码世界的大米! 由于是第一次阅读源码,文章之中难免存在一些问题,还望包涵指正! ......
源码 流程 基础 Spring Bean

Java 集合中的排序算法浅析

排序是一个Java开发者,在日常开发过程中随处可见的开发内容,Java中有丰富的API可以调用使用。在Java语言中,作为集合工具类的排序方法,必定要做到通用、高效、实用这几点特征。主要探讨java中排序方法所使用的算法,以及那些是值得我们学习和借鉴的内容。文中如有理解和介绍的错误,一起学习,一起探... ......
算法 Java

OpenMP Sections Construct 实现原理以及源码分析

在本篇文章当中主要给大家介绍 OpenMP 当中主要给大家介绍 OpenMP 当中 sections construct 的实现原理以及他调用的动态库函数分析。如果已经了解过了前面的关于 for 的调度方式的分析,本篇文章就非常简单了。 ......
Construct 源码 Sections 原理 OpenMP

OPENMP FOR CONSTRUCT GUIDED 调度方式实现原理和源码分析

OPENMP FOR CONSTRUCT GUIDED 调度方式实现原理和源码分析 前言 在本篇文章当中主要给大家介绍在 OpenMP 当中 guided 调度方式的实现原理。这个调度方式其实和 dynamic 调度方式非常相似的,从编译器角度来说基本上是一样的,在本篇文章当中就不介绍一些相关的必备 ......
CONSTRUCT 源码 原理 方式 OPENMP

剑指 Offer 34. 二叉树中和为某一值的路径(java解题)

leetcode《图解数据结构》剑指 Offer 34. 二叉树中和为某一值的路径(java解题)的解题思路和java代码,并附上java中常用数据结构的功能函数。 ......
路径 Offer java 34

如何去阅读源码,我总结了18条心法

大家好,我是三友~~ 这篇文章我准备来聊一聊如何去阅读开源项目的源码。 在聊如何去阅读源码之前,先来简单说一下为什么要去阅读源码,大致可分为以下几点原因: 最直接的原因,就是面试需要,面试喜欢问源码,读完源码才可以跟面试官battle提升自己的编程水平,学习编程思想和和代码技巧熟悉技术实现细节,提高 ......
源码

java 启动查看jar包加载顺序并设置classpath

本文为博主原创,转载请注明出处: 1.idea查看jar包加载顺序 jdk8 可以通过 -XX:+TraceClassPaths 参数进行查看jar包的加载顺序 jdk11 可以通过 -Xlog:class+path=info 参数进行查看jar包的加载顺序 idea 启动查看配置方式如下: 进行服 ......
classpath 顺序 java jar

用Java写一个分布式缓存——RESP服务端

本篇我们将完成一个RESP的socket的服务端,初步完成一个单机版缓存。 另外我们还需要完成命令的动态路由。 源码:https://github.com/weloe/Java-Distributed-Cache ......
分布式 缓存 Java RESP

Java线程池详解

一、线程池有哪些优点 减少资源开销,不用频繁的创建和销毁线程 提高响应时长,有任务时可直接执行。 提高线程的可管理性,所有线程资源都由线程池统一管理。 二、线程池的主要参数 线程池ThreadPoolExecutor的继承关系: 想知道有哪些参数,先看参数最多的构造函数: public Thread ......
线程 Java

Java线程池中的execute和submit

一、概述 execute和submit都是线程池中执行任务的方法。 execute是Executor接口中的方法 public interface Executor { void execute(Runnable command); } submit是ExecuteService接口中的方法。 pu ......
线程 execute submit Java

对线面试官:浅聊一下 Java 虚拟机栈?

对于 JVM(Java 虚拟机)来说,它有两个非常重要的区域,一个是栈(Java 虚拟机栈),另一个是堆。堆是 JVM 的存储单位,所有的对象和数组都是存储在此区域的;而栈是 JVM 的运行单位,它主管 Java 程序运行的。那么为什么它有这样的魔力?它存储的又是什么数据?接下来,我们一起来看。 1 ......
Java

面试必问:说一下 Java 虚拟机的内存布局?

我们通常所说的 Java 虚拟机(JVM)的内存布局,一般是指 Java 虚拟机的运行时数据区(Runtime Data Area),也就是当字节码被类加载器加载之后的执行区域划分。当然它通常是 JVM 模块的第一个面试问题,所以,接下来我们一起来看它里面包含了哪些内容。 官方定义 《Java虚拟机 ......
布局 内存 Java

ORM哪家强?java,c#,php,python,go 逐一对比, 网友直呼:全面客观

最近一段时间,我使用golang开发了一个新的ORM库。 为了让这个库更好用,我比较研究了各语言的主流ORM库,发现有一些语言的ORM库确实很好用,而有另外一些语言的库那不是一般的难用。于是... ......
客观 网友 python java ORM

记录一次排查log4cxx库按照日期回滚,不创建新目录的BUG

记录一次排查log4cxx库按照日期回滚,但是第二天没有新目录创建的的BUG。日志目录根据当天日期生成新目录,目录下存放日志文件 ......
日期 log4cxx 目录 4cxx log4

Java堆外缓存(一个很有意思的应用)

我们在开发过程中会遇到这样的场景:就是一个服务的各项 JVM 的配置都比较合理的情况下,它的 GC 情况还是不容乐观。分析之后发现有 2 个对象特别巨大,占了总存活堆内存的 90%以上。其中第 1 大对象是本地缓存, GC 之后对象一直存活。然后不久应用就会抛出OutOfMemoryError,那怎 ......
缓存 Java

【Django drf】视图层大总结 ViewSetMixin源码分析 路由系统 action装饰器

九个视图子类 # 两个视图基类 1.APIView 2.GenericAPIView APIView: renderer_classes响应格式类 parser_classes请求解析类 跟数据库解耦合 GenericAPIView:queryset数据集 serializer_class序列化类 ......
视图 路由 ViewSetMixin 源码 Django

Linux上安装jdk Tomcat mysql redis等

1.安装JDk 1.1这里使用xshell中xfxp进行文件的上传,将jdk二进制包上传到Linux服务器上 下载地址:https://www.oracle.com/java/technologies/downloads/#java8 或者这里有下载好的安装包:链接:https://pan.baid ......
Tomcat Linux mysql redis jdk

Java微服务随机掉线排查思路

背景 我们的业务共使用11台(阿里云)服务器,使用SpringcloudAlibaba构建微服务集群,共计60个微服务,全部注册在同一个Nacos集群 流量转发路径: nginx->spring-gateway->业务微服务 使用的版本如下: spring-boot.version:2.2.5.RE ......
思路 Java

Java-Integer好大一坑,一不小心就掉进去了

遛马少年,一个代码写的很6的程序员,专注于技术干货分享 最近,在处理线上bug的时候,发现了一个奇怪的现象 业务代码大概是这样的 public static boolean doSth(Integer x, Integer y) { if (x == y) { return true; } //do ......
Java-Integer 一不小心 Integer Java

Java JDK Proxy和CGLib动态代理示例讲解

简介 代理模式在Java中有很多应用场景,而代理又分静态代码和动态代理。静态代理是编写、编译或加载时织入代码实现,而动态代理则在运行时实现。简单而言,静态代理是在运行前就已经存在,而动态代理则在运行时才存在的。而常用的动态代理有两种实现: JDK Proxy: JDK Proxy是JDK自带的,不需 ......
示例 动态 CGLib Proxy Java

dapr本地托管的服务调用体验与Java SDK的Spring Boot整合

1 简介 之前在文章《dapr入门与本地托管模式尝试》中介绍了dapr和本地托管,本文我们来介绍如果在代码中使用dapr的服务调用功能,并把它整合到Spring Boot中。 Dapr服务调用的逻辑如下: 本次实验会创建两个服务: pkslow-data,提供数据服务,用于返回数据; pkslow- ......
Spring dapr Java Boot SDK

Django框架之drf:5、反序列化器校验部分源码分析,断言,drf之请求与响应,视图组件介绍及两个视图基类,代码部分实战

Django框架之drf 一、反序列化类校验部分源码解析 反序列化校验什么时候开始执行校验? 剖析流程一:在视图中使用反序列化器实例化的对象调用is_valid()的时候就会进行校验,通贩校验返回True,反之False class BookView(APIView): # 新增 def post( ......
视图 部分 序列 实战 组件

ua5.4源码剖析:三. C++与Lua相互调用

概述 从本质上来看,其实说是不存在所谓的C++与lua的相互调用。lua是运行在C上的,简单来说lua的代码会被编译成字节码在被C语言的语法运行。在C++调用lua时,其实是解释运行lua文件编译出来的字节码。lua调用C++其实还是解释运行lua文件编译出来的字节码的语义是调用lua栈上的C++函 ......
源码 ua5 Lua ua

[​DuckDB] 多核算子并行的源码解析

DuckDB 是近年来颇受关注的OLAP数据库,号称是OLAP领域的SQLite,以精巧简单,性能优异而著称。笔者前段时间在调研Doris的Pipeline的算子并行方案,而DuckDB基于论文《Morsel-Driven Parallelism: A NUMA-Aware Query Evalua ......
算子 源码 DuckDB

车牌识别服务-JAVA+ONNX版本,支持全类型的车牌

1、车牌识别简介 车牌识别分为车牌检测与识别,检测模型一般需要检查车牌的位置识别模型一般为识别车牌号及车牌的颜色类型等,目前有较多的深度学习模型能支持,这里就不详细说了。 自动识别车辆车牌信息,应用于停车场、小区、工厂等场景,实现无卡、无人的车辆进出场自动化、规范化管理,有效降低人力成本和通行卡证制 ......
车牌 版本 类型 JAVA ONNX

ReentrantLock介绍及源码解析

ReentrantLock介绍及源码解析 一、ReentrantLock介绍 ReentrantLock是JUC包下的一个并发工具类,可以通过他显示的加锁(lock)和释放锁(unlock)来实现线程的安全访问,ReentrantLock还可以实现公平锁和非公平锁,并且其与synchronized的 ......
ReentrantLock 源码

ApiView/Request类源码分析/序列化器

内容概要 ApiView+JsonResponse编写接口 ApiView+Response编写接口 ApiView源码解析 Request对象源码分析 序列化器介绍和快速使用/反序列化 反序列化的校验 ApiView+JsonResponse编写接口 我们还是在models模型层中创建一个book ......
序列 源码 ApiView Request

《深入理解Java虚拟机》第三章读书笔记(一)——垃圾回收算法

参考书籍《深入理解java虚拟机》周志明著 系列文章目录和关于我 本文主要介绍垃圾回收理论知识 1.jvm哪些区域需要进行垃圾回收 虚拟机栈,本地方法栈,程序计数器都是线程私有的,随线程而生,随线程而灭。其中栈中的栈帧随着方法的进入和退出而有条不紊的执行出栈和入栈操作,每一个栈帧需要分配内存基本上在 ......
算法 垃圾 第三章 笔记 Java

《深入理解Java虚拟机》第三章读书笔记(三)——经典垃圾回收器

系列文章目录和关于我 一丶概述 上图展示了 经典的垃圾回收器,其中Serial,ParNew,Parallel Scavenge(图中的Parallel) 作用在新生代Serial Old CMS,Parallel Old作用在老年代,这些垃圾回收器颜色相同表示通常搭配使用。G1,ZGC,Shena ......
垃圾 第三章 笔记 经典 Java

《深入理解Java虚拟机》第三章读书笔记(二)——HotSpot垃圾回收算法实现(OopMap,安全点安全区域,卡表,写屏障,三色标记算法)

系列文章目录和关于我 前面《深入理解Java虚拟机》第三章读书笔记(一)——垃圾回收算法我们学习了垃圾回收算法理论知识,下面我们关注下HotSpot垃圾回收算法的实现,分为以下几部分 对象是垃圾的判断依据 GC Roots 是如何高效扫描的 如何解决跨代引用对象的垃圾回收问题 如何降低垃圾回收STW ......
算法 色标 屏障 垃圾 区域