学习笔记

框架原理那点事--不就反射嘛。

记得之前写了一篇json转实体的文章 记得之前写了一篇json转实体的文章,里面就用到了java反射的文章,但是当时只是了解到反射这个知识点,并没有深入的了解,寒假闲来无事觉顶深入整理一下java 反射的知识,一下都是个人学习反射的总结,不到之处,还望大神指点!!! 反射顾名思义就是和java编译相反的过程,这里实现的效果就是通过类名来进行实例化类对象并对类进行操作。具体看下 获取父类和所有的接口 首先我们的java类是可以继承和实现多个接口的,那么我们如何通过java反射获取java类的父类和接口呢? ...

高级文件操作

输入输出的介绍# 标准输入(stdin) : 从该设配接受用户输入的数据 标准输出(stdout) : 通过该设备向用户输入数据 标准错误: 通过该设备报告执行出错信息 类型 设备文件 文件描述符 默认设备 标准输入 /dev/stdin 0 键盘 标准输出 /dev/stdout 1 显示器 标准错误输出 /dev/stderr 2 显示器 输入输出重定向# 通过命令,改变了标准输入输出的方向就是重定向 类型 操作符 用途 重定向标准输出 > 将命令执行的结果,重定向输入的指定的文件中,而不再是显示屏 ...

修改,编译,GDB调试openjdk8源码(docker环境下)

 在上一章《在docker上编译openjdk8》里,我们在docker容器内成功编译了openjdk8的源码,有没有读者朋友产生过这个念头:“能不能修改openjdk源码,构建一个与众不同的jdk“,今天我们就来阅读一些openjdk的源码,再尝试做些小改动并验证。...

编程必备基础知识|计算机组成原理篇(03):计算机的体系与结构

计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识。关于计算机基础的课程很多,内容繁杂,但无论是相关书籍还是大学课程,都有点脱离工作。特别地,计算机基础知识体系庞杂,想要从零学习或者复习都耗时耗力。 有鉴于此,本系列文章将带你更快的补足编程必备基础知识,涵盖计算机领域三大基础知识:计算机组成原理、操作系统、计算机网络,文章选取了作为程序员最应该掌握的那部分知识,取其精华,弃之于程序员不重要的那部分内容。 ...

Kafka笔记—可靠性、幂等性和事务

 这几天很忙,但是我现在给我的要求是一周至少要出一篇文章,所以先拿这篇笔记来做开胃菜,源码分析估计明后两天应该能写一篇。给自己加油~,即使没什么人看。可靠性...

十分钟弄懂:数据结构与算法之美 - 时间和空间复杂度

复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半了。 1. 什么是复杂度分析 ? 数据结构和算法解决是 “如何让计算机更快时间、更省空间的解决问题”。 因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能。 分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。 复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系。 2. 为什么要进行复杂度分析 ? 和性能测试相比,复杂度分析有不依赖执行环境、成本低、效率高、易操作、指导性强的特点。 ...

Python 之父的解析器系列之五:左递归 PEG 语法

原题 | Left-recursive PEG grammars 作者 | Guido van Rossum(Python之父) 译者 | 豌豆花下猫(“Python猫”公众号作者) 声明 | 本翻译是出于交流学习的目的,基于 CC BY-NC-SA 4.0 授权协议。为便于阅读,内容略有改动。 我曾几次提及左递归是一块绊脚石,是时候去解决它了。基本的问题在于:使用递归下降解析器时,左递归会因堆栈溢出而导致程序终止。 【这是我的 PEG 系列的第 5 部分。其它文章参见这个目录】 假设有如下的语法规则: ...

利用合成数据进行时间序列分类的数据扩充方法

Data augmentation using synthetic data for time series classification with deep residual networks 利用合成数据进行时间序列分类的数据扩充方法 Abstract 数据增强技术在计算机视觉方面使用的十分广泛,对于样本数量较少的数据集来说模型很容易达到过拟合,使用数据增强技术可以有效的见识过拟合的程度。然而在时间序列分类方面的数据增强技术很有限,作者提出了一种基于DTW距离的数据增强技术来填补这一方面的空白。 ...

一台Linux服务器可以负载多少个连接?

 首先我们来看如何标识一个TCP连接?系统是通过一个四元组来识别,(src_ip,src_port,dst_ip,dst_port)即源IP、源端口、目标IP、目标端口。比如我们有一台服务192.168.0.1,开启端口80.那么所有的客户端都会连接到这台服务的80端口上面。有一种误解,就是我们常说一台机器有65536个端口,那么承载的连接数就是65536个,这个说法是极其错误的,这就混淆了源端口和访问目标端口。我们做压测的时候,利用压测客户端,这个客户端的连接数是受到端口数的限制,但是服务器上面的连接数可以达到成千上万个,一般可以达到百万(4C8G配置),至于上限是多少,需要看优化的程度。具体做法如下:...

【JavaScript】ESlint & Prettier & Flow组合,得此三神助,混沌归太清

行示例 ESlint 运行示例 正文 回到顶部 Flow Flow的意义 Flow是faceBook开源的一个JavaScript静态类型检查工具,作用类似TypeScript,但是它不像TS那样是一门独立的语言,而是作为一个babel-plugin,借助babel的编译切入JavaScript的编码当中,同时,与ts不同的是,Flow.js的类型检查不是强制的,可以通过//@flow手动开启,意味着,你可以自由选择某个文件是否开启类型检查。 Flow真是眼前一亮,我就想,TypeScript挺好的,但或许也给人带来了一些烦恼,一旦用了TS,就意味着任何时候都要强制类型检查,我觉得,选择JavaScript还是TypeScript就变成了这样一个问题:我们手头1000元,我们到底是买一件一万元的比较喜欢的还耐用的衣服呢?还是买一件很便宜但是又不耐用的地摊货呢?(耐用指的是维护性),但Flow帮我们找到了折中方案:类型检查这东西,我们在想用和需要用的时候用,同时不想用也可以不用,就好比就是手里有1000块,那我们就刚好去买1000块钱的衣服 ...

蚂蚁SOFA系列(1) - 聊聊SOFA的模块化

作者:404,转载请注明出处。欢迎关注公众号:404P。 SOFA是蚂蚁自研的一套金融级分布式中间件,目前正在逐步向业界开源。SOFA的全称有两个,最早是Service Oriented Fabric Architecture,即面向服务的架构。随着2018年的开源,其全称改为Scalable Open Financial Architecture,即可扩展的开源金融架构。 SOFA技术栈包含了微服务架构体系的各类组件,主要包括RPC框架,服务注册中心,分布式链路追踪,Metrics监控度量等。 ...
青岛软件培训

可能你正在寻找一家靠谱的IT培训机构,学习一些专业的软件开发技术,找一份得体的工作。恰巧我们就是一家踏踏实实做教育的IT人才培养机构,我们咨询电话是 0532-85025005,如果你确实对IT感兴趣,我们不妨交流一下。

申请免费试听课程