有关可变参数与泛型结合,泛型数组的问题。 5C

可能不应该在这种问题上死磕,但是还是想不明白:
代码来自《Effective Java》 第三版,32章
贴代码:

static <T> T[] toArray(T... args) {
    return args;
}

static <T> T[] pickTwo(T a, T b, T c) {
    switch(ThreadLocalRandom.current().nextInt(3)) {
      case 0: return toArray(a, b);
      case 1: return toArray(a, c);
      case 2: return toArray(b, c);
    }
    throw new AssertionError(); // Can't get here
}

public static void main(String[] args) {
    String[] attributes = pickTwo("Good", "Fast", "Cheap");
}

程序能够顺利通过编译,但是运行会报错。
报错原因为:pickTwo返回的类型为Objcet[]类型,因此无法强制转换为String[] 类型。

但是:

Objcet[] obj=new String[1]();
String[] str=(String[])obj;

是能正确运行的。

按照擦除和编译的语法糖,代码应该被编译成这样:

public static void main(String[] args) {
    String[] attributes = pickTwo("Good", "Fast", "Cheap");
}

static  String[] pickTwo(Object a, Object b, Object c) {
    switch(ThreadLocalRandom.current().nextInt(3)) {
      case 0: return (String[])toArray(a, b);
      case 1: return (String[])toArray(a, c);
      case 2: return (String[])toArray(b, c);
    }
    throw new AssertionError(); // Can't get here
}

static  String[] toArray(Object... args) {
    return (String[])args;
}

这也是泛型出现的意义。
可是
static <T> T[] pickTwo(T a, T b, T c) {
pickTwo明明根据传入类型告诉了编译器,需要返回T[]类型。
因此传入String类型的代码不应该就返回String[]
可是书上和运行结果确实证明了pickTwo方法确实始终返回了Objcet类型。

这是因为泛型数组的特殊性么?是在想不通,望指点

2个回答

因为java是不允许创建泛型数组的啊。。。先假设Java可以创建泛型数组,由于java泛型的类型擦除和数组的协变。下面的代码将会编译通过。

List[] stringLists=new List[1];

List intList = Arrays.asList(40);

Object[] objects = stringLists;

objects[0]=intList;

String s=stringLists[0].get(0);

 由于泛型的类型擦除,List<Integer>,List<String>与List在运行期并没有区别,所以List<String>放入List<Integer>并不会产生ArrayStoreException异常。但是String s=stringLists[0].get(0);将会抛出ClassCastException异常。如果允许创建泛型数组,就绕过了泛型的编译时的类型检查,将List<Integer>放入List<String>[],并在实际存的是Integer的对象转为String时抛出异常。

如果泛型没有限制类型。比如List s=new ArrayList[5];或者List<?>[] s=new ArrayList[5];还是可以使用的,应为没有了编译时的类型检查,需要开发者自己保证类型转换安全。
guobodaxia
zzngb 回复Citron__: 哦哦 ,你的意思是为什么返回的结果是Object类型么,因为泛型控制类型只保留在编译层,运行时会将类型擦除的,所以结果是Object类型的。
接近 2 年之前 回复
Citron__
Citron__ 回复guobodaxia: 这些我都知道,Java不允许创建一个泛型数组,也就是new T[]() ,但是声明是可以的,并且泛型数组在可变参数里面是特殊的存在。
接近 2 年之前 回复
guobodaxia
zzngb 回复Citron__: 推荐你看一下这个https://www.zhihu.com/question/20928981
接近 2 年之前 回复
Citron__
Citron__ 回复guobodaxia: 可变长参数,,内部实现是通过数组实现的,参照String.format()
接近 2 年之前 回复
guobodaxia
zzngb 回复Citron__: args不是一个数组吧,它只是一个简单的变量啊,T... args是定义可变参数的意思。。。
接近 2 年之前 回复
Citron__
Citron__ 感觉不是这样。toArray(T... args)中的args就是一个泛型数组,但是使用这个方法还是正常的,能得到正确的结果,但是这个方法在泛型方法中被调用就会出问题
接近 2 年之前 回复
 你可以把String[]想象成Array<String>,而Object[]想象成Array<Object>,虽然String是Object的派生类,但是Array<String>不是Array<Object>的派生类。
然后你可能要问,为什么Java不设计成Array<String>是Array<Object>的派生类(所谓的协变),这是出于性能的考虑。如果要这么设计,那么Java不得不放弃为了性能而使用的类型擦除机制了,因为程序需要在运行时允许做类型转换,这样整个jvm就推翻了。不过不要以为这么做不合理,C#就可以使现有条件的协变(接口),而动态语言更不在话下了。
Citron__
Citron__ 这个和我问的~~~,而且Java不是为了性能使用的擦除,是为了兼容jdk1.5之前的代码
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何使用泛型操作数组

输入1,6则把该数组前五个元素复制到另一个数组里。输入3,1把从第三个元素开始,反向复制到另一个求组里

用泛型求一个数组的平均值

java中怎么用泛型来求一个数组的平均值啊,我是新手,求大神解答

typescript中泛型声明数组

Array(object)<object>与Array(Object)<Object>的区别是什么。

java泛型数组问题

为什么我这样写老提示 不能创建泛型数组? Latte, Mocha, Cappuccino,Americano, Breve 均是Coffee的子类 [code="java"] Class<? extends Coffee>[] types = { Latte.class, Mocha.class, Cappuccino.class, Americano.class, Breve.class }; [/code]

JAVA_数组_泛型:我写了一个数组结合泛型的通用求和方法,求帮忙优化,写的太烂了

=====《求求大神帮我优化下啊,我写的太烂了》==== public static void main(String[] args) { Number[] num1 = {2, 3, 3, 4, 5}; //Integer Number[] num2 = {1.1, 2.0, 3.0, 4.0, 5.0}; //Double System.out.println(num1[0].getClass().getTypeName()); System.out.println(new ArraysTest().ArraysSum(num2)); } public static <T extends Number> T ArraysSum(T[] num) { System.out.println(num.getClass().getTypeName()); Double sum = 0.0; for (int i = 0; i < num.length; i++) { sum += num[i].doubleValue(); } if (num[0].getClass().getTypeName().equals("java.lang.Integer")){ Integer result = (int)((double)sum); return (T)result; } if (num[0].getClass().getTypeName().equals("java.lang.Double")){ Double result = sum.doubleValue(); return (T)result; } return (T)sum; } 如何结合instanceof 更加智能的判断?

java中方法参数和泛型参数有什么区别

java中方法参数和泛型参数有什么区别 方法是可以省略参数数据类型的 泛型可以省略吗

java泛型数组的一个小问题(很简单!求解!)

代码如下: ``` List<String>[] lsa = new List<String>[10]; // Not really allowed.   Object o = lsa;   Object[] oa = (Object[]) o;   List<Integer> li = new ArrayList<Integer>();   li.add(new Integer(3));   oa[1] = li; // Unsound, but passes run time store check   String s = lsa[1].get(0); // Run-time error: ClassCastException.   ``` 代码第二行到第三行怎么理解,单独理解第二行还能明白,但第三行那个强制转换具体怎么做到的?不太懂,求解释原理。。

Java里面,下面这个泛型实例化的语句,代表什么?

Vector <int [][]> vec = new Vector <int [][]> () ; 代表着往里面放一个int二维数组的地址吗? 但如果用 for(int i = 0 ; i < 4 ; i ++) { for(int j = 0 ; j < 4 ; j ++) { if(logicBoard[i][j] == 0) { vec.add(logicBoard[i][j]) ; } } } 这样的方法来给vec 增加元素是不对的,那么该如何给vec这个泛型增加这个二维数组的地址呢?

JAVA泛型的问题:急求大神。一个关于"泛型"和Object[]数组的坑

下面是我写的一个Java代码, ![图片说明](https://img-ask.csdn.net/upload/201709/12/1505209641_156806.png) 我知道24行的直接转换是不行的,因为内部数组本质是一个Object[]的数组,但是运行该程序是会报错的,报错的位置是在25行,错误信息是类型转换错误。但是26行这样的写法是没有问题的,如果将25行注释掉,程序可以正常运行。我想知道的是25和26行代码区别在哪里,为什么25行是会报错的,是编译器做了什么事情吗?我看过这个源代码编译后的class文件,25行加入了一个类型检查,但是为什么会加上类型检查?挺急的,跪求大神解答。 源代码如下: public class GenericArray<T> { private Object[] array; public GenericArray(int size) { array = new Object[size]; } public void put(int index, T item) { array[index] = item; } public T get(int index) { return (T) array[index]; } public T[] rep() { return (T[]) array; } public static void main(String[] args) { GenericArray<Integer> ga = new GenericArray<>(10); for(int i = 0; i < 10; i++) { ga.put(i, i); } for(int i = 0; i < 10; i++) { System.out.println(ga.get(i) + " "); } System.out.println(); try { System.out.println(ga.rep().toString()); System.out.println(((Object)ga.rep()).toString()); } catch(Exception e) { e.printStackTrace(); } } }

Java方法内如何获取参数的实际泛型参数?

想在注释处获取参数中泛型T的实际类型的Class对象,如何做呢? 代码如下: ``` public interface MyResultHandler<T> { public Object invoke(ResultSet rs, Class<T> clazz); } public class MyDbUtils { public static <T> Object select(String sql, MyResultHandler<T> handler, Object... objects) { ...... // 获取参数handler的泛型T的实际类型(根据下面的测试类,传入的类型为Student,也就是说这里想获取到的对象为Student.class),并将Student.class传入下面的方法中 handler.invoke(rs, T.class); ...... } } public class MyDbUtilsTest { @Test public void testSelect() { Student s = (Student) MyDbUtils.select("select * from student", new MyBeanHandler<Student>()); System.out.println(s); } } ```

Go中的可变参数泛型参数

<div class="post-text" itemprop="text"> <p>Let's say I want to make the equivalent of the <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/splice" rel="nofollow">JavaScript <code>Array.splice</code></a> function in Go, for Slices. I have the following code:</p> <pre><code>func splice(slice []int, index, amount int, elements ...int) []int { newslice := make([]int, 0) for i := 0; i &lt; index; i++ { newslice = append(newslice, slice[i]) } for i := index + amount; i &lt; len(slice); i++ { newslice = append(newslice, slice[i]) } for _, el := range elements { newslice = append(newslice, el) } return newslice } </code></pre> <p>This example will work, but only for arguments of type <code>int</code>. I want to make it generic, and I know that I should give the variadic argument <code>elements</code> the type <code>interface{}</code>, but how do I create a new slice with the type of that interface from inside the function?</p> <p>In other words, how can I specify the type of the slice dynamically depending on the type of the arguments in the first line of the function, where <code>newslice</code> is created?</p> </div>

java泛型<?>什么泛型参数

java泛型<?>什么泛型参数,是不是无视它,假如可以无视它,为什么还要写上它

Java语言从数组中删除所有和待匹配一致的的元素,要求使用泛型技术实现

Java语言从数组中删除所有和待匹配一致的的元素,要求使用泛型技术实现 Java语言从数组中删除所有和待匹配一致的的元素,要求使用泛型技术实现

java泛型问题,方法参数问题

Java泛型. 代码如下: class Info<T>{ private T var; public void setVar(T var){ this.var=var; } public T getVar(){ return this.var; } public String toString(){ return this.var.toString(); } } 下面是第一个测试程序: public class GenericsDemo6{ public static void main(String []agrs){ Info info=new Info(); info.setVar("lixinghua"); String str=(String)info.getVar(); System.out.println(info.getVar()); } } 第二个测试程序; public class GenericsDemo8{ public static void main(String []agrs){ Info<String> info=new Info<String>(); fun(info); } public static void fun(Info<Object> info){ System.out.println(info.getVar()); } } 为什么第一个测试程序可以运行,而第二个不可以?第一个测试程序没有指定泛型,则默认是Object,这里String可以向上转型为Object,而第二个程序却不可以向上转型为Object?

Java类的泛型参数能作为另外一个泛型类的参数传入吗?

最近遇到一个棘手的泛型问题,精简化后,代码如下: ``` import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; public class testMain { public static void main(String[] args) throws IllegalAccessException, InstantiationException { People people = new People(); people.doIt("I'm a student!"); } } interface Say { void say(String word); } class Student implements Say { public void print(String say) { System.out.println(say); } @Override public void say(String word) { print(word); } } interface ExecutorCallbackHandler<M, P> { void execute(M mapper, P param); } class DoSomeThing { public <M, P> void batchDo(ExecutorCallbackHandler<M, P> executorCallbackHandler, P param) throws IllegalAccessException, InstantiationException { Type[] genTypes = executorCallbackHandler.getClass().getGenericInterfaces(); Type[] params = ((ParameterizedType) genTypes[0]).getActualTypeArguments(); Class<M> mapperClass = (Class<M>) params[0]; M mapper = mapperClass.newInstance(); executorCallbackHandler.execute(mapper, param); } } class AbstractPeople<M extends Say> { private DoSomeThing doSomeThing = new DoSomeThing(); public void doIt(String param) throws InstantiationException, IllegalAccessException { doSomeThing.batchDo(new ExecutorCallbackHandler<M, String>() { @Override public void execute(M people, String param) { people.say(param); } }, param); } } class People extends AbstractPeople<Student> { } ``` 泛型参数Student,经过AbstractPeople.doIt传入DoSomeThing.batchDo,但是解析时,泛型参数M并未解析成Student,导致出现异常。 请问,是什么原因,如何解决

JAVA 可变参数+方法重载 执行结果疑问

问题: 当代码如下编写时,为何会执行参数类型为char的方法,而不会执行其他方法? 代码如下 ``` package cn.com; public class M11 { // public static void f1(byte... bytes){ // System.out.println("f1(byte)"); // } public static void f1( long... longs ){ System.out.println("f1(long)"); } public static void f1( char... chars ){ System.out.println("f1(char)"); } public static void f1( int... ints ){ System.out.println("f1(int)"); } public static void main(String[] args) { f1(); f1(); f1(); } } ``` 运行结果如下 ``` f1(char) f1(char) f1(char) ```

利用反射获取方法参数对象的泛型定义

public CommonRsp《AAARsp》 hotelCheckAvailability(CommonReq《BBBReq》 req) throws Exception; 如何通过反射获取如上方法中的参数泛型定义BBBReq?

如何在 Java 中创建泛型数组?

<div class="post-text" itemprop="text"> <p>Due to the implementation of Java generics, you can't have code like this: </p> <pre><code>public class GenSet&lt;E&gt; { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } </code></pre> <p>How can I implement this while maintaining type safety?</p> <p>I saw a solution on the Java forums that goes like this:</p> <pre><code>import java.lang.reflect.Array; class Stack&lt;T&gt; { public Stack(Class&lt;T&gt; clazz, int capacity) { array = (T[])Array.newInstance(clazz, capacity); } private final T[] array; } </code></pre> <p>But I really don't get what's going on.</p> </div> <p>转载于:https://stackoverflow.com/questions/529085/how-to-create-a-generic-array-in-java</p>

关于创建Class泛型数组

已知 [code="java"] public class B implements A(){}; public class C implements A(){}; [/code] 为什么下面的代码不能编译通过 [code="java"]Class<? super A>[] claszz = new Class<? super A>[]{ B.class, C.class };[/code] 假如不使用泛型则可以编译通过 [code="java"]Class[] claszz = new Class[]{ B.class, C.class };[/code] 求解析

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Linux 会成为主流桌面操作系统吗?

整理 |屠敏出品 | CSDN(ID:CSDNnews)2020 年 1 月 14 日,微软正式停止了 Windows 7 系统的扩展支持,这意味着服役十年的 Windows 7,属于...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

学习总结之HTML5剑指前端(建议收藏,图文并茂)

前言学习《HTML5与CSS3权威指南》这本书很不错,学完之后我颇有感触,觉得web的世界开明了许多。这本书是需要有一定基础的web前端开发工程师。这本书主要学习HTML5和css3,看...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

新一代神器STM32CubeMonitor介绍、下载、安装和使用教程

关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang最近ST官网悄悄新上线了一款比较强大的工具:STM32CubeMonitor V1.0.0。经过我研究和使用之...

记一次腾讯面试,我挂在了最熟悉不过的队列上……

腾讯后台面试,面试官问:如何自己实现队列?

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

冒泡排序动画(基于python pygame实现)

本项目效果初始截图如下 动画见本人b站投稿:https://www.bilibili.com/video/av95491382 本项目对应github地址:https://github.com/BigShuang python版本:3.6,pygame版本:1.9.3。(python版本一致应该就没什么问题) 样例gif如下 ======================= 大爽歌作,mad

Redis核心原理与应用实践

Redis核心原理与应用实践 在很多场景下都会使用Redis,但是到了深层次的时候就了解的不是那么深刻,以至于在面试的时候经常会遇到卡壳的现象,学习知识要做到系统和深入,不要把Redis想象的过于复杂,和Mysql一样,是个读取数据的软件。 有一个理解是Redis是key value缓存服务器,更多的优点在于对value的操作更加丰富。 安装 yum install redis #yum安装 b...

现代的 “Hello, World”,可不仅仅是几行代码而已

作者 |Charles R. Martin译者 | 弯月,责编 | 夕颜头图 |付费下载自视觉中国出品 | CSDN(ID:CSDNnews)新手...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

!大部分程序员只会写3年代码

如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写 3 年代码,恐怕就没有程序员这种职业。

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

立即提问
相关内容推荐