技术文章

Java反射机制:跟着代码学反射

旧时模样 提交于 2021-02-17 23:01:48
微信搜索:码农StayUp 主页地址: https://gozhuyinglong.github.io 源码分享: https://github.com/gozhuyinglong/blog-demos 1. 前言 在OOP的世界里,万物皆对象。也就是说,我们可以将任何东西抽象成一个对象。 比如人,可以抽象成一个Person类,通过new Person()来实例化一个对象;再比如鸭子,可以抽象成一个Duck类,也可以对其进行实例化……那么这一个个类本身是不是也可以抽象成一个类呢?Java提供了一个特殊的类 Class ,用来描述类的内部信息,是反射的核心类。 下图是本篇讲述内容: 2. Java反射机制概述 Java反射(Reflection)允许应用程序在 运行时 借助于反射API,来获取所有类或接口的内部信息,并且能直接操作任意对象的内部属性及方法。反射机制的核心类为 java.lang.Class 。 类加载完后,会在堆内存的方法区中产生一个 Class 类型的对象。 Class 类没有公开的构造函数,是由类加载器的 defineClass 方法构造而成。所以 Class 对象不是“new”出来的,而是通过方法来获取的。 这个 Class 对象具有类的完整结构信息,并且一个类只有一个 Class 对象。 3. 获取Class对象 获取 Class 对象有以下四种方式:

linunx知识汇总二

天大地大妈咪最大 提交于 2021-02-17 23:01:42
/bin 所有用户可用的基本命令程序文件 /sbin 供系统管理员能使用的命令 /boot 引导加载必须用到的各种静态文件:kernel,initramfs(initrd),grub等 /dev 存储特殊文件或设备文件 设备有两种类型 字符设备、块设备 键盘是字符设备(线性设备),硬盘是块设备(随机设备) /etc 系统配置文件,只能为静态 /home 普通用户家目录的集中位置,普通用户家目录一般为home下与之同名的子目录 /lib 为系统启动或根文件系统上的应用程序(/bin,/sbin下的程序)提供共享库,以及为内核提供内核模块 lib.so. 动态链接的c库 ld 运行时链接器/加载器 modules 用于存储内核模块的目录 /lib64 64位系统特有的存放共享库的路径 /media 便携式设备挂载点,cdrom... /mnt 其他文件系统临时挂载点 /opt option 附加应用程序的安装位置 /srv 当前主机为服务提供的数据 /tmp 临时文件,所有用户都能执行写操作,存储临时文件 /usr 不允许任何普通用户在此创建文件 全局共享的只读数据路径 包含:bin,sbin,lib,lib64,include(C程序头文件),share(命令手册页和自带文档等架构特有的文件存放位置) local(另一个层级目录) /usr/local 第三方程序的安装位置 /var

我的开始

﹥>﹥吖頭↗ 提交于 2021-02-17 23:01:31
Column 1 Column 2 Column 3 现在的我 是一个 完完全全 的小白, 博客 是什么都没有搞懂! 就开始搞东搞西的。 我现在准备把它当成一个日记的 或者 心理预期的设想 。 我是在 C语言的网课 ‘鹏哥’ 这边得到的消息 或者 说是 对博客的简单认知和重要性。 我在别人的博客上 看到了 很多的内容,虽然我看的不是很明白,但是我的脑子里面 还是飘过一行字 到底是个啥! 比如 现在我在打字的时候 旁边的格式到底是个什么 鬼东东 为什么空格是删除! 真的 还有很多要学的。努力 ! 还有很多的功能还不清楚 如何使用,一点点试吧。 来源: 51CTO 作者: 诸事皆顺! 链接: https://blog.51cto.com/15107523/2630357

Python操作三大主流数据库

 ̄綄美尐妖づ 提交于 2021-02-17 23:01:27
download: Python操作三大主流数据库 在用Python做开发时,你不可避免的会与数据库打交道,这次,带你入门Python操作不同类型数据库的实用技术 适合人群及技术储备要求 适合想从事Python开发的学生或后端开发者 课程所讲内容非常实用,你可应用于 Python 数据分析方向,Python 后台开发, Python web 方向 完全掌握课程内容,你将可以达到实际工作1-2年的水平 技术储备要求: -数据库基础知识-Python基础知识 1、ping(测试网络连通) 命令所在途径:/bin/ping 命令执行权限:一切用户 -c 指定ping次数 -s 指定探测时数据包的大小 2、ifconfig(查询本机网络信息) 命令所在途径:/usr/sbin/ifconfig 执行权限:root ifconfig命令运用办法 留意:下面操作运用root用户(动态修正) 命令:ifconfig 作用:用来配置网络或显现当前网络接口的状态(以本机ens33示例) ![]() 上图信息大约阐明: 第一行:up-->网卡开启状态 [在BROADCAST(播送)之后,(此处未显现)RUNNING-->网线处置衔接状态] MULTICAST-->支持组播 mtu 1500-->(Maximum Transmission Unit)最大传输单元大小为1500字节 第二行

React16.8+Next.js+Koa2开发Github全栈项目

╄→尐↘猪︶ㄣ 提交于 2021-02-17 23:01:20
download: React16.8+Next.js+Koa2开发Github全栈项目 本课程使用Next.js、Koa、Github API等搭建了一个全栈项目——第三方Github客户端。通过课程学习让同学们理解Next.js搭建全栈同构项目的过程以及其原理,深度理解业界广泛使用的OAuth登录体系,提升竞争力。 适合人群 本课程主要针对前端开发人员。 学完之后能深度掌握Next.js、Koa、OAuth等技能。 技术储备要求 Node端基础知识,对Koa框架有使用经验 对React至少有半年以上使用经验 有至少一个React项目的开发经验 1、ping(测试网络连通) 命令所在途径:/bin/ping 命令执行权限:一切用户 -c 指定ping次数 -s 指定探测时数据包的大小 2、ifconfig(查询本机网络信息) 命令所在途径:/usr/sbin/ifconfig 执行权限:root ifconfig命令运用办法 留意:下面操作运用root用户(动态修正) 命令:ifconfig 作用:用来配置网络或显现当前网络接口的状态(以本机ens33示例) ![]() 上图信息大约阐明: 第一行:up-->网卡开启状态 [在BROADCAST(播送)之后,(此处未显现)RUNNING-->网线处置衔接状态] MULTICAST-->支持组播 mtu 1500-->

基于TypeScript从零重构axios

喜你入骨 提交于 2021-02-17 23:01:16
download: 基于TypeScript从零重构axios 本课程首先讲解TS的基础语法和常见用法,然后带同学使用TS去实现一个完整的axios JS库,进行完整的单元测试,最后把开发的JS库打包并发布到npm上。通过课程学习掌握axios的实现原理,修炼原生JS内功,提升职场竞争力。 适合人群 1-5年前端开发人员 技术储备要求 有良好的原生JavaScript功底 熟悉ES6常见的语法和API 1、ping(测试网络连通) 命令所在途径:/bin/ping 命令执行权限:一切用户 -c 指定ping次数 -s 指定探测时数据包的大小 2、ifconfig(查询本机网络信息) 命令所在途径:/usr/sbin/ifconfig 执行权限:root ifconfig命令运用办法 留意:下面操作运用root用户(动态修正) 命令:ifconfig 作用:用来配置网络或显现当前网络接口的状态(以本机ens33示例) ![]() 上图信息大约阐明: 第一行:up-->网卡开启状态 [在BROADCAST(播送)之后,(此处未显现)RUNNING-->网线处置衔接状态] MULTICAST-->支持组播 mtu 1500-->(Maximum Transmission Unit)最大传输单元大小为1500字节 第二行:该网卡的IP地址,子网掩码,播送地址 第三行:IPV6的配置信息

Java基础系列:计算机网络基础概念

风格不统一 提交于 2021-02-17 23:01:10
俗世游子 :专注技术研究的程序猿 网络 大部分情况下,做开发的程序猿是是不需要和网络打交道的,就比如本人:工作这么多年,去年年初做过一次系统架构,做负载均衡的时候顺带了解了一下这方面的基础知识,其他时候根本用不到。 我们现在就来简单聊一聊,简单到什么程度: 开发涉及到网络IO方面的问题能知道该怎么解决, 面试能说个七七八八就够了 基本知识 首先我们先要明白什么是 网络 : 不负责任的说, 网络 是 网络是由若干节点和连接这些节点的链路构成 ,而这些物理链路将多台计算机连接在一起,组成了我们现在的互联网 促进网络产生的先决条件: 芯片技术 要知道,世界上第一台计算机有一个教室那么大,直到集成电路的产生,将电路做到一块完整的半导体硅板上,计算机的体积才下降下来 网络理论本身 第二个条件就是网络理论本身,我们现在知道,网络本身分为很多节点,各个节点之间相互关联,我们从起点A发送数据到终点B,发送的数据在网络中会拆分成小包,由于光电传输是非常快的,所以在数据包在网络中传输的时候会通过不同的路线到达终点B,然后在终点B中进行合并 在这个理论中,两个人的贡献非常大: Paul Baran 提出的 分布式可适应信息块交换集成电路 Donald Davies 提出的 封包交换 两者说的是一个问题,就是封包交换算法,解决数据如何从一个点通过复杂网络到达另一个点的问题 材料的发展

think in java 泛型

假装没事ソ 提交于 2021-02-17 23:00:22
曾几何时,我们对java的泛型充满了好奇,但是感觉用起来有很爽,但又会在spring类型泛型的地方,遇到问题。 我第一次的遇到泛型是在使用别人的BaseDao的时候,这是一个java封装hibernate框架的操作数据库的工具。但我使用 的时候,只需要简单指定我需要数据库操作的类即可,非常方便,但是当我使用spring,想要对泛型的BaseDao<B>使用 @Autowired,根据类型注入的时候,spring却给我找到了一个错,我觉得很奇怪,在我看来BaseDao就是一个新的类型, 最起码他跟原来的BaseDao<A> 是有区别的,为什么spring不能识别出来。 在一脸蒙蔽的状态下,一直保留到现在,知道看了think in java的泛型,这一章,才了解了泛型的基础内容,学习三原则 what,why,how 1什么是泛型? 泛型是参数化类型。将类型作为参数,从而可以多种类型复用, 2.为什么出现泛型?   最初希望能够写出通用性更高的方法,我们使用object,因为   java的单根继承,所有东西都是object的子类,所有最初我们使用object来保存对象,达到了通用的目的,但是却有在编译时期,我们   可能将多种类型放进去,但是在拿出来类型转化时,转成了另外一种类型,这样只有在运行时,才能发现问题所在。   然后有想到了类,针对某一个类A,如果要使用当前的容器

GitHub 下载神器强势回归!

给你一囗甜甜゛ 提交于 2021-02-17 22:59:03
来自量子位 一个「身价」 7.5 万 颗星的 GitHub 项目,从受热捧,到被起诉下架,再到引发社区热议。 故事本已一波三折。 但最近,关于这个项目的最新「剧情」,又有了重大更新。 GitHub 官方宣布:拒绝投诉内容, 恢复项目存储库 。 除此之外,还追加了一项重要举措 —— 启动 100 万美元 保护基金 (defense fund) 。 △ GitHub 官方发文 而这部「连续剧」的主人公,就是大名鼎鼎的 youtube-dl 。 关于它的故事,着实精彩,且细细品读。 youtube-dl:广受欢迎的下载神器 youtube-dl 已经成为 GitHub 上最受欢迎的项目之一,拥有 7.5 万星,人气介于 Node.js 及 Kubernetes 之间。 2006 发布,一开始只能从 YouTube 下载视频和音频,后来经过创作人员的不断完善,下载支持的站点达到了 1000 多个,成为最受欢迎的下载神器。 △ 支持下载的网站列表 从国外的 YouTube、BBC、CBS、Twitter、Facebook 上的音视频下载,再到国内的爱奇艺、腾讯视频、芒果 TV、优酷视频、B 站、酷我音乐、网易音乐…… 几乎涵盖了全球各大音视频网站。 截至 2020 年 10 月,该项目是 GitHub 上星级最高的项目之一。 然而,这个强大的神器,可能会侵犯到相关公司的利益。 果不其然,

浙大版《C语言程序设计(第3版)》题目集 练习2-10 计算分段函数[1] (10 分)

微笑、不失礼 提交于 2021-02-17 22:58:33
练习2-10 计算分段函数[1] (10 分) 本题目要求计算下列分段函数 f ( x )的值: 输入格式: 输入在一行中给出实数x。 输出格式: 在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。 输入样例1: 10 输出样例1: f(10.0) = 0.1 输入样例2: 0 输出样例2: f(0.0) = 0.0 思路:利用if-else语句将两种情况分开讨论。 代码如下: #include <stdio.h> int main() { double x, result; scanf ("%lf",&x); if (x==0)     result=0; else     result=1/x; printf("f(%.1f) = %.1f\n",x,result); return 0; }       来源: oschina 链接: https://my.oschina.net/u/4320155/blog/3657463