在 java.lang.reflect 包中有三个类 Field, Method 和 Constructor 分别用于描述类的域.方法和构造器. Class 类中的 getFields, getMethods 和 getConstructor 方法将分别返回类提供的 public 域.方法和构造器数组,其中包括超类的公有成员. Class 类中的 getDeclaredFields, getDeclaredMethods 和 getDeclaredConstructor 方法将分别返回类中声明的…
hashCode 方法 散列码(hash code)是由对象导出的一个整形值(可以是负数).其是没有规律的,如果x与y是两个不同的对象,则x.hashCode()与y.hashCode()基本上不会相同. hashCode 方法定义在 Object 类中,因此每个对象都有一个默认的散列码方法,其返回结果是对象的存储地址. 一个例子: ```java String string1 = "hiwangzi"; StringBuilder stringBuilder1 = new Strin…
equals 方法示例 // 代码来自<Java核心技术 卷I>P167 // 父类 public class Employee{ ... public boolean equals(Object otherObject){ // a quick test to see if the objects are identical if(this == otherObject) return true; // must return false if the explicit parameter…
继承 一个对象变量可以指示多种实际类型的现象被称为多态(polymorphism). 在运行时能够自动地选择调用哪个方法的现象称为动态绑定(dynamic binding). 如果是private方法.static方法.final方法或者构造器,编译器可以准确知道应该调用哪个方法,此种调用方式称为静态绑定(static binding). 子类不能覆盖父类中final修饰的方法(final类中所有方法自动地成为final方法,并且final类不能被继承). 在父类转子类的类型转换前,可以先借助…
泛型数组列表 ArrayList 是一个采用类型参数(type parameter)的泛型类(generic class). java ArrayList<Employee> staff = new ArrayList<Employee>(); ArrayList<Employee> staff = new ArrayList<>(); // JavaSE 7 之后可以简写 JavaSE 5.0 以前的版本没有提供泛型类,而是有一个 ArrayList 类,…
Employee[] a = new Employee[100]; // ... // array is full a = Arrays.copyOf(a, 2 * a.length); 如何编写这样一个通用的 copyOf 方法呢? // 不够好的实现 public static Object[] badCopyOf(Object[] a, int newLength){ Object[] newArray = new Object[newLength]; System.arraycopy(a…
在编写程序时,如果知道想要查看的域名和类型,查看指定的域是一个很容易的事,而利用反射机制可以查看在编译时还不清楚的对象域. java Employee tank = new Employee("t-man", 35000, 6, 4, 1989); Class cl = tank.getClass(); Field f = cl.getDeclaredField("name"); f.setAccessible(true); // 使得可以访问似有域 Object…
能够分析类能力的程序称为反射(reflection). 反射库(reflection library)提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵 Java 代码的程序. 反射机制可以用来: 利用反射分析类 在运行时使用反射分析对象 使用反射编写泛型数组代码 调用任意方法(利用 Method 对象,这个对象很像 C++ 中的函数指针) Class 类 在程序运行期间,Java Runtime 为每个类型管理一个 Class 类型的对象. Object 类中的 getClass()…
基本数据类型 1. 整型 注意:Java 没有任何无符号(unsigned)形式的 int.long.short 或 byte 类型. 不同进制的表示形式: 十六进制数值有一个前缀0x或0X(如0xCAFE). 八进制有一个前缀0,例如,010对应八进制中的8.很显然,八进制表示法比较容易混淆,所以建议最好不要使用八进制常数. 从Java 7开始,加上前缀0b或0B就可以写二进制数.例如,0b1001就是9. 另外,同样是从Java 7开始,还可以为数字字面量加下划线,如用(1_000_000或…
「白皮书」关键术语 简单性(C++--) 面向对象 分布式 健壮性 安全性 体系结构中立 可移植性 解释型 高性能 多线程 动态性 Java 发展历程 SUN公司--Stanford University Network 主设计者:James Gosling 1996年初 - 发布 Java 1.0 Java 2, JDK 1.2 有了很大的改变 - 更加接近"一次编写,随处运行"的承诺 J2SE 5.0 得到了进一步改进 - 泛型.(以下几项受 C# 启发) foreach.自动装箱…
「TOC」 Java 程序基本要求 Java 数据类型 基本数据类型 复合数据类型 运算符 逻辑运算符 位运算符 运算符优先级 Java 程序基本要求 public class : 一个 Java 文件中只能有一个 「标识符」的通常约定: 常量全部大写 类名的每个单词首字母大写 公有方法和实例变量从小写字母开始,后面的每个首字母大写(例如:getCurrentValue) 私有变量或局部变量标识符全部小写(例如:next_value) Java 数据类型 类型 默认值 byte (byte) 0…
引用(复合)数据类型 1. 枚举类型 例: 枚举类型 Size 的声明: enum Size { SMALL, MEDIUM, LARGE, EXTRA_LARGE }; 声明 Size 类型变量: Size s = Size.MEDIUM; 注意: Size 类型的变量只能存储这个类型声明中给定的某个枚举值,或者 null 值. toString 方法与 Enum.valueOf 静态方法 在比较两个枚举类型的值时,不需要调用 equals,可以直接使用 == 比较. 补充: public e…
为了使本篇文章更容易让读者读懂,我特意写了上一篇<任何人都需要知道的「世界时间系统」构成原理,尤其开发人员>的科普文章.本文才是重点,绝对要读,走起! Java平台时间系统的设计方案 几乎任何事物都会有“起点”这样的概念,比如人生的起点就是我们出生的那一刻. Java平台时间系统的起点就是世界时间(UTC)1970年1月1日凌晨零点零分零秒.用专业的写法是“1970-01-01T00:00:00Z”,最后的大写字母“Z”指的是0时区的意思. 在Java平台时间系统里,这个起点用单词“epoch…
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_reading/canal 本文将对canal的server模块进行分析,跟之前一样,我们带着几个问题来看源码: CanalServer有几种使用方式? 控制台Admin.客户端client是如何与CanalServer交互的? CanalServerWithNetty和CanalServerWithEmb…
[译]聊聊C#中的泛型的使用(新手勿入)   写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发现了一些问题,因此也进行了纠正,当然,原文的地址我放在最下面,如果你的英文水平比较好的话,可以直接直接阅读全文.同时最近建了一个.NET Core实战项目交流群637326624,有兴趣的朋友可以来相互交流.目前.NET Core实战项目之CMS的教程也已经更新了6篇了,目前两到三天更新一篇. 作者…
原文:零元学Expression Design 4 - Chapter 3 看小光被包围了!!如何活用「Text On Path」设计效果 本章将教大家如何活用「Text On Path」,做出文绕图以及文字线性排列的效果 也可以学到如何使用Polyline以及B-Spline ? 本章将教大家如何活用「Text On Path」,做出文绕图以及文字线性排列的效果 也可以学到如何使用Polyline以及B-Spline ? 范例最後成果图片: ? 跟着做,就能做初出跟范例一样的效果了! ? 01…
这是mongo第三篇"查终结篇",后续会连续更新5篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟着我一起来探索交流. 通过上两篇基的介绍,我相信大家对我有了初步的认识,简单查询得心用手,其实在数据工作中查询中还远远不够,今天我们在来总结查询的其它常用操作.声明,小编也是边学变总结,如果有总结的不到位的地方,希望您多多指点.​ 01     简述 通过上一篇文档,我们一起总结了mongodb查找的使用和常见的查询条件标识符.本文…
#547. 「LibreOJ β Round #7」匹配字符串   题目描述 对于一个 01 串(即由字符 0 和 1 组成的字符串)sss,我们称 sss 合法,当且仅当串 sss 的任意一个长度为 mmm 的子串 s′s's​′​​,不为全 1 串. 请求出所有长度为 nnn 的 01 串中,有多少合法的串,答案对 655376553765537 取模. 输入格式 输入共一行,包含两个正整数 n,mn,mn,m. 输出格式 输出共一行,表示所求的和对 655376553765537 取模的结…
[LOJ#2330]「清华集训 2017」榕树之心 试题描述 深秋.冷风吹散了最后一丝夏日的暑气,也吹落了榕树脚下灌木丛的叶子.相识数年的Evan和Lyra再次回到了小时候见面的茂盛榕树之下.小溪依旧,石桥依旧,榕树虽是历经荣枯更迭,依旧亭亭如盖,只是Evan和Lyra再也不是七八年前不经世事的少年了. -- "已经快是严冬了,榕树的叶子还没落呢--" "榕树是常绿树,是看不到明显的落叶季节的--" "唉--想不到已经七年了呢.榕树还是当年的榕树,你却不是…
这是mongo第二篇「查询基础篇」,后续会连续更新6篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟着我一起来探索交流. 通过上一篇基础篇的介绍,我相信大家对我有了初步的认识,并且能够简单的使用我了,在使用过程中我相信大家用的最多的还是查询吧,今天我就和大家一起来总结查询基础哪一些事吧.如果有总结的不到位的地方,希望您多多指点. 01:查询简介 查询mongdodb提供了两个方法:find()和findOne(),前者是查询符合要求的所有…
坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:Oschina.云+社区.知乎等各大平台都有. 目录 一.什么是 Toast 二.获取 Toast 提示信息的前提 1.针对这种元素,有的时候我们需要做什么呢? 2.要获取 Toast 信息要满足以下四个要求 3.怎么看 Server 版本? 4.如果 Appium Server 版本低于 1.6.3+,代码中必须指定 automationName 为 UIAutomator2 三.4 点需要注意的事情 1.在我们等待元素可见的时候,不要用 vi…
Libre 6010「网络流 24 题」数字梯形 (网络流,最大费用最大流) Description 给定一个由n 行数字组成的数字梯形如下图所示.梯形的第一行有m 个数字.从梯形的顶部的m 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形的顶至底的路径. 规则1:从梯形的顶至底的m条路径互不相交. 规则2:从梯形的顶至底的m条路径仅在数字结点处相交. 规则3:从梯形的顶至底的m条路径允许在数字结点相交或边相交. 对于给定的数字梯形,分别按照规则1,规则2,和规则3 计算出从梯形…
Libre 6006 「网络流 24 题」试题库 / Luogu 2763 试题库问题 (网络流,最大流) Description 问题描述: 假设一个试题库中有n道试题.每道试题都标明了所属类别.同一道题可能有多个类别属性.现要从题库中抽取m 道题组成试卷.并要求试卷包含指定类型的试题.试设计一个满足要求的组卷算法. 编程任务: 对于给定的组卷要求,计算满足要求的组卷方案. Input 第1行有2个正整数k和n (2 <=k<= 20, k<=n<= 1000) k 表示题库中试…
Libre 6003 「网络流 24 题」魔术球 (网络流,最大流) Description 假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为 1,2,3,4......的球. (1)每次只能在某根柱子的最上面放球. (2)在同一根柱子中,任何2个相邻球的编号之和为完全平方数. 试设计一个算法,计算出在n根柱子上最多能放多少个球.例如,在4 根柱子上最多可 放11个球. ´编程任务: 对于给定的n,计算在 n根柱子上最多能放多少个球. Input 第1 行有 1个正整数n,表示柱子数.…
Luogu 2764 最小路径覆盖问题 / Libre 6002 「网络流 24 题」最小路径覆盖 (网络流,最大流) Description 给定有向图G=(V,E).设P是G的一个简单路(顶点不相交)的集合.如果V中每个顶点恰好在P的一条路上,则称P是G的一个路径覆盖.P中路径可以从V的任何一个顶点开始,长度也是任意的,特别地,可以为0.G的最小路径覆盖是G的所含路径条数最少的路径覆盖. 设计一个有效算法求一个有向无环图G的最小路径覆盖. Input 第1行有2个正整数n和m.n是给定有向无…
#6122. 「网络流 24 题」航空路线问题 题目描述 给定一张航空图,图中顶点代表城市,边代表两个城市间的直通航线.现要求找出一条满足下述限制条件的且途经城市最多的旅行路线. 从最西端城市出发,单向从西向东途经若干城市到达最东端城市,然后再单向从东向西飞回起点(可途经若干城市). 除起点城市外,任何城市只能访问一次. 对于给定的航空图,试设计一个算法找出一条满足要求的最佳航空旅行路线. 输入格式 第一行有两个正整数 NNN 和 VVV,NNN 表示城市数,VVV 表示直飞航线数.接下来的 N…
「JOI 2017 Final」JOIOI 王国 题目描述 题目译自 JOI 2017 Final T3「 JOIOI 王国 / The Kingdom of JOIOI」 JOIOI 王国是一个 HHH 行 WWW 列的长方形网格,每个 1×11\times 11×1 的子网格都是一个正方形的小区块.为了提高管理效率,我们决定把整个国家划分成两个省 JOI 和 IOI . 我们定义,两个同省的区块互相连接,意为从一个区块出发,不用穿过任何一个不同省的区块,就可以移动到另一个区块.有公共边的区块…
#6006. 「网络流 24 题」试题库     题目描述 假设一个试题库中有 n nn 道试题.每道试题都标明了所属类别.同一道题可能有多个类别属性.现要从题库中抽取 m mm 道题组成试卷.并要求试卷包含指定类型的试题.试设计一个满足要求的组卷算法. 输入格式 第 1 11 行有 2 22 个正整数 k kk 和 n nn.k kk 表示题库中试题类型总数,n nn 表示题库中试题总数.第 2 22 行有 k kk 个正整数,第 i ii 个正整数表示要选出的类型 i ii 的题数.这 k…
大家好,我是 「后端技术进阶」 作者,一个热爱技术的少年. 很多小伙伴搞不清楚为啥要学习 Netty ,今天这篇文章开始之前,简单说一下自己的看法: @ 目录 服务端 创建服务端 自定义服务端 ChannelHandler 处理消息 客户端 创建客户端 自定义客户端 ChannelHandler 处理消息 运行程序 总结 觉得不错的话,欢迎 star!ღ( ´・ᴗ・` )比心 Netty 从入门到实战系列文章地址:https://github.com/Snailclimb/netty-pract…
下文转载自:https://news.51cto.com/art/202004/613746.htm 按:虽然还是玩棋牌乐的AI,但相对于我们日常编写的XX管理系统,好比哺乳动物 VS 鱼类了. 2019 年 8 月 29 日,微软发布了一个名为 Suphx(超级凤凰)的「麻将 AI」,在专业的麻将竞技平台上,Suphx 的实力胜过了顶级人类选手的平均水平. 作者:神经小兮来源:HyperAI超神经|2020-04-03 09:05 收藏 分享 场景描述:还记得去年 8 月微软发布的「雀神 AI…