![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE基础
文章平均质量分 75
我顶得了
这个作者很懒,什么都没留下…
展开
-
网络-存档
Quic 使用可插拔的拥塞控制,相较于 TCP,它能提供更丰富的拥塞控制信息。比如对于每一个包,不管是原始包还是重传包,都带有一个新的序列号(seq),这使得 Quic 能够区分 ACK 是重传包还是原始包,从而避免了 TCP 重传模糊的问题。Quic 同时还带有收到数据包与发出 ACK 之间的时延信息。这些信息能够帮助更精确的计算 rtt。QUIC 的传输控制不再依赖内核的拥塞控制算法,而是实现在应用层上,这意味着我们根据不同的业务场景,实现和配置不同的拥塞控制算法以及参数。无队头阻塞。...原创 2022-08-04 10:42:05 · 427 阅读 · 0 评论 -
定义全局常量
private final static int OVER_ALL;//如果只有final,这个值确实不能改,但是如果OVER_ALL所在的类有很多个对象,那么OVER_ALL这个对象将存放很多次。所以加上static之后就算有很多对象那也会只有一个OVER_ALL。final:final修饰类使用final修饰的类不能有子类,使用fianl定义类后,该类的所有成员方法默认添加fi...原创 2019-07-14 19:30:09 · 1759 阅读 · 0 评论 -
break,continue,return语句在循环中使用
**break:**直接跳出循环public class Ex { public static void main(String[] args) { String s=""; for(int i=1;i<=5;i++){ if(i==3) //continue; ...原创 2019-07-05 14:44:37 · 418 阅读 · 0 评论 -
【接口】JDK8之前与之后的区别
接口定义:接口就是全局方法与抽象方法的结合,在Java中使用interface定义。接口的命名一般以I开头。子类实现接口,必须使用implements关键字来实现接口。子类命名一般以Impl结尾。与类不同的是,一个子类可以实现多个接口,如果子类不是抽象类,那么子类必须覆写接口的全部方法。interface Imessage{ public static final String MSG =...原创 2019-07-15 10:52:24 · 779 阅读 · 0 评论 -
while(对象名.hasNextxxx)作用
加:public class Ex { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNextLine()){ String str = in.nextLine(); System.out...原创 2019-07-05 17:55:24 · 883 阅读 · 0 评论 -
【Java】List接口,以及ArrayList,LinkedList,Vector的区别(源码解析)
ArrayList :底层数组实现初始化策略:Lazy-Load(懒加载策略),只有当对象第一次被使用时,内部的数组才会初始化为长度为10的数组。源码private int size;private static final int DEFAULT_CAPACITY = 10;1.public boolean add(E e) { ensureCapacityIntern...原创 2019-07-15 15:20:17 · 140 阅读 · 0 评论 -
【Java】集合类知识总结
类集:保存数据的集合,类集 = 数据结构 + 线程安全为了解决数组定长问题,产生类集思想 - Collection(理解为一个动态数组)Collection接口:Collection接口是Java中保存单个对象的最顶层接口。Collection有两个子接口:LIst与Set,List接口:允许数据重复,Set接口:不允许数据重复。Collection 常用操作方法:(使用类集建议使用...原创 2019-07-24 17:10:36 · 632 阅读 · 2 评论 -
【Java】Map接口
1.Map接口Map集合中会一次性保存两个对象,且这两个对象的关系:key=value结构。这种结构最大的特点是可以通过key找到对应的value内容。public class MapTest { public static void main(String[] args) { Map<Integer,String> map = new HashMap&l...原创 2019-07-25 18:00:59 · 116 阅读 · 0 评论 -
【Java】Set接口
Set接口(本质是一个Map接口)set接口中没有扩充任何方法,set中有的方法都是Collection中有的方法。set下的两个常用子类:1.HashSet(无序存储),底层实现哈希表 + 红黑树(JDK1.8以后),JDK1.8以前只有哈希表。public class SetTest { public static void main(String[] args) { ...原创 2019-07-27 14:22:27 · 210 阅读 · 0 评论 -
this关键字
表示本类属性,例:this.name。如果要在构造方法中给本类属性复制的话,没有this关键字就是形参自己等于自己,因为我们有就近使用原则,加上this关键字之后会破坏这种原则直接从类中找这个同名属性。//this.name表示调用类中的name属性,不再遵循就近原则class Person{ private String name; private int age;...原创 2019-08-18 22:08:24 · 180 阅读 · 0 评论 -
Java 覆写(重写)(Override)
发生在父类与子类之间,修饰符应该大于等于父类,返回值应该小于等于父类,参数与父类相同方法覆写:/*方法覆写 */class Person{ public void print(){ System.out.println("1.Person类的print方法" ); }}class Student extends Person{ publi...原创 2019-08-18 22:13:49 · 172 阅读 · 0 评论 -
super关键字
super调用构造方法:当调用子类无参构造时(父类存在无参构造),系统会自动在子类无参构造前加上super()表示先调用父类的无参构造(实例化子类的时候先调用父类的构造方法实例化父类,再调用子类的构造方法)此时super语句可以省略。/*super调用子类无参构造 */class Person3{ public Person3(){ System.out....原创 2019-08-19 11:00:48 · 139 阅读 · 0 评论 -
全局变量,静态变量,成员变量,局部变量,类变量,实例变量
全局变量包含成员变量和静态变量。成员变量就是实例变量,静态变量也称类变量。成员变量和局部变量的区别: 成员变量: 1、成员变量定义在类中,在整个类中都可以被访问。 2、成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。 3、成员变量有默认初始化值。 局部变量: 1、局部变量只定义在局部范围内,如:函...原创 2019-09-23 11:36:29 · 195 阅读 · 0 评论 -
自定义一个动态数组(数组,链表两种方法实现)
数组实现:import java.util.Arrays;class MyArray<E>{ private E[] elementData; private int size; private final static int DEFAULT_CAPACITY = 10; public MyArray(){ //elementData = (E[]) new Obj...原创 2019-07-14 19:29:17 · 1089 阅读 · 0 评论 -
Java进制之间的转换
十进制转为二进制:正:辗转相除,负:辗转相除,取反加一1.自定义正数方法:java.util.Scanner;public class Ex1{ public static void main(String args[]){ Scanner in = new Scanner(System.in); int n = in.nextInt(); String str = " ";...原创 2019-07-04 11:17:32 · 105 阅读 · 0 评论 -
>>与>>>
(注:负数的在Java中以补码表示(原码取反加一))1.>> 是带符号右移,可以理解为除2。(-1>>1 = 0)-1的补码:11111111111111111111111111111111减一后:11111111111111111111111111111110取反后:1000000000000000000000000001((第一位是符号位,所以不用取反)右移...转载 2019-07-04 10:46:46 · 321 阅读 · 0 评论 -
学习Java运算符的心得
1基础运算符1.1 ()所有运算符是有优先级的,使用()括起来,简单性原则1.2 ++ 、–自增和自减运算,x++ 先运算后自增;++x 先自增后运算,(自减运算同理)4.2三目运算符数据类型 变量 = 布尔表达式?满足时赋值:不满足时赋值eg:...原创 2019-04-20 22:54:55 · 696 阅读 · 0 评论 -
Java数据类型一些总结
1.数据类型划分:数值型(byte、short、int、long、double、float)字符型(char)(默认值,\u0000(空格))布尔型(boolen)(默认值,false)共八种:基本类型默认值存储对应的包装类数据范围boolenfalse1位Java.lang.Boolenture/falsebyte0一个字节Java.l...原创 2019-04-16 23:49:52 · 130 阅读 · 0 评论 -
Java包名的命名规则
一直在纠结为什许多包名都是com.***.*** 今天终于主动去查了一下资料,基本搞懂了这个问题。个人:indi:多人完成,版权属于发起者 包名为indi.发起者名.项目名.模块名*.*.\*pers :独自完成,公开,版权主要属于个人。 包名为pers.个人名.项目名.模块名*.*.*priv : 独自完成,非公开,版权属于个人。 包名为priv.个人名.项目名.模......原创 2019-04-21 22:54:12 · 20644 阅读 · 1 评论 -
JavaSE逻辑控制学习心得
在Java中,程序一共有三种结构:顺序结构、分支结构、循环结构1.Java分支结构原创 2019-04-27 21:55:19 · 200 阅读 · 0 评论 -
【上下转型】JavaSE多态性学习心得
多态指的是,同一个类实例的相同方法在不同情形下有着不同的表现形式,在Java中多态分为两个,一个是向上转型,一个是向下转型1.向上转型(绝大多数)一般用于参数统一化父类 父类引用 = new 子类();2.向下转型(少部分)一般用于父类引用需要调用子类扩充方法时。子类 子类引用 = (子类)父类实例;注:1.向下转型需要强转 2.向下转型必须先发生向上转型,否...原创 2019-04-23 20:33:38 · 131 阅读 · 0 评论 -
Object类中的toString()方法学习心得
Object类是JDK默认提供的一个类。Java中除了Object类,所有类都存在继承关系,默认会继承Object父类,即Object类是所有类的爸爸。原创 2019-04-25 14:31:45 · 331 阅读 · 0 评论 -
Java中 equals() 方法与“==”区别
1.“==”“==”比较的是值是否相等(对于基本数据类型而言,比较的就是存放数据的大小;对于引用类型而言,比较的是存放的地址是否相等)/*== */class Person { private String name; private int age; public Person(String name, int age) { this.age ...原创 2019-04-25 15:49:55 · 103 阅读 · 0 评论 -
为什么ArrayList的最大数组大小是Integer.MAX_VALUE - 8
数组需要8 bytes去存储它自己的大小(2,147,483,648)(2^31)原创 2019-06-26 13:44:29 · 1931 阅读 · 2 评论 -
comparator和comparable接口的区别
Java中比较两个对象的两种方式,推荐使用comparator,在没有comparator的基础上只能把当前对象强转为comparable来使用compareTo方法。import java.util.Comparator;/** * @program: comparatorAndComparable * @description: * @author: fwb * @create:...原创 2019-06-26 18:28:38 · 125 阅读 · 0 评论 -
设置输出小数点后几位的方法
个人认为最简单的一种:public class Ex2 { public static void main(String[] args) { double a = 2.1023232216545; double b = 2; System.out.format("%.5f\n",a); System.out.println(...原创 2019-07-02 14:31:22 · 2676 阅读 · 0 评论 -
Java抽象类
1.介绍抽象类:抽象类就是在普通方法的基础上扩充了一些抽象方法。抽象方法指的是:只是声明但是并没有实现的方法。所有抽象方法要用abstract来定义,并且抽象方法所在的类也要用abstract来定义为抽象类。abstract class Person{ public abstract void print();// public abstract void fun();}...原创 2019-07-03 15:28:54 · 105 阅读 · 0 评论 -
【Java】程序运行时间
程序运行前加:long start = System.currentTimeMillis();程序运行后加:long end = System.currentTimeMillis();运行时间:System.out.println("共耗时:" + (end - start) + "ms");currenttimeMIllis():该方法的作用是返回当前的计算机时间,时间的表达...原创 2019-06-28 16:55:23 · 300 阅读 · 0 评论 -
生成一个随机数组
最基本的方法:import java.util.Random;public class RandomArray{ public static void main(String[] args){ int n = 100; Random random = new Random(); Integer[] data = new Integer[n]; for(int i = 0;i ...原创 2019-06-28 17:46:19 · 3048 阅读 · 0 评论 -
JavaSE标识符命名要求的一些小总结
1.标识符要求:标识符由字母、数字、_、$所组成,其中不能以数字开头,不能用Java中的保留字(关键字)阿里编码规范要求:a.代码中的命名均不能以下划线或美元符号结束,也不能以其开始b.代码严禁使用拼音与英文,不允许使用中文2.类名类名是以大写字母开头的单词,如果类名由多个单词构成,则每个单词首字母的大写eg. class Demoeg. class FirsrDem...原创 2019-04-15 19:38:45 · 131 阅读 · 0 评论