线程synchornized方式java

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

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

DaemonSet方式部署nginx-ingress

前言 nginx-ingress是k8s官方维护的一个Ingress Controller,具体使用,官方有详细的文档:https://kubernetes.github.io/ingress-nginx/deploy/ 直接按照官方文档进行安装,一般都会失败,本文将帮助你成功安装他。 官方的安装方 ......
nginx-ingress DaemonSet ingress 方式 nginx

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

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

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

以交互的方式升级ESXi主机

以交互的方式升级ESXi主机 环境说明: 需求:要将 ESXi 6.0 主机和 ESXi 6.5 主机升级到 ESXi 6.7,可从 CD、DVD 或 USB 闪存驱动器引导 ESXi 安装程序。 注意:在升级之前,请考虑断开网络存储的连接。此操作可缩短安装程序搜索可用磁盘驱动器的时间。 断开网络存 ......
主机 方式 ESXi

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

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

《深入理解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 ......
算法 色标 屏障 垃圾 区域

单线程架构的Redis如此之快的 4 个原因

前言 作为内存中数据存储,Redis 以其速度和性能着称,通常被用作大多数后端服务的缓存解决方案。 但是,在内部,Redis 采用单线程架构。 为什么单线程设计依然会有这么高的性能?如果利用多线程并发处理请求不是更好吗? 在本文中,让我们深入探讨为什么 Redis 才有单线程架构,依然如此之快,主要 ......
线程 架构 原因 Redis

Java实现BP神经网络MNIST手写数字识别

Java实现BP神经网络,内含BP神经网络类,采用MNIST数据集,包含服务器和客户端程序,可在服务器训练后使客户端直接使用训练结果,界面有画板,可以手写数字 ......
神经网络 神经 数字 MNIST 网络

"万字" Java I/O 详解

Java 平台的基础 I/O 类。它首先关注 I/O Streams,这是一个强大的概念, 可以大大简化 I/O 操作。该课程还可以看到序列化,这使得程序可以将整个对象写入流并再次读取它们。 然后,该课程将查看 文件 I/O 和文件系统操作,包括随机访问文件。 I/O Streams 大多数都是讲... ......
quot Java

Java JDK1.5: 泛型 新特性的讲解说明

Java JDK1.5: 泛型 新特性的讲解说明 每博一文案 听到过这样一句话:“三观没有标准。在乌鸦的世界里,天鹅也有罪。” 环境、阅历的不同,造就了每个人独有的世界观、人生观、价值观。 三观并无对错高下,只有同与不同。恰如飞鸟不用和游鱼同行,高山不必同流水相逢。 总用自己的尺子去度量别人,无疑是 ......
特性 Java JDK1 JDK

Java集合 Map 集合 与 操作集合的工具类: Collections 的详细说明

Map 接口与 Collection 并列存在的,用于保存具有映射关系的数据:key-value 被称为 键值对 。Java集合可分为 Collection 和 Map 两种体系。Map 中的 key 和 value 都可以是任何引用类型的数据。Map 中的 key 用 Set 集合存储的,不允许... ......
Collections 工具 Java Map

java反序列化基础

前言:最近开始学习java的序列化与反序列化,现在从原生的序列化与反序列化开始,小小的记录一下 参考文章:https://blog.csdn.net/mocas_wang/article/details/107621010 01.什么是序列化与反序列化 其实java的序列化说白了就是将一个对象转换成 ......
序列 基础 java

支付对接常用的加密方式介绍以及java代码实现

金融场景里如何让收银和支付更安全?背后的基础原件是加密方式的设计架构。本文重点讲解在京东金融中,我们如何用Java来实现支付加密。 ......
常用 代码 方式 java

Java CompletableFuture 异步超时实现探索

JDK 8 是一次重大的版本升级,新增了非常多的特性,其中之一便是 CompletableFuture。自此从 JDK 层面真正意义上的支持了基于事件的异步编程范式,弥补了 Future 的缺陷。 在我们的日常优化中,最常用手段便是多线程并行执行。这时候就会涉及到 CompletableFutur... ......
CompletableFuture Java

如何让Java编译器帮你写代码

本文结合京东监控埋点场景,对解决样板代码的技术选型方案进行分析,给出最终解决方案后,结合理论和实践进一步展开。通过关注文中的技术分析过程和技术场景,读者可收获一种样板代码思想过程和解决思路,并对Java编译器底层有初步了解。 ......
编译器 代码 Java

OpenMP 线程同步 Construct 实现原理以及源码分析(下)

在上面文章当中我们主要分析了 flush, critical, master 这三个 construct 的实现原理。在本篇文章当中我们将主要分析另外两个 construct : barrier 和 single 。 ......
线程 Construct 源码 原理 OpenMP

OpenMP For Construct dynamic 调度方式实现原理和源码分析

在本篇文章当中主要给大家介绍 OpenMp for construct 的实现原理,以及与他相关的动态库函数分析,与 for construct 非常相关的是循环的调度方式,在 OpenMP 当中一共有四种调调方式,auto, dynamic, guided, runtime, 在本篇文章当中主要是... ......
Construct 源码 原理 dynamic 方式

剑指 Offer 32 - I. 从上到下打印二叉树(java解题)

leetcode《图解数据结构》剑指 Offer 32 - I. 从上到下打印二叉树的解题思路和java代码,并附上java中常用数据结构的功能函数。 ......
Offer java 32

(Java)设计模式:结构型

前言 这篇博文续接的是 UML建模、设计原则、创建型设计模式、行为型设计模式,有兴趣的可以看一下 3.3、结构型 这些设计模式关注类和对象的组合。将类和对象组合在一起,从而形成更大的结构 * 3.3.1、proxy 代理模式 定义:为某对象提供一种代理以控制对该对象的访问。即:客户端通过代理间接地访 ......
结构型 设计模式 模式 结构 Java

Java内存区域有哪些构成?

作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功、JAVA底层、面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」 大家好,我是呼噜噜,这次我们一起来看看Java内存区域,本文 基于HotSpot 虚拟机,JDK8, 干货满满 前言 Java 内存区域, 也叫运行 ......
内存 区域 Java

Java进阶篇——springboot2源码探究

1.@EnableAutoConfiguration 除了元注解之外,EnableAutoConfiguration包含了两大重要部分: 1)@AutoConfigurationPackage注解 该注解只导入了一个内部类:AutoConfigurationPackages.Registrar.cl ......
springboot2 springboot 源码 Java

Java程序员用代码,计算最大公约数和最小公倍数

作者:小傅哥 博客:https://bugstack.cn 源码:https://github.com/fuzhengwei/java-algorithms 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言 嘿,小傅哥怎么突然讲到最大公约数了? 这么想你肯定是没有好好阅读前面章节中小傅哥讲 ......

用Java写一个分布式缓存——缓存管理

之前也用过一些缓存中间件,框架,也想着自己是不是也能用Java写一个出来,于是就有了这个想法,打算在写的过程中同步进行总结 源码:https://github.com/weloe/Java-Distributed-Cache ......
缓存 分布式 Java

用Java写一个PDF,Word文件转换工具

前言 前段时间一直使用到word文档转pdf或者pdf转word,寻思着用Java应该是可以实现的,于是花了点时间写了个文件转换工具 源码weloe/FileConversion (github.com) 主要功能就是word和pdf的文件转换,如下 pdf 转 word pdf 转 图片 word ......
文件 工具 Java Word PDF