ICode9

精准搜索请尝试: 精确搜索
  • 【深入浅出 Yarn 架构与实现】2-1 Yarn 基础库概述2022-11-26 16:28:08

    一、主要使用的库 Protocol Buffers:是 Google 开源的序列化库,具有平台无关、高性能、兼容性好等优点。YARN 将其用到了 RPC 通信中,默认情况 下,YARN RPC 中所有参数采用 Protocol Buffers 进行序列化 / 反序列化。 Apache Avro:是 Hadoop 生态系统中的 RPC 框架,具有平台无关、支持动

  • JVM运行时数据区域详解2022-11-26 16:21:05

    1. 程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。JVM可以同时支持多个执行线程。每个Java虚拟机线程都有自己的pc(程序计数器)寄存器。在任何时候,每个Java虚拟机线程都在执行单个方法的代码,即该线程的当前方法

  • (Java)设计模式:创建型2022-11-26 15:20:02

    设计模式不是一成不变的,主要是思想,至于形不需要在意,形只是便于理解罢了 3.1、创建型这个类型的模式是专门针对于创建对象的,也就是它的适用机制 换言之:这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象 3.1.1、单例模式定义:保证对象

  • Java锁的逻辑(结合对象头和ObjectMonitor)2022-11-26 15:13:36

    我们都知道在Java编程中多线程的同步使用synchronized关键字来标识,那么这个关键字在JVM底层到底是如何实现的呢。 我们先来思考一下如果我们自己实现的一个锁该怎么做呢: 首先肯定要有个标记记录对象是否已经上锁,执行同步代码之前判断这个标志,如果对象已经上锁线程就阻塞等待锁的释

  • icode9-Java核心知识体系4:AOP原理和切面应用2022-11-25 15:24:48

    1 概述我们所说的Aop(即面向切面编程),即面向接口,也面向方法,在基于IOC的基础上实现。 Aop最大的特点是对指定的方法进行拦截并增强,这种增强的方式不需要业务代码进行调整,无需侵入到业务代码中,使业务与非业务处理逻辑分离。 以Spring举例,通过事务的注解配置,Spring会自动在业务方法中开

  • Java SE 15 新增特性2022-11-25 15:20:22

    ZGCJava SE 11 JEP 333将 ZGC 垃圾收集器作为一项实验性功能引入。 这个 JEP 377 修复了一些错误,增加了一些功能和改进,现在支持 Linux/x86_64 、Linux/aarch64、Windows 和 macOS 等主要平台。 这个JEP 377还将 ZGC 从一个实验性功能变为一个产品功能。然而,默认的垃圾收集器仍然是

  • Java SE 9 多版本兼容 JAR 包示例2022-11-25 14:58:57

    说明Java 9 版本中增强了Jar 包多版本字节码文件格式支持,也就是说在同一个 Jar 包中我们可以包含多个 Java 版本的 class 文件,这样就能做到 Jar 包升级到新的 Java 版本时不用强迫使用方为了使用新 Jar 包而升级自己的业务模块 Java 版本,也不用针对不同最低支持 Java 版本提供不同

  • 关于 java 的动态绑定机制2022-11-24 15:35:29

    首先我们要创建父类 Person 类//创建父类public class Person { //简单的创建两个属性 private String name; private int age; //创建行为方法,方法中调用创建的say方法 public void haviours(){ say(); } //创建方法 public void say(){ Sy

  • Java多线程并发编程2022-11-24 15:29:16

    多线程并发在多核CPU中,利用多线程并发编程,可以更加充分地利用每个核的资源在Java中,一个应用程序对应着一个JVM实例(也有地方称为JVM进程),如果程序没有主动创建线程,则只会创建一个主线程。但这不代表JVM中只有一个线程,JVM实例在创建的时候,同时会创建很多其他的线程(比如垃圾收集器线程)

  • Java对象拷贝原理剖析及最佳实践2022-11-24 15:14:59

    1序言目标复制,是在研发流程中,避不开的一个过程,既存在Po、Dto、Do、Vo每个表现层数据库的变换,也存在系统交互如实例化、反序列化。Java对象复制分成深拷贝和浅拷贝,现阶段常见的特性复制专用工具,包含Apache的BeanUtils、Spring的BeanUtils、Cglib的BeanCopier、mapstruct全是浅拷贝。

  • MySQL JDBC驱动版本与数据库版本的对应关系及注意事项2022-11-24 15:07:44

    事情发生学了三遍的servlet,经典老师又教的第一万遍登陆注册,并且让实现,并且让演示,我们老师可能和之前的小学期公司老师 完全没有沟通过,我们小学期大作业都做了一个小项目出来还搁这登陆注册。 就把五个月前写的一个小项目拿出来,是一个类似菜鸟教程的网站,不过只有java的教程,这都是后

  • gRPC(Java) keepAlive机制研究2022-11-22 15:44:08

    结论 gRPC keepAlive是grpc框架在应用层面连接保活的一种措施。即当grpc连接上没有业务数据时,是否发送pingpong,以保持连接活跃性,不因长时间空闲而被Server或操作系统关闭 gRPC keepAlive在client与server都有,client端默认关闭(keepAliveTime为Long.MAX_VALUE), server端默认打开

  • C++对象模型:g++的实现(五)2022-11-21 17:29:27

    1. 单一继承体系下的虚函数在前面的博客中我们已经通过对虚表的探索讲了虚函数的一般实现,大体上来说就是编译器会在适当的时候(在单一继承体系中就是当类中第一次出现虚函数的时候)添加一个虚表指针,指向属于该类的虚函数表,而所有虚函数的地址会出现在虚表指针的固定表项,也就是说在继

  • Java数据库的安装和使用2022-11-21 17:23:49

    1.icode9数据库的作用一个问题:淘宝网、京东、微信抖音,都有各自的功能,那么我们退出系统的时候,为什么信息还在?解决之道-文件,数据库为了解决上诉问题,使用更加利于管理数据东西-数据库,他能更加有效地管理数据。举一个生活化的案例说明:如果说图书馆是保存书籍的,那么数据库就是保存数据的

  • Java:ArrayList的基本使用(icode9学习笔记)2022-11-21 15:46:57

    集合和数组的对比(为什么要有集合) 分为俩点1. 长度:数组的长度是固定的,集合的长度是可变的。2. 存储类型: 数组:可以存储基本数据类型,引用数据类型。 集合:只能存储引用数据类型。小tips: 基本数据类型在集合中存储要使用包装类。 基本数据类型对应的包装类

  • 【深入浅出 Yarn 架构与实现】3-3 Yarn Application Master 编写2022-11-21 15:40:58

    一、Application Master icode9 编写方法上一节讲了 Client 提交任务给 RM 的全流程,RM 收到任务后,由 ApplicationsManager 向 NM 申请 Container,并根据 Client 提供的 ContainerLaunchContext 启动 ApplicationMaster。 本篇代码已上传 Github一)整体流程#1&2、启动 NMClient 和 RMC

  • ava反应式编程-icode92022-11-21 15:03:02

    前面把icode9-Java函数式编程的由来和最主要的核心知识点讲完了。包括比较难懂的Lambda表达式是怎么演变而来的也全部都撸了一遍。Lambda表达式这种编程方式的确是让人不太习惯,尤其是之前那种纯面向对象编程的思维模式一旦建立起来之后,想要再接受这种比较奇怪的语法和编程模式,确实

  • Pthread 并发编程(icode9)——自底向上深入理解线程2022-11-21 14:04:20

    前言在本篇文章当中主要给大家介绍线程最基本的组成元素,以及在 pthread 当中给我们提供的一些线程的基本机制,因为很多语言的线程机制就是建立在 pthread 线程之上的,比如说 Python 和 Java,深入理解 pthread 的线程实现机制,可以极大的提升我们对于语言线程的认识。希望能够帮助大家深

  • icode9大数据关键技术:常规机器学习方法2022-11-21 14:03:00

    机器学习方法简介机器学习、人工智能、深度学习是什么关系?机器学习研究和构建的是一种特殊算法(而非某一个特定的算法),能够让计算机自己在数据中学习从而进行预测。Arthur Samuel给出的定义指出,机器学习是这样的领域,它赋予计算机学习的能力(这种学习能力)不是通过显著式编程获得的。不

  • 关于scanf函数不能在某些vs编译器中用的问题2022-11-20 15:56:35

    scanf在vs2022中是一个不安全的函数,vs自定义scanf_s是一个安全的函数,但是这在转给其他编译器可能不适用我们可以在开头加上一个#define _CRT_SECURE_NO_WARNINGS 1可以解决问题但是自己打比较麻烦,这个时候我们可以打开vs编译器的文件然后找到VC这个文件然后打开vcprojectltems接着

  • 【iOS逆向与安全】frida-trace入门 2022-11-19 22:29:08

    【iOS逆向与安全】frida-trace入门 前言frida-trace是一个用于动态跟踪函数调用的工具。支持android和ios。安装教程请参考官网。工欲善其事必先利其器。本文将以某App为示范,演示frida-trace的各种方法在iOS中的应用。一、目标让看文章的你在使用frida-trace时更得心应手。二、工具

  • 重学c#系列——动态类型[二十二]2022-11-19 22:27:30

    正文为什么有动态类型呢?是因为很多东西天生就是动态类型的。比如xml 和 json、cvs、数据库表,这些本来就是数据类型的。在反射系列中提及到,为什么有发送呢? 是因为只有在运行的时候你才能知道他是什么类型。同样的xml、json这些也是只有运行的时候才知道他有什么样的类型,当我们加载xm

  • Java 中的自上而下/自下而上的合并排序2022-11-19 16:04:07

    定时实验结果预测自下而上的方法应该表现得更好: 自上而下的方法递归调用,这将占用 O(logN) 额外的函数调用堆栈空间mergeSortHelper 自上而下的方法需要 O(logN) 额外的时间将数组分解为一个/零个元素但是它们的空间复杂性都是O(N)(存储排序数据的临时数组)定时实验结果自下而上的方法有时

  • 学习新编程语言的7个icode9 简单有效的技巧2022-11-19 14:58:32

    能够促进你个人职业生涯关键专业技能之一是——编号。无论你是希望在行业领域获得一个黄金位置,又或者是想创建一个有趣的应用程序流程,变成编号权威专家都会是您专业与个人成长的主要财产。做为新手,如果你想掌握相关编号如何更好地把握一切计算机语言的其他信息,那么你的方

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有