阿里Java研发面试题『八部曲』——从第一步开始

阿里巴巴首发136道Java高级岗面试题(含答案) 阅读详情

在这里插入图片描述

1、Java变量

Java中主要有如下几种类型的变量
局部变量
类变量(静态变量)-- 属于类
成员变量(非静态变量)-- 属于对象

2、关于枚举

package com.scu.lly;
public class EnumTest {
	/**
* 颜色枚举
*/
	enum ColorEnum{
		RED,
		GREEN,
		BLUE
	}
	/**
* 性别枚举
* 可用中文字符,不能单独使用数字
* (枚举值组成:字母、下划线)
*/
	enum SexEnum{
		男,
		女,
		MAN,
		WOWAM
	}
	/**
* 1、带有构造方法的枚举,构造方法为只能为private(默认可不写private);
* 2、含带参构造方法的枚举,枚举值必须赋值;
* 3、枚举中有了其他属性或方法之后,枚举值必须定义在最前面,且需要在最后一个枚举值后面加分号";"
*/
	enum CarEnum{
		BMW("宝马",1000000),
		JEEP("吉普",800000),
		MINI("mini",200000);
		private String name;
		/**
* 从这里可以看出虽然枚举值不能直接由数字组成,但是我们可以给该枚举类添加一个int类型的值,通过构造方法给其赋值,相当于间接的可以使用数值
*/
		private int price;
		private CarEnum(String name,int price){
			this.name = name;
			this.price = price;
		}
		//添加setter、getter方法
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public int getPrice() {
			return price;
		}
		public void setPrice(int price) {
			this.price = price;
		}
	}
	/**
* 由于枚举类都继承了Enum类,故我们定义的enum都不能在继承其他类了,但是可以实现其他接口
*/
	enum CarSetEnum implements Car{
		BMW("宝马"),
		JEEP("吉普"),
		MINI("mini");
		private String name;
		private CarSetEnum(String name){
			this.name = name;
		}
		//添加setter、getter方法
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		@Override
		public void setCarName(String name) {
			this.name = name;
		}
	}
	public static void main(String[] args){
		ColorEnum color = ColorEnum.BLUE;
		switch(color){
			case RED:
			System.out.println("红色");
			break;
			case GREEN:
			System.out.println("绿色");
			break;
			case BLUE:
			System.out.println("蓝色");
			break;
		}
		getSelectedColor(color);
		//测试含构造方法的枚举
		System.out.println("吉普信息:"+CarEnum.JEEP.getName() + ":" +CarEnum.JEEP.price);
		for (CarEnum car : CarEnum.values()){
			System.out.println(car.name);
			System.out.println(car.getPrice());
		}
		//测试实现接口的枚举
		CarSetEnum.BMW.setName("加长宝马");
		System.out.println(CarSetEnum.BMW.getName());
	}
	public static ColorEnum getSelectedColor(ColorEnum color){
		ColorEnum result;
		switch(color){
			case RED:
			System.out.println("红色");
			break;
			case GREEN:
			System.out.println("绿色");
			break;
			case BLUE:
			System.out.println("蓝色");
			break;
		}
		result = color;
		return result;
	}
	interface Car{
		public void setCarName(String name);
	}
}

3、访问控制修饰符

修饰符说明
private私有的,在同一类内可见。
默认没写在同一包(包括子类和非子类)内可见。默认不使用任何修饰符。
protected受保护的,对同一包内的类和所有子类可见。
public共有的,对所有类可见。

主要是默认和protected这两个修饰符,总结起来就是:

  • 默认的:同一包下可访问;
  • protected:同一包和所有子类可访问;

(1)这里的可见、可访问指的是能不能通过 ”类的对象.变量名“的方式访问,这是因为除static声明的变量属于类变量外,其他的都属于实例变量,是属于某个对象的!

如,Person p = new Person(); p.age直接访问age变量,对于那些私有的变量,很多情况下会对外提供public的setter和getter方法来供外部访问。

(2)要注意的是,对于有继承关系的子类来说,比如 class A extends B,A直接继承拥有了默认的(在同一包下)、protected、public的这个字段,可以直接使用该字段,而不用通过再次的实例化父类或"父类对象.字段"的形式访问,因为在实例化A类的时候父类B已经实例化好了。特别的,对于protected来说,如下形式是编译不能通过的。

package com.a
public class A extends B{
	public void test(){
		B b = new B();
		String str = b.age;
		//错误!不同包下的子类不能通过实例出来的父类获取protected的变量
		String str2 = age;
		//正确,A类继承了B,直接拥有了该字段
		String str3 = b.birthday;
		//正确,birthday为public
	}
}
package com.b
public class B{
	protected String age = "20";
	public String birthday = "1995";
}

结论就是:

在上面那个表格修饰符的约束前提下,对于非继承类关系,需要使用 “实例变量.变量名的形式访问”(static类变量除外);

对于有继承关系的子类来说, 子类直接继承了拥有了默认的(在同一包下)、protected、public的这个字段,可以直接使用该字段。

4、UTF-8和GBK编码转换

下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换:byte[] src,dst;

  • A、dst=String.fromBytes(src,“GBK”).getBytes(“UTF-8”)
  • B、dst=new String(src,“GBK”).getBytes(“UTF-8”)
  • C、dst=new String(“GBK”,src).getBytes()
  • D、dst=String.encode(String.decode(src,“GBK”)),“UTF-8” )

正确答案:B

操作步骤就是先解码再编码,先通过GBK编码还原字符串,在该字符串正确的基础上得到“UTF-8”所对应的字节串。

5、try、catch、finally执行顺序问题

下面函数将返回?

publicstaticintfunc (){
	try{
		return1;
	}
	catch(Exception e){
		return2;
	}
	finally{
		return3;
	}
}
  • A、1
  • B、2
  • C、3
  • D、编译错误

正确答案:C

(1)try catch中只要有finally语句都要执行(有特例:如果try 或 catch 里面有 exit(0)就不会执行finally了);

(2)finally语句在try或catch中的return语句执行之后返回之前执行,且finally里的修改语句不能影响try或catch中 return已经确定的返回值;若finally里也有return语句则覆盖try或catch中的return语句直接返回;

(3)在遵守第(2)条return的情况下,执行顺序是:try–>catch(如果有异常的话)–>finally;

6、静态代码块、子类、父类初始化顺序

如下代码的输出结果:

package com.scu.lly;
public class HelloB extends HelloA {
	public HelloB() {
		System.out.println("-----------HelloB 构造方法------------");
	}
	{
		System.out.println("I’m B class");
	}
	static{
		System.out.println("static B");
	}
	public static void main(String[] args){
		new HelloB();
	}
}
class HelloA{
	public HelloA(){
		System.out.println("-----------HelloA 构造方法------------");
	}
	{
		System.out.println("I’m A class");
	}
	static{
		System.out.println("static A");
	}
}

输出结果:

static A
static B
I’m A class
-----------HelloA 构造方法------------
I’m B class
-----------HelloB 构造方法------------

执行顺序:1.静态代码块 --> 2.普通代码块 --> 3.构造方法

需要明白的是,1是类级别的,2和3是实例级别的,所以在父子类关系中,上述的执行顺序为:

父类静态代码块–>子类静态代码块–>父类普通代码块–>父类构造方法–>子类代码块–>子类构造方法;

也就是上到下(父类到子类)先走完 类级别的(静态的)–> 再依次走完父类的所有实例级别代码 --> 再走子类所有实例级别代码

7、关于null对象、static变量和方法

有关下述Java代码描述正确的选项是____。

publicclassTestClass {
	privatestaticvoidtestMethod(){
		System.out.println("testMethod");
	}
	publicstaticvoidmain(String[] args) {
		((TestClass)null).testMethod();
	}
}
  • A、编译不通过
  • B、编译通过,运行异常,报NullPointerException
  • C、编译通过,运行异常,报IllegalArgumentException
  • D、编译通过,运行异常,报NoSuchMethodException
  • E、编译通过,运行异常,报Exception
  • F、运行正常,输出testMethod

正确答案:F

静态方法是属于类的,静态方法在对象实例创建前就已经存在了,它的使用不依赖于对象是否被创建。当我们通过类的实例来调用时,最后实际上还是将对象实例转换成了类去掉用该静态方法,所以这里的null只是迷惑大家的跟它没有什么关系。

这里 ((TestClass)null).testMethod();也可以写成TestClass t = null; t.testMethod();同样可以正确输出。null可以被强制转换成任意类型对象,虽然这个时候t被赋为了空,但这个“空对象”也是属于TestClass的,那么这个“空对象”也就可以去堆上的静态方法区调用testMethod()方法了。

如果这里testMethod把static去掉,该testMethod方法就变成了实例对象的方法了。这时,可以编译通过,但是会报空指针。

同理,对于static变量也是一样的。比如TestClass 中有如下变量:private static String str = “abc”; 我们通过TestClass t = null; System.out.println(t.str);同样可以正确输出。

8、关于线程启动

下列方法中哪个是执行线程的方法? ()

  • A、run()
  • B、start()
  • C、sleep()
  • D、suspend()

正确答案:A

start()方法启动一个线程,使其处于就绪状态,得到了CPU就会执行,而调用run()方法,就相当于是普通的方法调用,会在主线程中直接运行,此时没有开启一个线程。如下:

Thread t = new Thread(new Runnable() {
	@Override
	public void run() {
		try {
			Thread.sleep(2000);
		}
		catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("----------线程中run---------");
	}
}
);
System.out.println("-------主线程11111------");
t.run();
System.out.println("-------主线程222------");

这里调用Thread的run()方法,此时相当于是普通的方法调用,并没有开启线程,直接在主线程中运行Thread中的Runnable方法,睡眠2秒后打印"----------线程中run---------",在执行t.run后面的打印。所以此时的输出为:

-------主线程11111------
----------线程中run---------
-------主线程222------

若将t.run()改为t.start(),此时会开启一个线程,并使该线程处于就绪状态,得到CPU后开始执行,调用t.start()后主线程继续执行下面的打印,所以此时的输出为:

-------主线程11111------
-------主线程222------
----------线程中run---------

9、关于内部类

往OuterClass类的代码段中插入内部类声明, 哪一个是错误的:

public class OuterClass{
	private float f=1.0f;
	//插入代码到这里
}

A、

class InnerClass{
	public static float func(){
		return f;
	}
}

B、

abstract class InnerClass{
	public abstract float func(){
	}
}

C、

static class InnerClass{
	protected static float func(){
		return f;
	}
}

D、

public class InnerClass{
	static float func(){
		return f;
	}
}

正确答案:ABCD

静态的内部类才可以定义static方法,排除AD;
B抽象方法中不能有方法体;
C,静态方法不能够引用非静态变量。

10、Final修饰符、volatile修饰符

Final修饰符,用来修饰类、方法和变量,final修饰的类不能够被继承,修饰的方法可以被继承,重载,但是不能被子类重写(即重新定义)

(1)final变量:
被声明为final的对象的引用不能指向不同的对象。但是final对象里的数据可以被改变。也就是说final对象的引用不能改变,但是里面的值可以改变。比如:

final Person p = new Person();
p.name = "aaa";
p.name = "bbb";

但是,如果是final String str = “aaa”; str = “bbb”;//错误编译不能通过,因为此时str的引用已经改变了!

(2)final修饰方法
Final修饰的方法可以被子类继承,但是不能被子类修改(重写)。

声明final方法的主要目的是防止该方法的内容被修改。

volatile修饰符,Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。一个volatile对象引用可能是null。

11、StringBuffer 和 StringBuilder

和String类不同,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。

StringBuilder类和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)。

由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBuilder类。然而在应用程序要求线程安全的情况下,则必须使用StringBuffer类。

12、可变参数

JDK 1.5 开始,Java支持传递同类型的可变参数给一个方法,一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。

如,public void getStr(String …str){}//正确

public void getStr2(String …str,int a){}//错误,一个方法中可变参数只能有一个,它必须是方法的最后一个参数。

13、关于异常分类

所有的异常类是从java.lang.Exception类继承的子类。

Exception类是Throwable类的子类。除了Exception类外,Throwable还有一个子类Error 。Error用来指示运行时环境发生的错误。层次关系如图:

  • 检查性异常: 不处理编译不能通过
  • 非检查性异常:不处理编译可以通过,如果有抛出直接抛到控制台。
  • 运行时异常(RuntimeException): 继承自RuntimeException类的就是非检查性异常
  • 非运行时异常: 就是检查性异常

下面的表中列出了Java的非检查性异常(RuntimeException)。

下面的表中列出了Java定义在java.lang包中的检查性异常类。

其他

1、下面描述属于java虚拟机功能的是?

  • A、通过 ClassLoader 寻找和装载 class 文件
  • B、解释字节码成为指令并执行,提供 class 文件的运行环境
  • C、进行运行期间垃圾回收
  • D、提供与硬件交互的平台

正确答案:ABCD

2、下面有关java threadlocal说法正确的有?

  • A、ThreadLocal存放的值是线程封闭,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递
  • B、线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收
  • C、在Thread类中有一个Map,用于存储每一个线程的变量的副本。
  • D、对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式

正确答案:ABCD

ThreadLocal类用于创建一个线程本地变量
在Thread中有一个成员变量ThreadLocals,该变量的类型是ThreadLocalMap,也就是一个Map,它的键是threadLocal,值就是变量的副本,ThreadLocal为每一个使用该变量的线程都提供了一个变量值的副本,每一个线程都可以独立地改变自己的副本,是线程隔离的。通过ThreadLocal的get()方法可以获取该线程变量的本地副本,在get方法之前要先set,否则就要重写initialValue()方法。
ThreadLocal不是用来解决对象共享访问问题的,而主要是提供了保持对象的方法和避免参数传递的方便的对象访问方式。一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。

3、以下集合对象中哪几个是线程安全的?( )

  • A、ArrayList
  • B、Vector
  • C、Hashtable
  • D、Stack

正确答案:BCD

在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的。在jdk1.2之后,就出现许许多多非线程安全的类。 下面是这些线程安全的同步的类:

  • vector:比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用。在web应用中,特别是前台页面,往往效率(页面响应速度)是优先考虑的。
  • statck:堆栈类,继承了Vector
  • hashtable:比hashmap多了个线程安全
  • enumeration:枚举,相当于迭代器
  • 除了这些之外,其他的都是非线程安全的类和接口。比如常用的ArrayList、HashMap都是线程不安全的。

Java_supermanNO1

  • 每天花十分钟提升自己

推荐阅读

《Java面试宝典17章204题》

阿里java高级程序员面试题 据说凭自己能力回答对7个以上问题的同学,能得到见到神龙,并给你进入阿里巴巴的正确指引,不信来战!! 立即下载

相关推荐

Spring和SpringMVC面试问题总结(15个)

Spring和SpringMVC面试问题总结 1.Spring中AOP的应用场景、Aop原理、好处? 2.Spring中IOC的作用与原理?对象创建的过程。 3.介绍spring框架 4.Spring常见创建对象的注解? 5.Spring中用到的设计模式 6.Spring的优点? ......

当try和finally中都有return的时候,结果是什么?

先亮一道面试public static int func (){ try{ return 1; }catch (Exception e){ return 2; }finally{ return 3; } }下面函数的返回值是什么? 答案是:3这一题,一定要注意的是finally中的语句一定会执行。所以执行到finall

初步成长的程序员 2014

特征提取 Features Extraction

介绍了特征提取的基本概念,从分类变量,文本信息和图片信息中进行特征提取的方法,以及实现特征提取的类库

JasonH2021的博客 1万+

阿里java高级工程师面试100题「建议收藏」

阿里java高级工程师面试100题

小二丶的博客 846

lego-loam featureAssociation 源码注释(五)

上一次我们已经看完了特征提取,这次我们进入特征匹配的内容!!!systemInitedLM的初始值为false。

Joeybee的博客 889

C#调用Halcon程序三种方法

C#调用Halcon程序三种方法 1.halcon导出C#文件,在C#里面调用 2.在C#里面使用Halcon引擎调用Halcon程序 3.在C#里面使用Halcon引擎调用.hdev下本地函数或者.hdvp外部函数 Halcon引擎手册:C:/Program Files/MVTec/HALCON-21.11-Progress/doc_en_US/html/manuals/programmers_guide/programmers_guide_0120.html 1.导出C#(代码我只给出类,需要调用)

A541925504的博客 1万+

一篇文章让你学会Java之变量类型

变量类型位置生命周期初始化作用范围是否共享局部变量方法、构造器或代码块内部方法或代码块执行期间必须手动初始化方法或代码块内部否实例变量类中方法之外对象创建到对象销毁自动初始化整个类,通过对象访问否(每对象独立)静态变量类中方法之外,用static修饰类加载到程序结束自动初始化整个类,通过类名访问是参数变量方法或构造器参数列表中方法或构造器调用期间必须手动初始化方法或构造器内部否。

Weiki的博客 1573

从业10年的AI应用架构师:企业AI平台运营的4个核心经验,值得收藏

去年年底,我在某大型制造企业做AI咨询时,遇到了这样的场景:这不是个例。我接触过的10家企业中,有7家的AI平台都陷入了“技术自嗨”的陷阱——技术团队追求模型精度、功能完备性,却忽略了业务到底需要什么。如果你也遇到过类似问题:比如“模型准确率很高,但业务不买账”“AI项目上线后没人用”“投入产出比极低”,那么这篇文章的4个经验,可能会帮你避开这些坑。很多企业认为,AI平台就是“买一套工具+部署几个模型”。但实际上,企业AI平台的本质是“技术与业务的连接生态”:根据Gartner的报告,80%的企业AI项目失

AI 原生应用开发的博客 709

Java面经分享,阿里的10道高级Java面试题,含详细解答

1. 在一个高并发的电商系统中,购物车服务需要处理大量用户的添加商品请求。请分享你如何通过锁优化来提高该服务的性能和响应速度?请提供具体代码示例。 2. 假设你负责维护一个大型在线教育平台,该平台频繁创建短生命周期的对象导致GC频率过高。你会采取哪些措施来优化这个问题? 3. 在设计一个通用的消息队列时,如何确保消息类型的安全性和灵活性?请给出一个具体的例子说明你是如何运用泛型解决这个问题的。 4. 在一个分布式微服务架构中,如何设计异常处理机制以确保系统的稳定性和可维护性? 5. 在一次安全审计中,发现项

横竖撇折点 1403

超简单的视频换脸,效果相当不错!完全白嫖的技术,来自ComfyUI 官方客户端一键搞定!手把手教会你如何下载安装部署,而且教你如何使用。

如果你电脑上没有安装Visual Studio的C++桌面开发组件,还有Windows应用SDK C++模板,那么你需要自行去下载安装下【安装后默认界面会自动识别系统语言,当然如果你是中文繁体用户,那么你可以在 ComfyUI 的管理器里下载。】并把它放入根目录-models-insightface文件夹内 , 同时下载视频换脸工作流 【分享手把手教你视频换脸,本地部署,轻轻松松当上“电影主角”】,否则insightface无法被正常载入。) 这是换脸必备的工具 ,安装后重启;

TianLeung的博客 2857

【x264编码器】章节1——x264编码流程及基于x264的编码器demo

提供了一种方便的方式来根据指定的配置profile应用相应的设置到 x264 参数结构体上。不同的配置文件类型会对参数结构体进行不同的修改,以满足特定的编码需求。然后是编码器参数,包括帧参考数、最大关键帧间隔、最小关键帧间隔、B 帧数、场景切换阈值等。结构体的成员进行赋值,将其初始化为默认值。之后是一些编码器设置,如去块滤波、CABAC 编码、码率控制方法、参考帧压缩系数等。接下来是一系列与视频属性相关的参数,如色度格式、宽度、高度、宽高比等。然后是一些与日志输出、分析类型、量化矩阵等相关的参数。

vcvdv123的博客 5744

阿里Java研发面试题『八部曲』——从必须掌握的Hash table开始

欢迎关注专栏:Java架构技术进阶。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。 1、HashMap、HashTable、ConcurrentHashMap的区别 HashMap和HashTable都实现了Map接口,里面存放的元素不保证有序,并且不存在相同元素; 区别(线程安全和保存值是否为null方面): (1) HashMap和Has...

玩赚AI大模型的博客 111

【26美赛E题 Passive Solar Shading】2026美赛数学建模(MCM/ICM)思路解析及代码分享

本文研究了被动太阳能遮阳(PSS)策略在建筑节能中的应用,针对Sungrove大学(低纬高温)和Borealis大学(高纬寒冷)两种典型气候条件,建立了动态太阳辐射-热平衡模型。通过优化遮阳结构(外檐长度、百叶角度)、窗户布局和内部热质量分布,实现了夏季制冷负荷降低30-40%(Sungrove)和冬季采暖负荷减少15-25%(Borealis)。创新性地采用全天候动态遮阳建模方法,结合热质量优化与储能设计,提出了可适应不同气候条件的建筑节能解决方案,为未来可持续建筑设计提供了量化框架。

一键难忘的博客 949

阿里Java研发面试题『八部曲』——基础必备

欢迎关注专栏:Java架构技术进阶。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。 1、List遍历时删除的几种方式比较 1.1、会报错的删除方式: (1)在Iterator遍历时使用list删除 Iterator<String> it = list.iterator(); while(it.hasNext()){ Str...

玩赚AI大模型的博客 320

【部署】Docker部署OpenClaw及常见问题解决(win11)

给AI单独开一个隔离的小容器,AI执行所有命令、下载文件都在这个小盒子里,就算AI被诱导执行危险命令,也不会影响你Win11本机的文件和系统,是必开的安全功能。Docker容器里的OAuth回调,会尝试在你Win11本机的1455端口捕获认证信息,但容器和Win11本机的网络隔离,导致浏览器访问不到这个回调地址。「挂载」就是把你Win11本机的文件夹,共享给容器里的「虚拟小电脑」,两边都能读写文件,比如你想让AI操作你D盘里的代码文件,就需要挂载。

海兰 4698

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

阿里Java研发面试题『八部曲』——用实力提升自己

欢迎关注专栏:Java架构技术进阶。里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦。 1、String的split(String regex)方法参数注意点 使用这个方法时,当我们直接以“.”为参数时,是会出错的,如: String str = "12.03"; String[] res = str.spilt("."); //出错!!!...

玩赚AI大模型的博客 207

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

阿里Java研发面试题『八部曲』——详解多线程、锁

原文链接:阿里Java研发面试题『八部曲』——详解多线程、锁 1、实现多线程的两种方法 实现多线程有两种方法:继承Thread和实现Runnable接口。 继承Thread: 以卖票为例: public class MyThread extends Thread { private static int COUNT = 5; private int ticket = COUNT; pri...

Java_supermanNO1的博客 195

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

阿里云飞天八部弹性计算团队期待你的加入

梦想很重要,努力很重要,运气很重要。。。。。实际上平台更重要! 一、业务及平台介绍 我们承载阿里集团双十一极大的峰值计算力弹性需求! 我们服务云上互联网巨头客户所有业务高峰所需要的计算能力! 我们具备在十分钟内交付给用户一个中等体量互联网公司所需计算资源的能力! 中国公共云市场上累计销售额最高的单一产品在我们团队,我们关注所有跟云计算相关的先进技术以...

weixin_33989780的博客 689

Java高级架构师成功的秘诀:先吃透这八部天书,java分布式开发面试题

本文从基础到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明明白白,这应该是我目前为止看到过最好的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!的问题都能迎刃而解![外链图片转存中…(img-wyuu2auR-1711561429788)]

weixin_58134620的博客 428

Java高级架构师成功的秘诀:先吃透这八部天书

在这里,由于面试中MySQL问的比较多,因此也就在此以MySQL为例为大家总结分享。但是你要学习的往往不止这一点,还有一些主流框架的使用,Spring源码的学习,Mybatis源码的学习等等都是需要掌握的,我也把这些知识点都整理起来了《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!**

2401_84049001的博客 918

他写代码如入定,人称阿里“扫地僧”

看过《天龙八部》的应该知道,扫地僧是一等一的绝世高手。他常年隐居在少林寺藏经阁,日复一日地扫地,精研佛法,低调到几乎感受不到他的存在,一出手就是大手笔。 在阿里内部,为人低调的蔡景现就是近乎扫地僧般的存在。 实至名归 三周搭建淘宝网,两年市场份额飙升,为上市打下坚实基础,“扫地僧”被 “封神”。 “封神”之前的蔡景现开始广为人知,是他的名字出现在阿里上市前最后招股书中的时候。 那是2014年9月6日,阿里从港交所退市后推出“合伙人制度”转战纳斯达克IPO,在上市前夕更新最后招股书,新增了三位合伙人,其中一位

技术专家 313
上一篇: 异步化,高并发大杀器
下一篇: 阿里Java研发面试题『八部曲』——基础必备
Java_supermanNO1
博客等级 码龄7年 1170粉丝 329原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值