sts编译慢
1. 求:java程序员面试题
Java
1. 关于Java的描述哪一个是错误的()
A. Java是一种解释性语言
B. B.Java是想对象的语言
C .Java通过不同硬件平台安装同一个JVM实现来实现的可移植性
D.Java可以通过API通用编译语言(如C或C++)编写的函数。
2.哪个不是Java关键字()
A.sizeof B.void C.const D. super
3. 哪个不是Java基本数据类型()
A.short B.Boolean C int D long
4.哪个方法名称满足JavaBean命名规范()
A. addData B deleItems C.getName D hasSetTitle
5.关于JVM,错误的是()
A.运行时要装载PC寄存器,堆,栈,方法区,运行时常量池等数据区。
B.类的装载有ClassLoader和它的子类来实现的。
C.Java启动,会生成JVM的一个实例。程序运行结束后该实例消失。
D.通过JDK提供的java指令可以让JVM直接执行.java文件。
6.下列哪些生命非法()
A.short x[] B. int[] a[][] C. long[] z D int y[]
7.执行Example.java正确的结果是()
public class Example{
public static void main(String number[]){
for(int i=1;i<number.length;i++)
{
System.out.printLn(number[i]+””);
}
}
}
Java Example 1 2 34 5<CR>
A. 1 2 3 B. 2 34 5 C. 2 34 D. 1 2 34 5 E.都不是
8.说出下列编译结果( )
Example .java
public class Example{
static int intArray[]=new int[15];
public ststaic void main(String args[]){
System.out.println(intArray[5]);
}
}
A.编译错误 B。运行时错误 C. 成功编译,输出为null D.成功编译,输出为0
9.说出下列编译结果( )
Example .java
public class Example{
public ststaic void main(String args[])
{
String s=new String[6];
printString(s[0]);
}
public void printString (String str)
{
System.out.println(str);
}
}
A.编译错误 B。运行时错误 C. 成功编译,输出为null D.成功编译,输出为0
10.说出下列编译结果( )
public class Example{
public ststaic void main(String args[])
{ string $=””;
for(int x=0;++x<args.length;){$+=args[x];}
System.out.println($);
}
}
输入java Example -A B<CR>
A. AB B.-AB C. B D.编译错误
11.下列关于垃圾回收正确的是()
A.开发者必须创建一个线程进行释放
B.垃圾收集将检查并释放不再使用的内存
C.垃圾收集允许程序开发者明确制定并立即释放该内存
D.垃圾回收能在期望时间释放被Java对象使用的内存
12.说出下列结果( )
public class NumberOperation{
public ststaic void main(String args[])
{
int var1=10;
int var2=20;
System.out.println(var1++ + var2++ +””+ ++var2);
}
}
A.10 20 B. 54 C. 30 22 D 11 21 22 E.编译错误
13.说出下列结果( )
public class DivisionTest{
public ststaic void main(String args[])
{
byte varA=-64;
byte varB=-4;
System.out.println(varA/varB+””+varA%varB);
}
}
A. 10 -4 B. 10 4 C 16 4 D 16 -4 E.编译错误
14. 说出下列运行结果( )
public class LogicOperation{
public ststaic void main(String args[])
{
boolean b1=true;
boolean b2=false;
boolean b3=true;
if((b1&b2)|(b2&b3)&b3)
{
System.out.println(“alpha”);
}
if((b1=false)|(b1&b3)|(b1|b2))
{
System.out.println(“beta”);
}
}
}
A.beta B. alpha C. alpha beta D 没有任何输出 E.编译错误
15.经过下面位移运算后,y值()
Int x=-32;
Int y>>>2;
A -4 B -8 C -16 D 以上都不是
16.哪些关键字用来对对象的枷锁,该标记使得对对象的访问是排他的()
A.transient B. serialize C synchronized D static
17.哪个修饰符不能添加在构造函数前面()
A.final B. protected C public D.private
18.数据类型转换下列是错误的是()
A.布尔类型和其他基本类型不能相互转换
B.字符型(char)可转换双精度(double)
C.从取值范围宽的类型向取值范围窄的类型转换时不会发生编译错误 ,但运行时数据会溢出。
D.基本类型的转换在赋值,方法调用或算术运算时都会发生且由系统自动完成。
19.经过强转换向,a,b为()
Short a=128;
byte b=(byte)a;
A.128 127 B. 128 -128 C -128 128 D 编译错误
20.说出下列运行结果( )
public class Example{
public ststaic void main(String args[])
{ int i=1;
int j=2;
if(j=i++)
{
System.out.println(i+”,”+j);
}else{
System.out.println(j+”,”+i);
}
}
}
A. 1,2 B.2,1 C. 2,3 D.2,2
21.关于继承哪个正确( )
A.再java中只允许单一继承
B.在java中以各类只能实现一个接口。
C.在java中不能同时继承一个类和一个接口
D.Java种类都可以继承并进行扩展。
简答题:
1. MVC中的M,V,C 分别指的是什么?
2. 常用的5个java设计模式
3. final,finally,fianalize有什么区别?
2. Web直传阿里云OSS服务端临签名总结 2021-01-28
最近公司有新的需求,需要将文件上传到阿里云OSS,目前项目中的文件主要是存储到自己的服务器,这样很容易受服务器带宽、硬件的影响,加上服务器配置不高,应用服务很容易垮掉。之前也用过OSS,但是上传文件都是比较小的10MB以内的文件,采用的是生成数据流的方式。这种情况已经无法满足现在的应用场景,就又熟悉了一下SDK文档,主要的实现方式有:
1、 上传慢。先上传到应用服务器,再上传到OSS,网络传送多了一倍。如果数据直传到OSS,不走应用服务器,速度将大大提升,而且OSS是采用BGP带宽,能保证各地各运营商的速度。
2、 扩展性不好。如果后续用户多了,应用服务器会成为瓶颈。
3、 费用高。由于OSS上传流量是免费的。如果数据直传到OSS,不走应用服务器,那么将能省下几台应用服务器。
https://help.aliyun.com/document_detail/32122.html
采用JavaScript客户端直接签名(参见 JavaScript客户端签名直传 )时,AccessKey ID和AcessKey Secret会暴露在前端页面,因此存在严重的安全隐患。因此,OSS提供了服务端签名后直传的方案。
流程如下图所示:
本示例中,Web端向服务端请求签名,然后直接上传,不会对服务端产生压力,而且安全可靠。但本示例中的服务端无法实时了解用户上传了多少文件,上传了什么文件。如果想实时了解用户上传了什么文件,可以采用 服务端签名直传并设置上传回调 。
OSS 可以通过阿里云 STS (Security Token Service) 进行临时授权访问。阿里云 STS 是为云计算用户提供临时访问令牌的Web服务。通过 STS,您可以为第三方应用或子用户(即用户身份由您自己管理的用户)颁发一个自定义时效和权限的访问凭证。
STS 安全令牌、角色管理和使用相关内容详情,请参考 RAM 角色管理 。调用 STS 服务接口 AssumeRole 来获取有效访问凭证即可。
前端调用,请根据自身情况进行调用,下面是vue的示例
我们在项目中最终采用的是STS临时授权方案。
STS的优势如下:
关于STS的介绍请查阅阿里云官方文档:
https://help.aliyun.com/document_detail/32093.html?spm=a2c4g.11186623.6.1409.13107d9ckOKzS6
在这边不得不吐槽一下OSS的API,是真的很烂,基本找不到好的方法,都是基于网络才做出来的,当然,我使用的方法估计还有一些坑,只是能实现了我的功能。
STS临时授权访问OSS
https://help.aliyun.com/document_detail/100624.html?spm=a2c4g.11186623.2.5.600c6d13A0lSIR
vue直传OSS
https://blog.csdn.net/qq_33270001/article/details/88999189
el-upload组件结合上传阿里云OSS实现更优交互
https://blog.csdn.net/fifteen718/article/details/85259438
Web直传OSS
https://blog.csdn.net/weixin_33907511/article/details/91479830
OSS文件上传(页面直传)
https://blog.csdn.net/linlin_0904/article/details/84583676
请问STS和签名带Policy的差别
https://developer.aliyun.com/ask/205943?spm=a2c6h.13524658
STS临时授权访问OSS
https://www.cnblogs.com/ggband/p/10218851.html
vue+element+sts临时授权上传大文件到阿里云OSS时踩过的坑。
https://blog.csdn.net/aiguo94/article/details/111832776
Vue上传阿里云OSS(STS方式)
https://blog.csdn.net/qq_35775675/article/details/92797782