java知识------我的积累(一)

400G光模块测试全攻略:从PCS层到CMIS合规的避坑指南 本文为网络设备测试工程师和光通信研发人员提供了一份详尽的400G光模块测试实战指南。文章深入剖析了从PCS层信号完整性、FEC容限到CMIS管理接口合规性测试的全流程,并分享了ANLT协议分析、SerDes眼图调试以及系统级流量压力测试中的核心技巧与常见避坑点,旨在帮助读者构建一套高效、精准的测试体系,确保高速光模块的可靠性与性能。 阅读详情


关于IO知识:
键盘录入语句
BufferedReader  bufr = 
new BufferedReader(new InputStreamReader(System.in));


以字符串方式接受键盘录入数据:
String str = new String();


str = readLine(bufr);

FileOutputStream和FileInputStream创建磁盘文件的输入输出流对象

创建FileInputStream实例对象时,指定的文件应当是存在和可读的,
创建FileOutputStream实例对象时,如果指定的文件已经存在,这个文件中的原来内容将被清除

创建FileOutputStream实例对象时,可以指定还不存在的文件名,不能指定一个已被其他程序打开的文件


java中的代码块
静态代码块>mian方法>构造代码块>构造方法。


/构造块:直接在类中定义且没有加static关键字的代码块称为{}构造代码块。构造代码块在
创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。

静态代码块:在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。
每个静态代码块只会执行一次。由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。

3:构造函数。
发现子类构造函数运行时,先运行了父类的构造函数。为什么呢?
原因:子类的所有构造函数中的第一行,其实都有一条隐身的语句super();
super(): 表示父类的构造函数,并会调用与参数相对应的父类中的构造函数。而super():是在调用父类中空参数的构造函数。
为什么子类对象初始化时,都需要调用父类中的函数?(为什么要在子类构造函数的第一行加入这个super()?)
因为子类继承父类,会继承到父类中的数据,所以必须要看父类是如何对自己的数据进行初始化的。
所以子类在进行对象初始化时,先调用父类的构造函数,这就是子类的实例化过程。


"注意:子类中所有的构造函数都会默认访问父类中的空参数的构造函数,
因为每一个子类构造内第一行都有默认的语句super(); 
如果父类中没有空参数的构造函数,那么子类的构造函数内,必须通过super语句指定要访问的父类中的构造函数。
如果子类构造函数中用this来指定调用子类自己的构造函数,那么被调用的构造函数也一样会访问父类中的构造函数。

在方法覆盖时,注意两点:
1:子类覆盖父类时,必须要保证,子类方法的权限必须大于等于父类方法权限可以实现继承。否则,编译失败。
2:覆盖时,要么都静态,要么都不静态。 (静态只能覆盖静态,或者被静态覆盖)


想要定义匿名内部类:需要前提,内部类必须继承一个类或者实现接口。
匿名内部类的格式:new 父类名&接口名(){ 定义子类成员或者覆盖父类方法 }.方法
。

class Outer
		{
			int x=3;
	
			public void function()
			{
				new absDemo()
				{
					void show()
					{
						System.out.println("x = "+x);
					}
				}.show();
			}
		}

字符串的方法:


1:构造方法:将字节数组或者字符数组转成字符串。
String s1 = new String();//创建了一个空内容的字符串。 
String s2 = null;//s2没有任何对象指向,是一个null常量值。
String s3 = "";//s3指向一个具体的字符串对象,只不过这个字符串中没有内容。
//一般在定义字符串时,不用new。
String s4 = new String("abc");
String s5 = "abc"; 一般用此写法
new String(char[]);//将字符数组转成字符串。
new String(char[],offset,count);//将字符数组中的一部分转成字符串。


2:一般方法:
按照面向对象的思想:
2.1 获取:
2.1.1:获取字符串的长度。length();
2.1.2:指定位置的字符。char charAt(int index);
2.1.3:获取指定字符的位置。如果不存在返回-1,所以可以通过返回值-1来判断某一个字符不存在的情况。
int indexOf(int ch);//返回第一次找到的字符角标
int indexOf(int ch,int fromIndex); //返回从指定位置开始第一次找到的角标
int indexOf(String str); //返回第一次找到的字符串角标
int indexOf(String str,int fromIndex);


int lastIndexOf(int ch);
int lastIndexOf(int ch,int fromIndex);
int lastIndexOf(String str);
int lastIndexOf(String str,int fromIndex);
2.1.4:获取子串。
String substring(int start);//从start位开始,到length()-1为止.
String substring(int start,int end);//从start开始到end为止。//包含start位,不包含end位。
substring(0,str.length());//获取整串
2.2 判断:
2.2.1:字符串中包含指定的字符串吗?
boolean contains(String substring);
2.2.2:字符串是否以指定字符串开头啊?
boolean startsWith(string);
2.2.3:字符串是否以指定字符串结尾啊?
boolean endsWith(string);
2.2.4:判断字符串是否相同
boolean equals(string);//覆盖了Object中的方法,判断字符串内容是否相同。
2.2.5:判断字符串内容是否相同,忽略大小写。
boolean equalsIgnoreCase(string) ;


2.3 转换:
2.3.1:通过构造函数可以将字符数组或者字节数组转成字符串。
2.3.2:可以通过字符串中的静态方法,将字符数组转成字符串。
static String copyValueOf(char[] );
static String copyValueOf(char[],int offset,int count);
static String valueOf(char[]);
static String valueOf(char[],int offset,int count);
2.3.3:将基本数据类型或者对象转成字符串。
static String valueOf(char);
static String valueOf(boolean);
static String valueOf(double);
static String valueOf(float);
static String valueOf(int);
static String valueOf(long);
static String valueOf(Object);
2.3.4:将字符串转成大小写。
String toLowerCase();
String toUpperCase();
2.3.5:将字符串转成数组。
char[] toCharArray();//转成字符数组。
byte[] getBytes();//可以加入编码表。转成字节数组。
2.3.6:将字符串转成字符串数组。切割方法。
String[] split(分割的规则-字符串);
2.3.7:将字符串进行内容替换。注意:修改后变成新字符串,并不是将原字符串直接修改。
String replace(oldChar,newChar);
String replace(oldstring,newstring);
2.3.8: String concat(string); //对字符串进行追加。
String trim();//去除字符串两端的空格
int compareTo();//如果参数字符串等于此字符串,则返回值 0;如果此字符串按字典顺序小于字符串参数,则返回一个小于 0 的值;如果此字符串按字典顺序大于字符串参数,则返回一个大于 0 的值。


以下是 Java判断字符串是否为空的几种方法


方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低.     "".equals("") 约156毫秒


方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法.  "".length()<=0约15毫秒


方法三: Java SE 6.0才开始提供的办法,效率和方法二基本上相等,但出于兼容性考虑,推荐使用方法二或方法四. "".isEmpty() 约15毫秒


方法四:这是种最直观,简便的方法,而且效率也非常的高,与方法二、三的效率差不多 if(""=="")约16毫秒
小程序:

package L78Z;
import java.io.*;
import java.util.Scanner;
public class ioTest001 {
/*小程序:实现键盘录入一个字符串,经过翻转后输出*/
	public static void main(String[] args) throws IOException {
		/*BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
		String str = null;
		str = bufr.readLine();
		reverseStr(str);
	}

	private static void reverseStr(String str) {
		for(int i = str.length()-1;i>=0;i--){
			System.out.print(str.charAt(i));
		}*/
		/*使用scanner类获取键盘录入*/
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入姓名: ");
		String name = sc.nextLine();
		System.out.println("请输入年龄:");
		int age = sc.nextInt();
		System.out.println("请输入工资: ");
		float salary = sc.nextFloat();
		System.out.println("您的基本信息如下: ");
		System.out.println("姓名:"+name+"\n"+"年龄 :"+age+"\n"+"工资: "+salary+"\n");
	}

}

方法一:从控制台接收一个字符,然后将其打印出来

import java.io.*;
public static void main(String [] args) throws IOException{ 
         System.out.print("Enter a Char:"); 
         char i = (char) System.in.read(); 
         System.out.println("your char is :"+i); 
} 

单例设计模式:
饿汉式

public void Single
{
	private Single(){}//私有化构造函数
	private static Single s = new Single();//创建私有并静态的本类对象
	public static void getInstance()//定义公有并静态方法,返回该对象。
	{
		return s;
	}
}

懒汉式

public void Single
{
	private Single(){}//私有化构造函数
	private static Single s = null;//创建私有并静态的本类对象
	public static void getInstance()//定义公有并静态方法,返回该对象。
	{
		if(s == null)
			s = new Single();
		return s;
	}
}

现在终于理清这三者之间的关系了,总结如下:

package basicTest;

/*
* 这个例子很好的演示了静态代码块   构造代码块  构造函数在程序运行时的加载次序
* 
* 静态代码块在初始化对象是就执行而且只执行一次,
*         如果静态代码块与主函数在一个大括号内,则先加载静态代码块
* 
* 此外,我们也可以看到,构造代码块的执行优先于构造方法
* */

class Code{
   //静态代码块
        static{
        System.out.println("Code的静态代码块");
        }
   //构造方法
        public Code(){
        System.out.println("Code的构造方法");
        }
   //构造代码块
        {
            System.out.println("Code的构造块");
    }
    }
public class CodeBlock03{
     {
      System.out.println("CodeBlock03的构造块");    
     }
     static{
        System.out.println("CodeBlock03的静态代码块");
        }
        public CodeBlock03(){
             System.out.println("CodeBlock03的构造方法");
            }
      public static void main(String[] args){
            System.out.println("CodeBlock03的主方法");
            new Code();
            /*new Code();
            new CodeBlock03();
            new CodeBlock03();*/
          }
    }

下面关于java的多线程做个小小的总结!

1.JAVA多线程实现方式
JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。只有最后一种是带返回值的。

2.继承Thread类实现多线程
继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己定义的run()方法。例如:
public class MyThread extends Thread {
   public void run() {
   System.out.println("MyThread.run()");
   }
}
在合适的地方启动线程如下:
MyThread myThread1 = new MyThread();
MyThread myThread2 = new MyThread();
myThread1.start();
myThread2.start();

3.实现Runnable接口方式实现多线程
如果自己的类已经extends另一个类,就无法直接extends Thread,此时,必须实现一个Runnable接口,如下:

public class MyThread extends OtherClass implements Runnable {
   public void run() {
   System.out.println("MyThread.run()");
   }
}


为了启动MyThread,需要首先实例化一个Thread,并传入自己的MyThread实例:
MyThread myThread = new MyThread();
Thread thread = new Thread(myThread);
thread.start();

myThread.start();

事实上,当传入一个Runnable target参数给Thread后,Thread的run()方法就会调用target.run(),参考JDK源代码:

public void run() {
   if (target != null) {
   target.run();
   }
}



机器人视觉仿真软件:PCL (Point Cloud Library)_(8).点云分割技术 点云分割技术在机器人视觉处理中起着至关重要的作用,通过不同的分割方法可以有效地将点云数据中的不同物体或区域分离出来。PCL提供了丰富的分割算法,包括基于平面的分割、基于聚类的分割、基于模型的分割和基于条件的分割等。每种方法都有其适用的场景和优缺点,选择合适的方法可以显著提高点云处理的效率和准确性。希望本节的内容能够帮助读者更好地理解和应用点云分割技术。 阅读详情

相关推荐

Allegro中调整差分对等长的步骤介绍

【代码】Allegro中调整差分对等长的步骤介绍。

qq_30882617的博客 3833

java知识点积累(一)

知识点积累 1、关于final的重要知识点: final关键字可以用于成员变量、本地变量、方法以及类; final修饰的成员变量必须在声明时被初始化,或者在构造器中初始化,否则就会报编译错误; 不能够对final变量再次赋值; 本地变量必须在声明时赋值; 在匿名类中所有变量都必须是final变量; final修饰的方法不能被重写; f...

dfay89490的博客 131

带挂牵引车倒车运动模型推导及仿真实现

半挂牵引车在倒车时,由于鞍座主销的连接限制,其运动方式与乘用车有显著差异。例如,乘用车在右侧倒车入库时,只需确定泊车起点并将方向盘向右打死。相反,牵引车在倒车时需要先向左转方向盘,当铰接角达到防折叠的临界值时,再将方向盘向右转回,以调整牵引车与挂车至直线状态,完成泊车入库。本研究旨在建立一个基于牵引车带挂车倒车运动学模型,该模型基于以下假设: 道路在车辆行驶过程中保持平坦,无凹凸不平; 车辆以低速行驶,且在运行过程中车身不发生侧倾或俯仰; 行驶过程中,轮胎无变形,无侧向滑动,且不产

jianmo的博客 2697

java小知识点积累(一)

if()只执行一次,成立进入,运行完后直接执行if之后的代码,不会再进入if代码的范围;这是描述一个从输入URL到页面加载完成的过程,其主要包括DNS解析、建立连接、发送请求、接收响应、渲染页面等环节。如果是普通字段(没有索引/主键),那么select ..... for update就会进行锁表。while()是一个循环,直到条件不满足,才退出while代码块的范围;while()与if()都是判断某一条件是否成立,成立的话进入代码块;

m0_53284765的博客 445

Ubuntu+Dify实战:如何让大模型知识库完美支持图片召回(附避坑指南)

本文详细介绍了在Ubuntu系统上部署Dify平台,并实现大模型知识库图片召回功能的完整实战方案。通过解析Dify处理图片的底层逻辑,重点讲解了配置Nginx代理服务器将本地图片路径转换为可公开访问URL的核心工程步骤,并提供了文档预处理、环境变量配置以及父子分段策略等高级技巧,帮助开发者构建图文并茂的AI应用,有效提升知识库的丰富性和用户体验。

c7d8e的博客 445

Xilinx的DDR4 IP

Xilinx的DDR4 IP

weixin_39896700的博客 4456

Java面试基础知识积累(一)

Java基础知识 一.final 与 Static public static final 类常量,在类内部多个方法中可用,若为public 在其他类当中也可用 静态数据区不属于堆,当然更不属于对象,在静态数据区 如果编译器能够在编译阶段确定某变量的值,那么编译器就会把该变量当做编译期常量来使用 静态方法在类加载的时候就存在了,它不依赖于任何实例 只能访问所属类的静态字段和静态方法,方法中不能有...

a308702975的博客 254

搭建微信机器人的方案都在这了!

功能超级强大,虽不支持二次开发,但已有的功能足够个人使用,可惜官方作品已被腾讯告死,好在市面上还流落着不少破解版,有需要的自行搜索。可惜的是,微信官方已不准许新的微信号再使用 web 登录,这就直接从源头扼杀了 web 协议的微信机器人,虽说老的微信号还是能凑合着用,不过部分功能也受限。所以,这些都属于 PC 端的微信机器人。无论是 PC 端还是手机端,用 hook 方式实现的最大缺点就是要和某一个版本的微信客户端进行绑定,如果框架本身不对最新版本的微信适配,那使用的时候就无法升级到最新版本的微信。

weixin_47246330的博客 1万+

【Java基础】常用知识积累(一)

1、==和equals的区别 null和""的区别 2、15个顶级Java多线程面试题及回答         (1)、线程中join的使用        在很多情况下,主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算,主线程往往将于子线程之前结束,但是如果主线程处理完其他的事务后,需要用到子线程的处理结果,也就是主线程需要等待子线程执行完成之后再结束,这个时候就要用到join()

将来的你 1118

通过miniconda conda安装jupyer的时候报错: InvalidArchiveError(“Error with archive

摘要:本文针对Windows系统使用Conda时出现的InvalidArchiveError错误(文件路径过长或压缩包损坏),提供了解决方案。建议以管理员身份运行PowerShell并执行命令启用长路径支持(LongPathsEnabled),然后重启电脑或终端。作者通过该方法成功解决了jupyter安装问题。附有错误截图和解决后的成功截图。

猿小白的博客 783

【SpringBoot笔记44】SpringBoot多数据源配置(方式一:配置多个mapper扫描不同的包路径实现多数据源配置)

在SpringBoot应用开发中,一般情况下,都是只会配置一个数据源信息,之后整个工程都是对当前数据源进行增删改查的操作。但是,在实际开发里面,也有可能会遇到多数据源的情况,例如:当前工程中除了需要访问自己应用的数据库,还需要直接连接第三方系统的数据库进行业务处理,这种情况下,就需要进行多数据源的配置。SpringBoot考虑到了这一点,所以它是支持多数据源的配置的,下面介绍一下如何配置多数据源。

✅ Java 开发工程师 1116

java向量 内积_java知识点积累(一)

知识点积累1、关于final的重要知识点:final关键字可以用于成员变量、本地变量、方法以及类;final修饰的成员变量必须在声明时被初始化,或者在构造器中初始化,否则就会报编译错误;不能够对final变量再次赋值;本地变量必须在声明时赋值;在匿名类中所有变量都必须是final变量;final修饰的方法不能被重写;final修饰的类不能被继承;没有在声明时初始化的final变量称为空白final...

weixin_39670441的博客 214

Spring AI Alibaba实战训练营-05模型输出质量评估

本文介绍了使用Spring AI Alibaba库评估AI模型输出质量的方案。项目通过5种评估器实现自动化评估:相关性评估、事实准确性评估、答案相关性评分、答案正确性评估和忠实度评估。开发步骤包括环境准备(Java 17、Maven、API Key获取)、创建Maven项目、配置Spring AI(通过环境变量安全设置API Key)以及实现RAG流程。重点强调了通过评估器自动检测AI输出的质量指标,帮助开发者优化AI应用性能。

program哲学 217

ArcGIS Server the adf for java 知识积累(一)

为什么使用JSF A、页面与后台的解藕性比较好。页面与服务器交互 程序的使用。 JSF页面的face-config.xml是页面启动时自动加载的(页面中所用到的 MapContext)。里面会对一些方法以属性的行式进行关键字调用。与 context-attribute.xml相结合。 是页面与地图的绑定 #{mapContext.attributes['webappScaleBar']}等价于

duqinfang的专栏 497

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java知识积累——单元测试和JUnit(一)

    说起单元测试,刚毕业或者没毕业的人可能大多停留在课本讲述的定义阶段,至于具体是怎么定义的,估计也不会有太多人记得。我们的教育总是这样让人“欣慰”。那么什么是单元测试呢?具体科学的定义咱就不去关心了,其实每个写代码的人都在时刻进行着单元测试,除非你从来不验证自己写的代码能否达到预期目的,而是直接写完就完事儿了,连run一下都不进行。     单元测试说的直白一点,就是验证写得一段代码是...

www.itmmd.com 151

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

继续Java的学习

跟着Java核心技术卷一学习Java 努力ing 保证每天有新的学习内容

yangmingqin的专栏 188

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java开发人员的小习惯

记录一下,作为一个Java开发人员,应该如何提高自己的能力(仅个人观点) 一、形成个人的知识体系 在我们平时的工作中,关于知识的积累往往相对比较零散,这就需要我们思考汇总,形成自己的理解,然后围绕着自己的职业目标,去有意的获取和提高自己的知识范围,塑造有利于自己的职业生涯的知识体系。 对于基础知识,要学会重视。比如JVM、性能优化、消息机制等。这类知识点,我们在开发过程中可能不会去太在意,这会导致...

Sanchar 5910

《java未眠夜》书摘

最近听朋友介绍了一本《java未眠夜》,对作者有很多观点很有触动,故记之 2013-11-05  1. 快餐式程序员通病:没掌握面向对象编程精髓,java语言内部的运行机制不了解,对API的整体连贯性懵懵懂懂。 2. 工作时被指派使用A技术,还没弄懂A技术是怎么回事,又被指派用B技术,缝缝补补的方式边学边用,每次都像是全新的开始,没有知识的积累。 3. 先深后广的学习方式,适合学生时代全面

courage的专栏 1124

浅析初学java你应该知道的几个误区

学习java需要的是适合自己的学习方法和持之以恒的毅力。一旦找到适合自己的学习方法,那将会是事半功倍,所以为了更好的学习java,这几个学习java的误区你应该知道。 1.不要为了学习而学习 现在有很多小伙伴在学习java的时候,更多的时候只是草草的翻阅有关java开发书并籍,并没有去思考或者试着去理解教材上所讲述的内容,书翻完了,一个知识点也没有记住,所谓“学而不思则罔,思而不学则殆”,论语中的这句话告诉我们:学和思是相辅相成的,才能够加深对知识的印象。多学习,多思考,多总结,是三个不断知识积累的过程

m0_58371965的博客 196

java面试知识点总结和详情

0、杂谈 0.1 有人问我,作为一名程序员,你觉得最重要的能力是什么?是技术吗? 可以看看如下博客 https://blog.youkuaiyun.com/weixin_47955802/article/details/110353249?spm=1001.2014.3001.5501 我的看法: 首先我觉得最重要的是心态,抗压能力,遇到问题冷静面对;其次是技术+管理能力,这样能提高一个人的工作效率;最后结束在前面的基础上,高效解决问题的能力。 0.2 工作六年总结的java面试题和经验 工作六年总.

kinbridge的专栏 196

从零基础到Java高手,这条学习路线助你事半功倍

最新接入DeepSeek-V3模型,点击下载最新版本InsCode AI IDE 标题:从零基础到Java高手,这条学习路线助你事半功倍 在当今数字化时代,掌握一门编程语言已经成为许多人职业发展的必备技能。而Java作为全球最受欢迎的编程语言之一,其应用范围广泛,无论是企业级开发、安卓应用还是大数据处理,Java都占据着举足轻重的地位。然而,对于初学者来说,Java的学习曲线并不平坦,尤其是在面对...

SapphireFox89的博客 322

红队知识学习入门(2)(安全见闻1)

红队知识学习入门之安全见闻

Zeu_s的博客 531

为什么你学习Java,能看懂代码,但自己写却写不出来呢?

关于这个问题,想必是很多人都有的心理历程或者是“说辞”,但其实真正的原因并不是你们所说的“我能看懂,但是让我写却写不出来”,真正的原因和问题是在于你当时学习的时候就没有学会,也不懂如何正确的学习Java编程。根据这个问题的具体原因以及如何去破解这样的问题,我今天会在下面跟大家详细说明。 “我能看懂代码,但是让我自己写却写不出来”,这样的话在我刚开始的时候自己也说过,但后来会写代码之后,会发现这样的说法是没过脑子的,也没有仔细去探究一下根本原因是什么,“能看懂”这样的说法可以说是记忆好,或者是对于英语.

deqing271的博客 1195

Object-C学习笔录(一)

前不久老大辞职了,手上IOS的工作就扔给了我,于是只能开始学习苹果的东西,说真的从java转到OC,对于苹果的东西,可以说是零基础了,连Mac都没用过,于是开始研究如何在Mac上安装/卸载软件;苹果的东西不熟,各种限制;特别是发布审核流程,审核被拒绝了,你们搞了一个星期才能重新提交审核。不过幸好有IOS技术群,在那里获得了很热心大帮助;在IT这个大家庭里,总是能相互分享,相互帮助,相互进步,这也许

zonfze的专栏 558

写博客

写博客的好处就不说了,因为好处太多了,很多大家都有记日记的习惯,认真写博客的人运气一般不会太差,现在写写博客,按照月度两篇的话一年能24篇,就是高产了,如果一年能写12篇也可以说是正常。 博客形式: 1 先构造打造知识地图,然后填充 2 日常问题随心记,会记录一些常见问题 3 主要有以下几个方面的博客 (1) 社科思考 (2) 产品比较学习 (3) Java学习 (4) 算法 (5) 微服务 (6...

wolfGangNewWorld的博客 74
上一篇: static--main--单例
下一篇: LinkedHashMap
杨鑫校
博客等级 码龄11年 24粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值