- 博客(19)
- 收藏
- 关注
原创 Protocol Buffers(protobuf)和 gRPC
是一种用于序列化数据的高效二进制格式,通常用于通信协议中传输结构化数据。gRPC是一个高性能的远程过程调用框架,基于 HTTP/2 协议,使用 protobuf 来定义服务接口和数据结构,支持多种通信模式(包括双向流)。两者相辅相成,protobuf 提供数据格式和序列化,gRPC 提供远程调用框架,它们一起能够实现高效的服务间通信。
2025-04-04 17:58:00
261
原创 高精度运算
高精度运算 一、使用背景 在进行数字计算的时候int、long long型范围终归是有限的,当计算数据或计算结果超出了基础数据类型的范围,我们通常就要使用高精度算法了。从方法上来看,高精度本质上就是我们平常数据计算进行模型归纳,通过模拟分析它的数学计算原理获得代码。 二、A+B Problem 解决A+B类型的题目使用的就是小学学到的竖式加法,竖式加法就是模拟每一位的加法和进位。现举一个例子来解释这个过程。 例如:478+576 \\代码: #include<bits/stdc++.h&
2021-07-22 11:52:32
130
原创 学习Java的十三天
学习Java的十三天 一.认识new String(String original) 1.在字符串常量池中存放的是String对象。 2.类加载的时候。以String类型的对象的结构在方法区内存中的常量池中进行存储。 3.数组是引用类型,但是它在作为参数传递的时候,实际上是真正将内容的复制了一份给到了对方。 4.没有调用hashCode()方法之前,String对象的hash属性值是默认为0。 5. 二.String的使用 1.将字节数组构造成字符串。 2.在java中字符数组的末尾没有‘\0’。 .
2021-02-05 00:03:13
125
原创 学习Java的第十二天
学习Java的第十二天 一.数组拓展 1.arrayCopy是一个静态的方法,在System类中,有5个参数。 2.Arrays是array的工具类,许多方法都是静态的。 二.String 1.java的运行: 第一步:将字节码文件加载到内存中 第二步:加载完了以后,CPU运算 2.常量池是方法区内存中的一块内存空间,这块内存空间用来存放常量。 ...
2021-02-03 00:10:15
88
原创 学习Java的第十一天
学习Java的第十一天 一.object类、 1.hashCode()方法作用: 1)一个对象是否存在。 2) 一个对象与另一个对象是否是同一个对象。 二.数组 1.数组是一种数据类型,但是它不是基础数据类型,是引用数据类型。 2."类名.“和"引用.”,"类名."静态的属性或者是方法;"引用."成员属性或者是方法。 3.length属性,指的是数组的长度。 4.类型:基础数据类型的数组,引用类型的数组。 5.定义:静态初始化(int[]a={}),动态初始化(int []a=new int [大小])。
2021-02-02 00:17:46
97
1
原创 学习Java的第十天
学习Java的第十天 一.浅拷贝与深拷贝 1.浅拷贝:多个引用指向同一个对象。 2.深拷贝:构造多个对象并且它们的首地址不同 方法: 1)构造多个一模一样的对象。 2)clone()。 (1)将其做成父类型的引用的指向子类型的对象,然后向下转型。 (2) 重写的时候可以改变Object类中的clone()方法的返回值类型. (3)序列化与反序列化. 二.内部类 1.内部类编译之后得到的.class文件,两个类名之间带有$
2021-01-31 23:38:35
77
原创 学习Java的第九天
学习Java的第九天 一.接口的补充 接口隔离:接口要隔离,接口的功能要单一 二.API和API文档 1.API:API就是SUN公司提供的java源代码。 2.API帮助文档:是通过javadoc指令,将java源代码中/** */注释的内容提取出来 ,形成了这个帮助文档。 3.使用API:导包、调用方法。导包,创建实例(有的甚至不用),然后“.”方法。 三. Object类探究(equals方法深度解读) 1.@Override : 这是一个注解。加上这个注解的,说明这个方法是父类中的方法, 被子类
2021-01-30 19:07:08
76
原创 学习java的第八天
学习java的第八天 一.final关键字 1.final关键字 性质: 修饰类:被final修饰的类,是无法被继承的。 修饰变量:1)被final修饰以后,值不能被改变,但生命周期不变。 2)final 修饰的成员变量,一定要赋初值。 3)final修饰的局部变量(方法中定义的),可以先声明, 再赋值。 2.常量:java中的常量是:final + static修饰的。 3.final修饰的成员
2021-01-29 22:22:56
96
原创 学习java的第七天
学习java的第七天 继承(extends) 1.构造方法的调用和super 1.当new一个子类时,父类会被隐式的调用。(先有父亲才有儿子) 即子类有一个隐含的父类的无参构造(父类要有,可以是默认的, 也可以是定义的)并在子类构造方法之前。所以父类必须要有无参 构造。 2.这个隐式的调用是super(),当你写了super()就不会再隐 式调用super()了。对super()的调用必须是构造器的第一个 语句。 3.super()不是父类的无参构造器,因为子类不能继承父类的构造 方
2021-01-27 09:15:52
88
原创 学习java的第六天
学习java的第六天 继承 1.面向对象的三大特征:封装、继承、多态。 2.概念:是一种is a的概念,例如:Cat is an Animal由父类和子类构成 3.特性:1)继承内容:继承了成员属性、成员方法(不包括被private修饰的)、 静态方法(不包括被private修饰的),父类中private修饰的方法是父 类独有的,不会被继承。 2)继承关系:父类的引用指向子类的对象。并且子类不能继承父类的构造 方法。 3)关于属性:pri
2021-01-25 18:59:18
78
原创 学习java的第五天
学习java的第五天 一.构造方法 1.含义:标识符();这种方式一般都是方法。产生对象的方法叫做构造方法。 2.性质:如果我们没有写任何的构造方法,系统会默认提供一个无参的构造器。如果我们写了有参数的构造器,那么系统不会再默认产生一个无参的构造器。 3.定义:方法名和类名一致并且没有返回值;是一个重载的方法可以没有参数也可以有参数;它的参数个数最少0个,最多只能是成员属性的个数(不能超过参数的个数);参数列表中的形参类型一定要和成员属性的参数类型匹配。 4.作用:在堆内存中生成对象并给对象的成员属性赋初始
2021-01-24 22:49:11
143
原创 学习java的第四天
java类之间的调用 public class Address { private String addressName; public void setaddressName(String addressName_1) { addressName=addressName_1; } public String getaddressName() { return addressName; } } public class Student { private static Strin.
2021-01-23 20:18:45
79
原创 学习java的第三天
JVM栈内存的运行图 public class Factorial { public static void main(String[] args) { System.out.println(“3的阶乘:”+f(3)); } public static int f(int n) { if (n<0) { return -1; } if (n<=1) { return 1; } return n*f(n-1); } } E:\学习java>javac Factorial.java E:\
2021-01-22 21:29:25
91
原创 学习java的第二天
一.运算符与控制语句 标识符的命名 1.类名单词首字母一定要大写,如果有多个单词,每个单词的首字母都要大写。 2.关于变量名的定义以及方法名的定义,要遵循驼峰命名法。方法一般要是动词,或者是带动词的短语。 运算符 1.java中"+"有拼接的功能,要注意字符串和数字的相加。 2.赋值符,先执行"=" 右边,在右边又有一个执行顺序,它的顺序是:从左自右执行。且右边一定是一个值。 3.+=运算符的使用与分开计算还是有所不同的 逻辑运算符 1.把出现false概率更大的表达式写在&&前面。 2.把
2021-01-22 00:06:01
104
原创 学习java的第一天
一.常见的dos 命令以及jdk与jre的关系 1.dir cd rd del mkdir(感觉挺好用的) 2.知道jdk与jre分别是什么东西后,我觉得jdk与jre以及jvm的关系应该就很易懂了 二.java基础知识 1.一个class对应一个类,在编译以后,一个class会生成一个xxx.class文件 一个xxx.java文件中,可以有多个class类,有几个类,就会在编译之后生成几个对应的.class文件 一个xxx.java文件中,不可以存在重名的两个类,如果存在,编译报错(类重复)
2021-01-21 00:41:58
93
原创 JDK中javac和java-version一直显示不是内部或外部的原因
1.创建变量的时候没有注意文件所在的具体位置,而是直接复制他人的文件位置 2.复制他人文件位置时复制了双引号 3.有些Windows10要用绝对路径 4.用相对路径时误打了分号(系统会自己补充分号),或用相对路径饮用其他变量时打错了变量 5.java-version出错是因为java和-version中有个空格 ...
2021-01-20 00:05:56
419
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人